当前位置: X-MOL 学术arXiv.cs.AR › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Dagger: Accelerating RPCs in Cloud Microservices Through Tightly-Coupled Reconfigurable NICs
arXiv - CS - Hardware Architecture Pub Date : 2021-06-02 , DOI: arxiv-2106.01482
Nikita Lazarev, Shaojie Xiang, Neil Adit, Zhiru Zhang, Christina Delimitrou

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 significantly improves the efficiency and performance of cloud RPC systems while preserving their generality. Dagger achieves 1.3-3.8x higher per-core RPC throughput compared to both highly-optimized software stacks, and systems using specialized RDMA adapters. It also scales up to 84 Mrps with 8 threads on 4 CPU cores, while maintaining state-of-the-art us-scale tail latency. We also demonstrate that large third-party applications, like memcached and MICA KVS, can be easily ported on Dagger with minimal changes to their codebase, bringing their median and tail KVS access latency down to 2.8 - 3.5us and 5.4 - 7.8us, respectively. Finally, we show that Dagger is beneficial for multi-tier end-to-end microservices with different threading models by evaluating it using an 8-tier application implementing a flight check-in service.

中文翻译:

Dagger:通过紧密耦合的可重构 NIC 加速云微服务中的 RPC

云服务从单体设计到微服务的持续转变对高效、高性能的数据中心网络堆栈产生了高需求,这些堆栈针对细粒度工作负载进行了优化。基于软件堆栈和外围 NIC 的商品网络系统在传递小消息时会引入高开销。我们展示了 Dagger,这是一种基于 FPGA 的云 RPC 硬件加速结构,其中加速器通过可配置的内存互连与主机处理器紧密耦合。Dagger 的三个关键设计原则是:(1) 将整个 RPC 堆栈卸载到基于 FPGA 的 NIC,(2) 利用内存互连而不是 PCIe 总线作为与主机 CPU 的接口,以及 (3) 制作加速结构可重构,可以适应微服务的多样化需求。我们表明,这些原则的结合显着提高了云 RPC 系统的效率和性能,同时保持了它们的通用性。与高度优化的软件堆栈和使用专用 RDMA 适配器的系统相比,Dagger 实现了 1.3-3.8 倍的每核 RPC 吞吐量。它还可以在 4 个 CPU 内核上具有 8 个线程的情况下扩展到 84 Mrps,同时保持最先进的美国规模尾延迟。我们还证明了大型第三方应用程序,如 memcached 和 MICA KVS,可以轻松地移植到 Dagger 上,对其代码库进行最小的更改,将它们的中值和尾部 KVS 访问延迟分别降低到 2.8 - 3.5us 和 5.4 - 7.8us . 最后,
更新日期:2021-06-04
down
wechat
bug