Datacenter RPCs can be General and Fast
By Anuj Kalia, Michael Kaminsky, D. Andersen. Symposium on Networked Systems Design and Implementation, 2018
383 citations recorded by the source corpus.
It is commonly believed that datacenter networking software must sacrifice generality to attain high performance. The popularity of specialized distributed systems designed specifically for niche technologies such as RDMA, lossless networks, FPGAs, and programmable switches testifies to this belief. In this paper, we show that such specialization is not necessary. eRPC is a new general-purpose remote procedure call (RPC) library that offers performance comparable to specialized systems, while running on commodity CPUs in traditional datacenter networks based on either lossy Ethernet or lossless fabrics. eRPC performs well in three key metrics: message rate for small messages; bandwidth for large messages; and scalability to a large number of nodes and CPU cores. It handles packet loss, congestion, and background request execution. In microbenchmarks, one CPU core can handle up to 10 million small RPCs per second, or send large messages at 75 Gbps. We port a production-grade implementation of Raft state machine replication to eRPC without modifying the core Raft source code. We achieve 5.5 µs of replication latency on lossy Ethernet, which is faster than or comparable to specialized replication systems that use programmable switches, FPGAs, or RDMA.
Subfields: Computer Networks and Communications, Hardware and Architecture
View Paper: https://www.semanticscholar.org/paper/132dc7b878774a23045a7c683c043b4032b2e800
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Computer Networks and Communications
- Hari Balakrishnan
- Aditya Akella
- Amy Ousterhout
- A. Belay
- Michael M. Swift
- Deborah Estrin
- Scott Shenker
- Mohamed F. Younis
In Hardware and Architecture
Citations in the corpus
- ATP: In-network Aggregation for Multi-tenant Learning (2021, methodology): “To improve packet receiving rate, MP-QP uses buffer descriptors that specify multiple contiguous packet buffers and reduce the NIC memory footprint by at least 512X .”
- Shenango: Achieving High CPU Efficiency for Latency-sensitive Datacenter Workloads (2019, background): “Examples include MICA [46], IX [18], Arrakis [59], mTCP [35], Sandstorm [50], FaRM [25], HERD [39], RAMCloud [57], SoftNIC [31], ZygOS [61], Shinjuku [38], and eRPC [40].”