Title
Multiparty session c: safe parallel programming with message optimisation
Abstract
This paper presents a new efficient programming toolchain for message-passing parallel algorithms which can fully ensure, for any typable programs and for any execution path, deadlock-freedom, communication safety and global progress through a static checking. The methodology is embodied as a multiparty session-based programming environment for C and its runtime libraries, which we call Session C. Programming starts from specifying a global protocol for a target parallel algorithm, using a protocol description language. From this global protocol, the projection algorithm generates endpoint protocols, based on which each endpoint C program is designed and implemented with a small number of concise session primitives. The endpoint protocol can further be refined to a more optimised protocol through subtyping for asynchronous communication, preserving original safety guarantees. The underlying theory can ensure that the complexity of the toolchain stays in polynomial time against the size of programs. We apply this framework to representative parallel algorithms with complex communication topologies. The benchmark results show that Session C performs competitively against MPI.
Year
DOI
Venue
2012
10.1007/978-3-642-30561-0_15
TOOLS (50)
Keywords
Field
DocType
endpoint c program,multiparty session,complex communication topology,communication safety,endpoint protocol,asynchronous communication,safe parallel programming,optimised protocol,protocol description language,session c,global progress,message optimisation,global protocol
Asynchronous communication,Dykstra's projection algorithm,Computer science,Parallel algorithm,Network topology,Runtime library,Time complexity,Subtyping,Toolchain,Distributed computing
Conference
Volume
ISSN
Citations 
7304
0302-9743
32
PageRank 
References 
Authors
1.12
18
3
Name
Order
Citations
PageRank
Nicholas Ng115610.76
Nobuko Yoshida22607153.29
Kohei Honda369829.60