This paper introduces a programming framework based on the theory of session types for safe and scalable parallel designs. Session-based languages can offer a clear and tractable framework to describe communications between parallel components and guarantee communication-safety and deadlock-freedom by compile-time type checking and parallel MPI code generation. Many representative communication topologies such as ring or scatter-gather can be programmed and verified in session-based programming languages. We use a case study involving N-body simulation, dense and sparse matrix multiplication to illustrate the session-based programming style. Finally, we outline a proposal to integrate session programming with heterogeneous systems for efficient and communication-safe parallel applications by a combination of code generation and type checking. © 2014 Springer International Publishing.
CITATION STYLE
Ng, N., Yoshida, N., & Luk, W. (2014). Scalable session programming for heterogeneous high-performance systems. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 8368 LNCS, pp. 82–98). Springer Verlag. https://doi.org/10.1007/978-3-319-05032-4_7
Mendeley helps you to discover research relevant for your work.