Minimal Translations from Synchronous Communication to Synchronizing Locks
Manfred Schmidt-Schau{\ss} (Goethe-Universit\"at Frankfurt am Main),, David Sabel (LMU M\"unchen)

TL;DR
This paper investigates the possibility of translating synchronous message passing processes into shared memory locks, establishing that only three locks suffice for a correct translation, while one or two locks are insufficient.
Contribution
It proves the impossibility of correct translations with one or two locks and demonstrates that three locks are enough for a valid translation between the models.
Findings
No correct translation with one or two locks.
A correct translation exists with three locks.
Different lock variants with various blocking behaviors are considered.
Abstract
In order to understand the relative expressive power of larger concurrent programming languages, we analyze translations of small process calculi which model the communication and synchronization of concurrent processes. The source language SYNCSIMPLE is a minimalistic model for message passing concurrency while the target language LOCKSIMPLE is a minimalistic model for shared memory concurrency. The former is a calculus with synchronous communication of processes, while the latter has synchronizing mutable locations - called locks - that behave similarly to binary semaphores. The criteria for correctness of translations is that they preserve and reflect may-termination and must-termination of the processes. We show that there is no correct compositional translation from SYNCSIMPLE to LOCKSIMPLE that uses one or two locks, independent from the initialisation of the locks. We also show…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
