Strongly-Consistent Distributed Discrete-event Systems (2405.12117v1)
Abstract: Discrete-event (DE) systems are concurrent programs where components communicate via tagged events, where tags are drawn from a totally ordered set. Reactors are an emerging model of computation based on DE and realized in the open-source coordination language Lingua Franca. Distributed DE (DDE) systems are DE systems where the components (reactors) communicate over networks. The prior art has required that for DDE systems with cycles, each cycle must contain at least one logical delay, where the tag of events is incremented. Such delays, however, are not required by the elegant fixed-point semantics of DE. The only requirement is that the program be constructive, meaning it is free of causality cycles. This paper gives a way to coordinate the execution of DDE systems that can execute any constructive program, even one with zero-delay cycles. It provides a formal model that exposes exactly the information that must be shared across networks for such execution to be possible. Furthermore, it describes a concrete implementation that is an extension of the coordination mechanisms in Lingua Franca.
- M. Lohstroh et al., “Reactors: A deterministic model for composable reactive systems,” in Model-Based Design of Cyber Physical Systems (CyPhy), 2019.
- R. Ernst, S. Kuntz, S. Quinton, and M. Simons, “The logical execution time paradigm: New perspectives for multicore systems (Dagstuhl seminar 18092),” Dagstuhl Reports, vol. 8, pp. 122–149, 2018.
- S. A. Edwards and J. Hui, “The sparse synchronous model,” in Forum on Specification and Design Languages (FDL), 2020.
- E. A. Lee, S. Bateni, S. Lin, M. Lohstroh, and C. Menard, “Quantifying and generalizing the CAP theorem,” 2021.
- M. Lohstroh, C. Menard, S. Bateni, and E. A. Lee, “Toward a Lingua Franca for deterministic concurrent systems,” ACM Trans. on Embedded Computing Systems (TECS), vol. 20, no. 4, p. Article 36, 2021.
- S. Bateni et al., “Risk and mitigation of nondeterminism in distributed cyber-physical systems,” in ACM-IEEE International Conference on Formal Methods and Models for System Design, 2023, pp. 1–11.
- E. A. Lee and A. Sangiovanni-Vincentelli, “A framework for comparing models of computation,” IEEE Transactions on Computer-Aided Design of Circuits and Systems, vol. 17, no. 12, pp. 1217–1229, 1998.
- E. A. Lee, “Modeling concurrent real-time processes using discrete events,” Annals of Software Engineering, vol. 7, pp. 25–45, 1999.
- H. Naundorf, “Strictly causal functions have a unique fixed point,” Theoretical Computer Science, vol. 238, no. 1-2, pp. 483–488, 2000.
- A. Cataldo, E. A. Lee, X. Liu, E. Matsikoudis, and H. Zheng, “A constructive fixed-point theorem and the feedback semantics of timed systems,” in Workshop on Discrete Event Systems (WODES), 2006.
- E. Matsikoudis and E. A. Lee, “An axiomatization of the theory of generalized ultrametric semilattices of linear signals,” in International Symposium on Fundamentals of Computation Theory (FCT), vol. LNCS 8070. Springer, 2013, pp. 248–258.
- E. A. Lee and H. Zheng, “Leveraging synchronous language principles for heterogeneous modeling and design of embedded systems,” in Proc. of Int’l Conf. on Embedded Software (EMSOFT), 2007, pp. 114–123.
- R. E. Bryant, “Simulation of packet communication architecture computer systems,” MIT, Tech. Rep., November 1977.
- J. Misra, “Distributed discrete event simulation,” ACM Computing Surveys, vol. 18, no. 1, pp. 39–65, 1986.
- D. Jefferson, “Virtual time,” ACM Trans. Programming Languages and Systems, vol. 7, no. 3, pp. 404–425, 1985.
- G. Chen and B. K. Szymanski, “Searching for parallelism in discrete event simulation,” in Summer Computer Simulation Conference, 2002.
- S. Jafer, Q. Liu, and G. Wainer, “Synchronization methods in parallel and distributed discrete-event simulation,” Simulation Modelling Practice and Theory, vol. 30, pp. 54–73, 2013.
- K. Gao et al., “DONS: Fast and affordable discrete event network simulation with automatic parallelization,” in Proceedings of the ACM SIGCOMM 2023 Conference, 2023, pp. 167–181.
- W. Hofmann, S. Lang, P. Reichardt, and T. Reggelin, “A brief introduction to deploy amazon web services for online discrete-event simulation,” Procedia Computer Science, vol. 200, 2022.
- E. A. Lee et al., “Consistency vs. availability in distributed cyber-physical systems,” ACM Transactions on Embedded Computing Systems (TECS), vol. 22, no. 5s, pp. 1–24, 2023.
- M. Lohstroh, E. A. Lee, S. Edwards, and D. Broman, “Logical time for reactive software,” in Workshop on Time-Centric Reactive Software (TCRS), in CPS-IoT Week. ACM, 2023.
- A. Benveniste, T. Bourke, B. Caillaud, and M. Pouzet, “The fundamentals of hybrid systems modelers,” Journal of Computer and System Sciences, vol. 78, no. 3, pp. 877–910, 2012.
- F. Cremona, M. Lohstroh, D. Broman, E. A. Lee, M. Masin, and S. Tripakis, “Hybrid co-simulation: it’s about time,” Software and Systems Modeling, vol. 18, pp. 1655–1679, 2017.
- Y. Zhou and E. A. Lee, “Causality interfaces for actor networks,” ACM Transactions on Embedded Computing Systems (TECS), vol. 7, no. 3, pp. 1–35, 2008.
- Y. Zhao, E. A. Lee, and J. Liu, “A programming model for time-synchronized distributed real-time systems,” in Real-Time and Embedded Technology and Applications Symposium (RTAS). IEEE, 2007, pp. 259 – 268.
- J. C. Corbett et al., “Spanner: Google’s globally distributed database,” ACM Transactions on Computer Systems (TOCS), vol. 31, no. 3, pp. 1–22, 2013.
- C. Menard et al., “High-performance deterministic concurrency using lingua franca,” ACM Transactions on Architecture and Code Optimization, vol. 20, pp. 1–29, 12 2023.
- Y.-K. Kwok and I. Ahmad, “Static scheduling algorithms for allocating directed task graphs to multiprocessors,” ACM Computing Surveys, vol. 31, pp. 406–471, 12 1999.