RPCAcc: A High-Performance and Reconfigurable PCIe-attached RPC Accelerator

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Zhang, Jie, Huang, Hongjing, Xu, Xuzheng, Li, Xiang, Zhao, Jieru, Liu, Ming, Wang, Zeke
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866916485266407424
author Zhang, Jie
Huang, Hongjing
Xu, Xuzheng
Li, Xiang
Zhao, Jieru
Liu, Ming
Wang, Zeke
author_facet Zhang, Jie
Huang, Hongjing
Xu, Xuzheng
Li, Xiang
Zhao, Jieru
Liu, Ming
Wang, Zeke
contents The emerging microservice/serverless-based cloud programming paradigm and the rising networking speeds leave the RPC stack as the predominant data center tax. Domain-specific hardware acceleration holds the potential to disentangle the overhead and save host CPU cycles. However, state-of-the-art RPC accelerators integrate RPC logic into the CPU or use specialized low-latency interconnects, hardly adopted in commodity servers. To this end, we design and implement RPCAcc, a software-hardware co-designed RPC on-NIC accelerator that enables reconfigurable RPC kernel offloading. RPCAcc connects to the server through the most widely used PCIe interconnect. To grapple with the ramifications of PCIe-induced challenges, RPCAcc introduces three techniques:(a) a target-aware deserializer that effectively batches cross-PCIe writes on the accelerator's on-chip memory using compacted hardware data structures; (b) a memory-affinity CPU-accelerator collaborative serializer, which trades additional host memory copies for slow cross-PCIe transfers; (c) an automatic field update technique that transparently codifies the schema based on dynamic reconfigure RPC kernels to minimize superfluous PCIe traversals. We prototype RPCAcc using the Xilinx U280 FPGA card. On HyperProtoBench, RPCAcc achieves 3.2X lower serialization time than a comparable RPC accelerator baseline and demonstrates up to 2.6X throughput improvement in the end-to-end cloud workload.
format Preprint
id arxiv_https___arxiv_org_abs_2411_07632
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle RPCAcc: A High-Performance and Reconfigurable PCIe-attached RPC Accelerator
Zhang, Jie
Huang, Hongjing
Xu, Xuzheng
Li, Xiang
Zhao, Jieru
Liu, Ming
Wang, Zeke
Hardware Architecture
The emerging microservice/serverless-based cloud programming paradigm and the rising networking speeds leave the RPC stack as the predominant data center tax. Domain-specific hardware acceleration holds the potential to disentangle the overhead and save host CPU cycles. However, state-of-the-art RPC accelerators integrate RPC logic into the CPU or use specialized low-latency interconnects, hardly adopted in commodity servers. To this end, we design and implement RPCAcc, a software-hardware co-designed RPC on-NIC accelerator that enables reconfigurable RPC kernel offloading. RPCAcc connects to the server through the most widely used PCIe interconnect. To grapple with the ramifications of PCIe-induced challenges, RPCAcc introduces three techniques:(a) a target-aware deserializer that effectively batches cross-PCIe writes on the accelerator's on-chip memory using compacted hardware data structures; (b) a memory-affinity CPU-accelerator collaborative serializer, which trades additional host memory copies for slow cross-PCIe transfers; (c) an automatic field update technique that transparently codifies the schema based on dynamic reconfigure RPC kernels to minimize superfluous PCIe traversals. We prototype RPCAcc using the Xilinx U280 FPGA card. On HyperProtoBench, RPCAcc achieves 3.2X lower serialization time than a comparable RPC accelerator baseline and demonstrates up to 2.6X throughput improvement in the end-to-end cloud workload.
title RPCAcc: A High-Performance and Reconfigurable PCIe-attached RPC Accelerator
topic Hardware Architecture
url https://arxiv.org/abs/2411.07632