TY - GEN
T1 - Safe parallel programming with session Java
AU - Ng, Nicholas
AU - Yoshida, Nobuko
AU - Pernet, Olivier
AU - Hu, Raymond
AU - Kryftis, Yiannos
PY - 2011/7/4
Y1 - 2011/7/4
N2 - 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 used as reference.
AB - 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 used as reference.
UR - http://www.scopus.com/inward/record.url?scp=79959760403&partnerID=8YFLogxK
U2 - 10.1007/978-3-642-21464-6_8
DO - 10.1007/978-3-642-21464-6_8
M3 - Conference contribution
AN - SCOPUS:79959760403
SN - 9783642214639
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 110
EP - 126
BT - Coordination Models and Languages - 13th International Conference, COORDINATION 2011, Proceedings
T2 - 13th International Conference on Coordination Models and Languages, COORDINATION 2011
Y2 - 6 June 2011 through 9 June 2011
ER -