Title
Safe parallel programming with session Java
Abstract
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.
Year
DOI
Venue
2011
10.1007/978-3-642-21464-6_8
COORDINATION
Keywords
Field
DocType
parallel algorithm,session java,safe parallel programming,enabling sj,new primitive,new sj,session-typed parallel programming,parallel computation,new language primitive,representative parallel algorithm,session-typed programming language session,original sj
Programming language,Computer science,Implementation,Theoretical computer science,Structured programming,Soundness,Distributed computing,Parallel algorithm,Parallel computing,SAFER,Network topology,Java,Semantics
Conference
Volume
ISSN
Citations 
6721
0302-9743
15
PageRank 
References 
Authors
0.72
20
5
Name
Order
Citations
PageRank
Nicholas Ng115610.76
Nobuko Yoshida22607153.29
Olivier Pernet3482.28
Raymond Hu421914.01
Yiannos Kryftis5150.72