Abstract
In this paper we present a seamless approach to writing and compiling distributed code. By “seamless” we mean that the syntax and semantics of the distributed program remain the same as if it was executed on one node only, except for label annotations indicating on what node sub-terms of the program are to be executed. There are no restrictions on how node labels are to be assigned to sub-terms. We show how the paradigmatic (higher-order functional recursive) programming language PCF, extended with node annotations, can be used for this purpose. The compilation technique is directly inspired by game semantics and the Geometry of Interaction.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Armstrong, J.: A history of Erlang. In: HOPL III: Proceedings of the Third ACM SIGPLAN Conference on History of Programming Languages, pp. 6–1–6–26. ACM, New York (2007)
Berry, G., Boudol, G.: The chemical abstract machine. Theor. Comput. Sci. 96(1), 217–248 (1992)
Carzaniga, A., Picco, G.P., Vigna, G.: Designing distributed applications with mobile code paradigms. In: Adrion, W.R., Fuggetta, A., Taylor, R.N., Wasserman, A.I. (eds.) ICSE, pp. 22–32. ACM (1997)
Epstein, J., Black, A.P., Jones, S.L.P.: Towards Haskell in the cloud. In: Claessen, K. (ed.) Haskell, pp. 118–129. ACM (2011)
Ghica, D.R.: Geometry of Synthesis: a structured approach to VLSI design. In: Hofmann, M., Felleisen, M. (eds.) POPL, pp. 363–375. ACM (2007)
Ghica, D.R.: Applications of game semantics: From program analysis to hardware synthesis. In: LICS, pp. 17–26. IEEE Computer Society (2009)
Ghica, D.R.: Function interface models for hardware compilation. In: 2011 9th IEEE/ACM International Conference on Formal Methods and Models for Codesign (MEMOCODE), pp. 131–142. IEEE (2011)
Girard, J.: Geometry of interaction 1: Interpretation of system F. Studies in Logic and the Foundations of Mathematics 127, 221–260 (1989)
Hoshino, N.: A modified GoI interpretation for a linear functional programming language and its adequacy. In: Hofmann, M. (ed.) FOSSACS 2011. LNCS, vol. 6604, pp. 320–334. Springer, Heidelberg (2011)
Mackie, I.: The geometry of interaction machine. In: POPL, pp. 198–208 (1995)
Milner, R.: Functions as processes. In: Paterson, M. (ed.) ICALP 1990. LNCS, vol. 443, pp. 167–180. Springer, Heidelberg (1990)
Pierce, B.C., Turner, D.N.: Pict: A programming language based on the pi-calculus. In: Plotkin, G., Stirling, C., Tofte, M. (eds.) Proof, Language and Interaction: Essays in Honour of Robin Milner, pp. 455–494. MIT Press (2000)
Plotkin, G.D.: LCF considered as a programming language. Theor. Comput. Sci. 5(3), 223–255 (1977)
Sewell, P., Wojciechowski, P.T., Unyapoth, A.: Nomadic Pict: Programming languages, communication infrastructure overlays, and semantics for mobile computation. ACM Trans. Program. Lang. Syst. 32(4) (2010)
Snir, M., Otto, S., Huss-Lederman, S., Walker, D., Dongarra, J.: MPI-The Complete Reference, 2nd (revised) edn. The MPI Core, vol. 1. MIT Press, Cambridge (1998)
White, A.M.: A high-level framework for network-based resource sharing. Augmentation Research Centre, RFC 707 (1975)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fredriksson, O., Ghica, D.R. (2013). Seamless Distributed Computing from the Geometry of Interaction. In: Palamidessi, C., Ryan, M.D. (eds) Trustworthy Global Computing. TGC 2012. Lecture Notes in Computer Science, vol 8191. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41157-1_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-41157-1_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-41156-4
Online ISBN: 978-3-642-41157-1
eBook Packages: Computer ScienceComputer Science (R0)