High-Performance Deterministic Concurrency using Lingua Franca
Christian Menard, Marten Lohstroh, Soroush Bateni, Matthew Chorlian,, Arthur Deng, Peter Donovan, Cl\'ement Fournier, Shaokai Lin, Felix Suchert,, Tassilo Tanneberger, Hokeun Kim, Jeronimo Castrillon, Edward A. Lee

TL;DR
This paper presents Lingua Franca, a deterministic concurrency framework based on the reactor model, which achieves high performance and expressivity, outperforming popular actor frameworks like Akka and CAF.
Contribution
The paper introduces Lingua Franca, a reactor-oriented language that ensures deterministic concurrency without sacrificing performance or expressivity.
Findings
LF outperforms Akka by 1.86x in execution time.
LF outperforms CAF by 1.42x in execution time.
Deterministic concurrency can match or exceed the performance of nondeterministic actor frameworks.
Abstract
Actor frameworks and similar reactive programming techniques are widely used for building concurrent systems. They promise to be efficient and scale well to a large number of cores or nodes in a distributed system. However, they also expose programmers to nondeterminism, which often makes implementations hard to understand, debug, and test. The recently proposed reactor model is a promising alternative that enables efficient deterministic concurrency. In this paper, we show that determinacy does neither imply a loss in expressivity nor in performance. To show this, we evaluate Lingua Franca (LF), a reactor-oriented coordination language that equips mainstream programming languages with a concurrency model that automatically takes advantage of opportunities to exploit parallelism that do not introduce nondeterminism. Our implementation of the Savina benchmark suite demonstrates that, in…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Distributed systems and fault tolerance · Parallel Computing and Optimization Techniques
