Title
Parallel computing with the Pi-calculus
Abstract
To tackle the multi-core programming challenge, we investigate the design and implementation of concurrency-oriented programming languages. Our approach mimics the evolution from lambda-calculi to functional programming languages, but with the pi-calculus as a starting point. To fill the gap between the abstract calculus and its implementations, we introduce the pi-threads: an intermediate language and its abstract machine.The stackless architecture of the abstract machine makes the underlying algorithms both simple and naturally concurrent. The scheduling, for instance, can be operated in a completely decentralized way. Another remarkable feature of the abstract machine is its garbage collector. We adopt a reference counting scheme that can be characterized formally using only two semantic rules. Moreover, it provides original solutions to the usual shortcomings of reference counting: the overhead caused by the maintenance of the reference counts - we only track global references - and the complex issue of collecting cyclic structures - reinterpreted as the (in our case, much simpler) problem of detecting partial terminations.
Year
DOI
Venue
2011
10.1145/1926354.1926363
DAMP
Keywords
Field
DocType
reference count,reference counting,multi-core programming challenge,abstract calculus,concurrency-oriented programming language,parallel computing,complex issue,abstract machine,global reference,cyclic structure,functional programming language,programming language,parallel computer,pi calculus,intermediate language,concurrency,garbage collector
Functional logic programming,Fifth-generation programming language,Second-generation programming language,Programming language,Programming paradigm,Computer science,Theoretical computer science,Reference counting,Reactive programming,Low-level programming language,Programming language theory
Conference
Citations 
PageRank 
References 
1
0.36
18
Authors
1
Name
Order
Citations
PageRank
Frédéric Peschanski14711.12