High-performance Deterministic Concurrency Using Lingua Franca

High-performance Deterministic Concurrency Using Lingua Franca
复制标题

DOI:
10.1145/3617687
复制
发表时间:
2023-01
影响因子:
1.6
通讯作者:
Christian Menard;Soroush Bateni;Peter Donovan;Clément Fournier;Shaokai Lin;Felix Suchert;Tassilo Tanneberger;Hokeun Kim;J. Castrillón;Edward A. Lee
Christian Menard;Soroush Bateni;Peter Donovan;Clément Fournier;Shaokai Lin;Felix Suchert;Tassilo Tanneberger;Hokeun Kim;J. Castrillón;Edward A. Lee
中科院分区:
计算机科学3区
文献类型:
--
作者:
Christian Menard;Soroush Bateni;Peter Donovan;Clément Fournier;Shaokai Lin;Felix Suchert;Tassilo Tanneberger;Hokeun Kim;J. Castrillón;Edward A. Lee

文献摘要

相似文献

actor框架及类似的响应式编程技术被广泛用于构建并发系统。它们有望高效运行,并能很好地扩展到分布式系统中的大量核心或节点。然而,它们也使程序员面临不确定性,这常常导致实现难以理解、调试和测试。最近提出的反应器模型是一种很有前途的替代方案,它能够实现确定性并发。在本文中,我们提出了一种高效的反应器并行实现,并证明反应器的确定性并不意味着性能损失。为了说明这一点,我们评估了Lingua Franca(LF),一种面向反应器的协调语言。LF为主流编程语言配备了一个确定性并发模型,该模型能自动利用开发并行性的机会。我们对Savina基准测试套件的实现表明,就执行时间而言,LF程序的运行时性能甚至超过了流行且高度优化的actor框架。我们与Akka和CAF进行了比较,LF分别比它们快1.86倍和1.42倍。
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.86× and 1.42×, respectively.