Parallel Computing with the Pi-calculus

Frédéric Peschanski 1
1 APR - Algorithmes, Programmes et Résolution
LIP6 - Laboratoire d'Informatique de Paris 6
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.
Complete list of metadatas

Cited literature [20 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/hal-00628492
Contributor : Frédéric Peschanski <>
Submitted on : Monday, October 3, 2011 - 2:40:59 PM
Last modification on : Thursday, March 21, 2019 - 1:09:38 PM
Long-term archiving on : Tuesday, November 13, 2012 - 3:01:27 PM

File

pesch-damp2011-submission.pdf
Files produced by the author(s)

Identifiers

Citation

Frédéric Peschanski. Parallel Computing with the Pi-calculus. Declarative Aspects of Multicore Programming, DAMP 2011, Jan 2011, Austin, Texas, United States. pp.45-54, ⟨10.1145/1926354.1926363⟩. ⟨hal-00628492⟩

Share

Metrics

Record views

253

Files downloads

551