High-performance Deterministic Concurrency Using Lingua Franca

被引:6
|
作者
Menard, Christian [1 ]
Lohstroh, Marten [2 ]
Bateni, Soroush [2 ]
Chorlian, Matthew [2 ]
Deng, Arthur [2 ]
Donovan, Peter [2 ]
Fournier, Clement [1 ]
Lin, Shaokai [2 ]
Suchert, Felix [1 ]
Tanneberger, Tassilo [1 ]
Kim, Hokeun [3 ]
Castrillon, Jeronimo [1 ]
Lee, Edward A. [2 ]
机构
[1] Tech Univ Dresden, Chair Compiler Construct, D-01062 Dresden, Germany
[2] Univ Calif Berkeley, Cory Hall, Berkeley, CA 94720 USA
[3] Arizona State Univ, CTRPT 202-03A,660 S Mill Ave, Tempe, AZ 85281 USA
基金
美国国家科学基金会; 新加坡国家研究基金会;
关键词
Coordination; concurrency; determinism; performance; DATA-FLOW; PROGRAMMING LANGUAGE; SEMANTICS; GRAPHS; MODEL;
D O I
10.1145/3617687
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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 deterministic concurrency. In this article, we present an efficient, parallel implementation of reactors and demonstrate that the determinacy of reactors does not imply a loss in performance. To show this, we evaluate Lingua Franca (LF), a reactor-oriented coordination language. LF equips mainstream programming languages with a deterministic concurrency model that automatically takes advantage of opportunities to exploit parallelism. Our implementation of the Savina benchmark suite demonstrates that, in terms of execution time, the runtime performance of LF programs even exceeds popular and highly optimized actor frameworks. We compare against Akka and CAF, which LF outperforms by 1.86x and 1.42x, respectively.
引用
收藏
页数:29
相关论文
共 50 条