Efficient Session Type Guided Distributed Interaction

Recently, there has been much interest in multi-party session types (MPSTs) as a means of rigorously specifying protocols for interaction among multiple distributed participants. By capturing distributed interaction as series of typed interactions, MPSTs allow for the static verification of compliance of corresponding distributed object programs. We observe that explicit control flow information manifested by MPST opens intriguing avenues also for performance enhancements. In this paper, we present a session type assisted performance enhancement framework for distributed object interaction in Java. Experimental evaluation within our distributed runtime infrastructure illustrates the costs and benefits of our composable enhancement strategies.

[1]  António Ravara,et al.  Session Types for Inter-Process Communication , 2003 .

[2]  William R. Cook,et al.  Remote Batch Invocation for Compositional Object Services , 2009, ECOOP.

[3]  Andrew W. Appel,et al.  Compiling with Continuations , 1991 .

[4]  Mike Hibler,et al.  An integrated experimental environment for distributed systems and networks , 2002, OSDI '02.

[5]  Nobuko Yoshida,et al.  Session-Based Distributed Programming in Java , 2008, ECOOP.

[6]  António Ravara,et al.  Modular session types for distributed object-oriented programming , 2010, POPL '10.

[7]  Eduardo Bonelli,et al.  Multipoint Session Types for a Distributed Calculus , 2007, TGC.

[8]  Antonio Vallecillo,et al.  Typing the Behavior of Software Components using Session Types , 2006, Fundam. Informaticae.

[9]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[10]  James R. Larus,et al.  Language support for fast and reliable message-based communication in singularity OS , 2006, EuroSys.

[11]  Nobuko Yoshida,et al.  Synchronous Multiparty Session Types , 2009, Electron. Notes Theor. Comput. Sci..

[12]  Paul H. J. Kelly,et al.  Optimising Java RMI Programs by Communication Restructuring , 2003, Middleware.

[13]  Kohei Honda,et al.  An Interaction-based Language and its Typing System , 1994, PARLE.

[14]  Mariangiola Dezani-Ciancaglini,et al.  Asynchronous Session Types and Progress for Object Oriented Languages , 2007, FMOODS.

[15]  Vasco Thudichum Vasconcelos,et al.  Language Primitives and Type Discipline for Structured Communication-Based Programming Revisited: Two Systems for Higher-Order Session Communication , 1998, SecReT@ICALP.

[16]  Marcos K. Aguilera,et al.  RPC Chains: Efficient Client-Server Communication in Geodistributed Systems , 2009, NSDI.