Scaling atomic ordering in shared memory
Lorenzo Martignetti, Eliã Batista, Gianpaolo Cugola, Fernando Pedone
Published: 2025/9/9
Abstract
Atomic multicast is a communication primitive used in dependable systems to ensure consistent ordering of messages delivered to a set of replica groups. This primitive enables critical services to integrate replication and sharding (i.e., state partitioning) to achieve fault tolerance and scalability. While several atomic multicast protocols have been developed for message-passing systems, only a few are designed for the shared memory system model. This paper introduces TRAM, an atomic multicast protocol specifically designed for shared memory systems, leveraging an overlay tree architecture. Due to its simple and practical design, TRAM delivers exceptional performance, increasing throughput by more than 3$\times$ and reducing latency by more than 2.3$\times$ compared to state-of-the-art shared memory-based protocols. Additionally, it significantly outperforms message-passing-based protocols, boosting throughput by up to 5.9$\times$ and reducing latency by up to 106$\times$.