Affiliation:
1. TU Dresden, Germany
2. UC Berkeley, USA
3. Arizona State University, USA
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 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.
Funder
German Federal Ministry of Education and Research (BMBF) as part of the Software Campus
“Souverän. Digital. Vernetzt.”, joint project 6G-life
National Science Foundation
iCyPhy Research Center (Industrial Cyber-Physical Systems), supported by Denso, Ford, Siemens, and Toyota
National Research Foundation (NRF) of Korea
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Information Systems,Software
Reference97 articles.
1. A foundation for actor computation;Agha Gul A.;Journal of Functional Programming,1997
2. System and Architecture
3. Joe Armstrong, Robert Virding, Claes Wikström, and Mike Williams. 1996. Concurrent Programming in Erlang (2nd ed.). Prentice Hall.
4. Mehdi Bagherzadeh, Nicholas Fireman, Anas Shawesh, and Raffi Khatchadourian. 2020. Actor concurrency bugs: A comprehensive study on symptoms, root causes, API usages, and differences. In Proceedings of ACM Programming Languages.10.1145/3428282
5. A survey on reactive programming
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Efficient Parallel Reinforcement Learning Framework Using the Reactor Model;Proceedings of the 36th ACM Symposium on Parallelism in Algorithms and Architectures;2024-06-17
2. Codesign of reactor-oriented hardware and software for cyber-physical systems;ACM Transactions on Reconfigurable Technology and Systems;2024-06-12
3. Hardware and Software Generation from Large Actor Machines in Streaming Applications;Proceedings of the 39th ACM/SIGAPP Symposium on Applied Computing;2024-04-08
4. Provable Determinism for Software in Cyber-Physical Systems;Lecture Notes in Computer Science;2024
5. Poster Abstract: Securing Edge-Based Real-Time IoT Systems;Proceedings of the 21st ACM Conference on Embedded Networked Sensor Systems;2023-11-12