Safe Parallel Programming with Session Java']Java

被引:0
|
作者
Ng, Nicholas [1 ]
Yoshida, Nobuko [1 ]
Pernet, Olivier [1 ]
Hu, Raymond [1 ]
Kryftis, Yiannos [2 ]
机构
[1] Imperial Coll London, London, England
[2] Natl Tech Univ Athens, GR-10682 Athens, Greece
基金
英国工程与自然科学研究理事会;
关键词
LANGUAGE PRIMITIVES; DISCIPLINE;
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The session-typed programming language Session Java (SJ) has proved to be an effective tool for distributed programming, promoting structured programming for communications and compile-time safety. This paper investigates the use of SJ for session-typed parallel programming, and introduces new language primitives for chained iteration and multi-channel communication. These primitives allow the efficient coordination of parallel computation across multiple processes, thus enabling SJ to express the complex communication topologies often used by parallel algorithms. We demonstrate that the new primitives yield clearer and safer code for pipeline, ring and mesh topologies through implementations of representative parallel algorithms. We then present a semantics and session typing system including the new primitives, and prove type soundness and deadlock-freedom for our implementations. The benchmark results show that the new SJ is substantially faster than the original SJ and performs competitively against MPJ Express(1) used as reference.
引用
收藏
页码:110 / 126
页数:17
相关论文
共 50 条
  • [1] A framework for parallel programming in Java']Java
    Launay, P
    Pazat, JL
    HIGH-PERFORMANCE COMPUTING AND NETWORKING, 1998, 1401 : 628 - 637
  • [2] Session-based distributed programming in Java']Java
    Hu, Raymond
    Yoshida, Nobuko
    Honda, Kohei
    ECOOP 2008 - OBJECT-ORIENTED PROGRAMMING, PROCEEDINGS, 2008, 5142 : 516 - +
  • [3] Teaching Parallel Programming with Java']Java and Pyjama
    Kurniawati, Ruth
    PROCEEDINGS OF THE 53RD ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION (SIGCSE 2022), VOL 2, 2022, : 1109 - 1109
  • [4] Parallel programming with Easy Java']Java Simulations
    Esquembre, F.
    Christian, W.
    Belloni, M.
    AMERICAN JOURNAL OF PHYSICS, 2018, 86 (01) : 54 - 67
  • [5] Efficient Java']Java RMI for parallel programming
    Maassen, J
    Van Nieuwpoort, R
    Veldema, R
    Bal, H
    Kielmann, T
    Jacobs, C
    Hofman, R
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2001, 23 (06): : 747 - 775
  • [6] Easing parallel programming for clusters with Java']Java
    Launay, P
    Pazat, JL
    FUTURE GENERATION COMPUTER SYSTEMS, 2001, 18 (02) : 253 - 263
  • [7] Teaching Parallel Programming Using Java']Java
    Shafi, Aamir
    Akhtar, Aleem
    Javed, Ansar
    Carpenter, Bryan
    2014 WORKSHOP ON EDUCATION FOR HIGH PERFORMANCE COMPUTING (EDUHPC), 2014, : 56 - 63
  • [8] Scriptic: Parallel programming in extended Java']Java
    vanDelft, A
    PARALLEL PROGRAMMING AND JAVA, 1997, 50 : 17 - 33
  • [9] An Approach to Concurrent/Parallel Programming in Java']Java
    Cicirelli, Franco
    Nigro, Christian
    Nigro, Libero
    2015 IEEE 13th International Scientific Conference on Informatics, 2015, : 61 - 66
  • [10] @PT: Unobtrusive parallel programming with Java']Java annotations
    Mehrabi, Mostafa
    Giacaman, Nasser
    Sinnen, Oliver
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2019, 31 (01):