Implementation in Actor Model of Leaderless Decentralized Atomic Broadcast
Alexey A. Paznikov, Andrey V. Gurin, Mikhail S. Kupriyanov · 2020
Atomic broadcast is one of the fundamental synchronization primitives for organizing shared state (consensus) in distributed systems. The promising way for implementing atomic broadcast is decentralized approach, which does not involve leader election procedure. Such approach distributes the workload uniformly among the processes, allows robustness and supports large-scale systems. Currently, there are no algorithms for atomic broadcast in actor model, which is one of the most actively developing and is widely used today. In this work, we design decentralized algorithm of atomic broadcast in the actor model. In contract to message passing model (MPI) actor model implements dynamical mapping of active entity (actor) to the threads and processes of operating system. High-level actor model allows to use developed tools for wide range of distributed applications. We have done experiments on computer cluster. The obtained latency for atomic broadcast was less than 10 ms for the subsystem of 20 nodes and broadcasting 20 requests of 100 bytes per second. In this paper, we describe the developed algorithm and the scheme for resolving system failures. The algorithm is implemented as a software library and may be used for fault-tolerant computing in distributed computer systems, for example, for implementing data replication.