Krivine nets: A semantic foundation for distributed execution

Olle Fredriksson, Dan R. Ghica

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    1 Citation (Scopus)

    Abstract

    We define a new approach to compilation to distributed architectures based on networks of abstract machines. Using it we can implement a generalised and fully transparent form of Remote Procedure Call that supports calling higher-order functions across node boundaries, without sending actual code. Our starting point is the classic Krivine machine, which implements reduction for untyped call-by-name PCF. We successively add the features that we need for distributed execution and show the correctness of each addition. Then we construct a two-level operational semantics, where the high level is a network of communicating machines, and the low level is given by local machine transitions. Using these networks, we arrive at our final system, the Krivine Net. We show that Krivine Nets give a correct distributed implementation of the Krivine machine, which preserves both termination and non-termination properties. All the technical results have been formalised and proved correct in Agda. We also implement a prototype compiler which we compare with previous distributing compilers based on Girard's Geometry of Interaction and on Game Semantics.

    Original languageEnglish
    Title of host publicationProceedings of the ACM SIGPLAN International Conference on Functional Programming, ICFP 2014
    PublisherAssociation for Computing Machinery
    Pages349-361
    Number of pages13
    ISBN (Print)9781450328739
    DOIs
    Publication statusPublished - 1 Sept 2014
    Event19th ACM SIGPLAN International Conference on Functional Programming, ICFP 2014 - Gothenburg, Sweden
    Duration: 1 Sept 20143 Sept 2014

    Conference

    Conference19th ACM SIGPLAN International Conference on Functional Programming, ICFP 2014
    Country/TerritorySweden
    CityGothenburg
    Period1/09/143/09/14

    Keywords

    • abstract machines
    • agda
    • distributed execution
    • simulation relation

    ASJC Scopus subject areas

    • Software

    Fingerprint

    Dive into the research topics of 'Krivine nets: A semantic foundation for distributed execution'. Together they form a unique fingerprint.

    Cite this