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 条
  • [31] OpenGL programming in Java']Java
    Xu, ZG
    Yon, YS
    Chen, JX
    COMPUTING IN SCIENCE & ENGINEERING, 2005, 7 (01) : 51 - 55
  • [32] Functional programming in java']java
    Zander, M
    DR DOBBS JOURNAL, 2005, 30 (11): : 60 - 63
  • [33] Keyword programming in Java']Java
    Little, Greg
    Miller, Robert C.
    AUTOMATED SOFTWARE ENGINEERING, 2009, 16 (01) : 37 - 71
  • [34] HPJava']Java: A data parallel programming alternative
    Carpenter, B
    Fox, G
    COMPUTING IN SCIENCE & ENGINEERING, 2003, 5 (03) : 60 - 64
  • [35] Structured programming in Java']Java
    Gibbons, J
    ACM SIGPLAN NOTICES, 1998, 33 (04) : 40 - 43
  • [36] Systems programming in Java']Java
    Ritchie, S
    IEEE MICRO, 1997, 17 (03) : 30 - 35
  • [37] The Java']Java programming language
    Andrews, C
    TECHNICAL COMMUNICATION, 2000, 47 (03) : 427 - 429
  • [38] Better Java']Java programming
    Wayner, P
    BYTE, 1996, 21 (09): : 63 - 64
  • [39] Elucidative Programming in Java']Java
    Normark, K
    Andersen, M
    Christensen, C
    Kumar, V
    Staun-Pedersen, S
    Sorensen, K
    IEEE PROFESSIONAL COMMUNICATION SOCIETY INTERNATIONAL PROFESSIONAL COMMUNICATION CONFERENCE AND ACM SPECIAL INTEREST GROUP ON DOCUMENTATION CONFERENCE, 2000, : 483 - 495
  • [40] The Java']Java programming language
    Steele, GL
    IEEE EXPERT-INTELLIGENT SYSTEMS & THEIR APPLICATIONS, 1996, 11 (01): : 15 - 16