Efficient Session Type Guided Distributed Interaction

  • K. C. Sivaramakrishnan
  • Karthik Nagaraj
  • Lukasz Ziarek
  • Patrick Eugster
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6116)

Abstract

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.

References

  1. 1.
    Appel, A.W.: Compiling with Continuations. Cambridge University Press, Cambridge (2007)Google Scholar
  2. 2.
    Bejleri, A., Yoshida, N.: Synchronous Multiparty Session Types. Electron. Notes Theor. Comput. Sci. 241, 3–33 (2009)CrossRefGoogle Scholar
  3. 3.
    Bonelli, E., Compagnoni, A.: Multisession Session Types for a Distributed Calculus. In: Barthe, G., Fournet, C. (eds.) TGC 2007 and FODO 2008. LNCS, vol. 4912, pp. 38–57. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  4. 4.
    Dezani-ciancaglini, M., Yoshida, N.: Asynchronous Session Types and Progress for Object-oriented Languages. In: Bonsangue, M.M., Johnsen, E.B. (eds.) FMOODS 2007. LNCS, vol. 4468, pp. 1–31. Springer, Heidelberg (2007)Google Scholar
  5. 5.
    Fähndrich, M., Aiken, M., Hawblitzel, C., Hodson, O., Hunt, G., Larus, J.R., Levi, S.: Language Support for Fast and Reliable Message-based Communication in Singularity OS. In: EuroSys 2006, pp. 177–190 (2006)Google Scholar
  6. 6.
    Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley, Reading (2002)Google Scholar
  7. 7.
    Gay, S., Vasconcelos, V., Ravara, A.: Session Types for Inter-process Communication. Tech. rep., University of Glasgow (2003)Google Scholar
  8. 8.
    Gay, S., Vasconcelos, V., Ravara, A., Gesbert, N., Caldeira, A.: Modular Session Types for Distributed Object-oriented Programming. In: POPL 2010 (2010)Google Scholar
  9. 9.
    Honda, K., Vasconcelos, V.T., Kubo, M.: Language Primitives and Type Discipline for Structured Communication-Based Programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  10. 10.
    Honda, K., Yoshida, N., Carbone, M.: Multiparty Asynchronous Session Types. In: POPL 2008, pp. 273–284 (2008)Google Scholar
  11. 11.
    Hu, R., Yoshida, N., Honda, K.: Session-Based Distributed Programming in Java. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 516–541. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  12. 12.
    Ibrahim, A., Jiao, Y., Tilevich, E., Cook, W.R.: Remote Batch Invocation for Compositional Object Services. In: Drossopoulou, S. (ed.) ECOOP 2009. LNCS, vol. 5653, pp. 595–617. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  13. 13.
    Song, Y.J., Aguilera, M.K., Kotla, R., Malkhi, D.: Rpc Chains: Efficient Client-Server Communication in Geodistributed Systems. In: NSDI 2009, pp. 17–30 (2009)Google Scholar
  14. 14.
    Takeuchi, K., Honda, K., Kubo, M.: An Interaction-based Language and its Typing System. In: Halatsis, C., Philokyprou, G., Maritsas, D., Theodoridis, S. (eds.) PARLE 1994. LNCS, vol. 817, pp. 398–413. Springer, Heidelberg (1994)Google Scholar
  15. 15.
    Vallecillo, A., Vasconcelos, V.T., Ravara, A.: Typing the behavior of Software Components using Session Types. Fundam. Inf. 73(4), 583–598 (2006)MATHMathSciNetGoogle Scholar
  16. 16.
    White, B., Lepreau, J., Stoller, L., Ricci, R., Guruprasad, S., Newbold, M., Hibler, M., Barb, C., Joglekar, A.: An Integrated Experimental Environment for Distributed Systems and Networks. In: NSDI 2002, pp. 255–270 (2002)Google Scholar
  17. 17.
    Yeung, K.C., Kelly, P.H.J.: Optimising Java RMI Programs by Communication Restructuring. In: Endler, M., Schmidt, D.C. (eds.) Middleware 2003. LNCS, vol. 2672, pp. 324–343. Springer, Heidelberg (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • K. C. Sivaramakrishnan
    • 1
  • Karthik Nagaraj
    • 1
  • Lukasz Ziarek
    • 1
  • Patrick Eugster
    • 1
  1. 1.Purdue UniversityWest LafayetteUSA

Personalised recommendations