Dagger: Accelerating RPCs in Cloud Microservices Through Tightly-Coupled Reconfigurable NICs
Nikita Lazarev, Shaojie Xiang, Neil Adit, Zhiru Zhang and, Christina Delimitrou

TL;DR
Dagger is a reconfigurable FPGA-based NIC fabric that accelerates cloud RPCs, significantly boosting throughput and reducing latency in microservices environments by offloading RPC stacks and using memory interconnects.
Contribution
Introducing Dagger, a novel FPGA-based NIC architecture that offloads entire RPC stacks and uses memory interconnects for high performance and flexibility in microservices.
Findings
Achieves 1.3-3.8x higher per-core RPC throughput than software and RDMA systems.
Scales up to 84 million requests per second with low latency.
Enables easy porting of third-party applications like memcached with minimal code changes.
Abstract
The ongoing shift of cloud services from monolithic designs to microservices creates high demand for efficient and high performance datacenter networking stacks, optimized for fine-grained workloads. Commodity networking systems based on software stacks and peripheral NICs introduce high overheads when it comes to delivering small messages. We present Dagger, a hardware acceleration fabric for cloud RPCs based on FPGAs, where the accelerator is closely-coupled with the host processor over a configurable memory interconnect. The three key design principle of Dagger are: (1) offloading the entire RPC stack to an FPGA-based NIC, (2) leveraging memory interconnects instead of PCIe buses as the interface with the host CPU, and (3) making the acceleration fabric reconfigurable, so it can accommodate the diverse needs of microservices. We show that the combination of these principles…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Software-Defined Networks and 5G · Cloud Computing and Resource Management
