Cloud applications are increasingly relying on hundreds of loosely-coupled microservices to complete user requests that meet an applications end-to-end QoS requirements. Communication time between services accounts for a large fraction of the end-to-end latency and can introduce performance unpredictability and QoS violations. This work presents our early work on Dagger, a hardware acceleration platform for networking, designed specifically with the unique qualities of microservices in mind. The Dagger architecture relies on an FPGA-based NIC, closely coupled with the processor over a configurable memory interconnect, designed to offload and accelerate RPC stacks. Unlike the traditional cloud systems that use PCIe links as the NIC I/O interface, we leverage memory-interconnected FPGAs as networking devices to provide the efficiency, transparency, and programmability needed for fine-grained microservices. We show that this considerably improves CPU utilization and performance for cloud RPCs.
翻译:云层应用日益依赖数百个松散的微服务,以完成满足应用程序端到端的QOS要求的用户请求。服务之间的沟通时间占端到端的延迟时间的很大一部分,可以引入性能不可预测性和QOS违规现象。这项工作展示了我们在Dagger的早期工作,Dagger是一个硬件加速平台,专门设计了微服务的独特性。Dagger结构依赖于基于FPGA的NIC,与可配置的内存连接的处理器密切配合,该处理器旨在卸载和加速RPC的堆叠。与使用PCIe链接作为NIC I/O接口的传统云系统不同,我们利用记忆间连接的FPGA作为网络设备,提供精细微微服务所需的效率、透明度和程序性。我们表明,这大大改进了云层RPC的CPU利用率和性能。