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 条
  • [41] Special issue: Message passing interface-based parallel programming with Java']Java
    Baker, M
    CONCURRENCY-PRACTICE AND EXPERIENCE, 2000, 12 (11): : 1017 - 1018
  • [42] Java']Java-based parallel skeleton model for concurrent programming on multicore platform
    Wu, Huabei
    Sun, Jizhou
    Yu, Ce
    Xu, Guangquan
    2008 PROCEEDINGS OF INFORMATION TECHNOLOGY AND ENVIRONMENTAL SYSTEM SCIENCES: ITESS 2008, VOL 4, 2008, : 362 - 365
  • [43] Parallel Differential Evolution in the PGAS Programming Model Implemented with PCJ Java']Java Library
    Gorski, Lukasz
    Rakowski, Franciszek
    Bala, Piotr
    PARALLEL PROCESSING AND APPLIED MATHEMATICS, PPAM 2015, PT I, 2016, 9573 : 448 - 458
  • [44] Multiparty Session Typing in Java']Java, Deductively
    Bouma, Jelle
    de Gouw, Stijn
    Jongmans, Sung-Shik
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PT II, TACAS 2023, 2023, 13994 : 19 - 27
  • [45] Java']Java is type safe - Probably
    Drossopoulou, S
    Eisenbach, S
    ECOOP'97: OBJECT-ORIENTED PROGRAMMING, 1997, 1241 : 389 - 418
  • [46] Safe structural conformance for Java']Java
    Läufer, K
    Baumgartner, G
    Russo, VF
    COMPUTER JOURNAL, 2000, 43 (06): : 469 - 481
  • [47] Safe uniform proxies for Java']Java
    Eugster, Patrick
    SCIENCE OF COMPUTER PROGRAMMING, 2013, 78 (09) : 1490 - 1520
  • [48] Safe instantiation in Generic Java']Java
    Allen, EE
    Cartwright, R
    SCIENCE OF COMPUTER PROGRAMMING, 2006, 59 (1-2) : 26 - 37
  • [49] PROGRAMMING OF INTELLIGENT AGENTS WITH JAVA']JAVA
    Deus, Walison Jose de
    CADERNOS EDUCACAO TECNOLOGIA E SOCIEDADE, 2010, 2 (01): : 165 - 166
  • [50] Java']Java programming for spatial sciences
    Evans, A
    INTERNATIONAL JOURNAL OF GEOGRAPHICAL INFORMATION SCIENCE, 2003, 17 (06) : 596 - 597