arXiv · 2110.00886
Spindle: Techniques for Optimizing Atomic Multicast on RDMA
Abstract
Leveraging one-sided RDMA for applications that replicate small data objects can be surprisingly difficult: such uses amplify any protocol overheads. Spindle is a set of optimization techniques for systematically tackling this class of challenges for atomic multicast over RDMA. These include memory polling optimizations using novel sender and receiver batching techniques, null-message send logic, and improved multi-thread synchronization. We applied Spindle to Derecho, an open-source C++ library for atomic multicast, and obtained significant performance improvements both for the library itself and for an OMG-compliant avionics DDS built over Derecho. Derecho's multicast bandwidth utilization for 10KB messages rose from 1GB/s to 9.7GB/s on a 12.5GB/s network, and it became more robust to delays. Interestingly, although some of our techniques employ batching, latency dropped by nearly two orders of magnitude. Spindle optimizations should also be of value in other RDMA applications limited by the speed of coordination.
Explore related subjects
Keep this discovery
Sagar Jha, Lorenzo Rosa, Ken Birman. 2021-10-02. Spindle: Techniques for Optimizing Atomic Multicast on RDMA. https://doi.org/10.1109/icdcs54860.2022.00108
Cite the original work for its findings. Save a collection to share your selection of sources.