In high-throughput, distributed systems, such as large-scale banking infrastructure, synchronization between actors becomes a bottle-neck in high-contention scenarios. This results in delays for users, and reduces opportunities for scaling such systems. This paper proposes Static Local Coordination Avoidance, which analyzes application invariants at compile time to detect whether messages are independent, so that synchronization at run time is avoided, and parallelism is increased. Analysis shows that in industry scenarios up to 60% of operations are independent. Initial performance evaluation shows that, in comparison to a standard 2-phase commit baseline, throughput is increased, and latency is reduced. As a result, scalability bottlenecks in high-contention scenarios in distributed actor systems are reduced for independent messages.

Additional Metadata
Keywords Synchronization, Coordination, Atomic consistency, Distributed systems
Stakeholder ING Bank
Persistent URL dx.doi.org/10.1145/3358499.3361222
Conference ACM/SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control
Citation
Soethout, T.M, van der Storm, T, & Vinju, J.J. (2019). Static local coordination avoidance for distributed objects. In AGERE 2019 - Proceedings of the 9th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control, co-located with SPLASH 2019 (pp. 21–30). doi:10.1145/3358499.3361222