π-calculus, Session Types research at Imperial College
This paper introduces a new programming framework based on the theory of session types for safe, reconfigurable parallel designs.
We apply the session type theory to C and Java programming languages and demonstrate that the 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.
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.
@article{NYNTL2012, author = {Nicholas Ng and Nobuko Yoshida and Xinyu Niu and Kuen Hung Tsoi and Wayne Luk}, title = {{Session Types: Towards safe and fast reconfigurable programming}}, journal = {SIGARCH CAN}, volume = {40}, issue = {5}, pages = {22--27}, publisher = {ACM}, year = 2012 }
@article{NYNTL2012, author = {Nicholas Ng and Nobuko Yoshida and Xinyu Niu and Kuen Hung Tsoi and Wayne Luk}, title = {{Session Types: Towards safe and fast reconfigurable programming}}, journal = {ACM SIGARCH Computer Architecture News}, volume = {40}, issue = {5}, pages = {22--27}, publisher = {ACM}, doi = "10.1145/2460216.2460221", year = 2012 }