Nicholas Ng

Session Types: Towards safe and fast reconfigurable programming

3rd International Workshop on Highly-Efficient Accelerators and Reconfigurable Technologies/ACM SIGARCH Computer Architecture News (HEART 2012/ACM SIGARCH CAN Vol. 40 Iss. 5)


This paper introduces a new programming framework based on the theory of session types for safe, recongurable parallel designs.

We apply the session type theory to C and Java programming languages and demonstrate that the sessionbased 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.

Many representative communication topologies such as a ring or scatter-gather can be programmed and verified in session-based programming languages. Case studies involving N-body simulation and K-means clustering are used to illustrate the session-based programming style and to demonstrate that the session-based languages perform competitively against MPI counterparts in an FPGA-based heterogeneous cluster, as well as the potential of integrating them with FPGA acceleration.

Also in ACM SIGARCH Computer Architecture News (CAN) Volume 40 Issue 5

Published version via DOI | Paper | Slides | www