Accelerating Data Serialization/Deserialization Protocols with In-Network Compute
(In 2022 IEEE/ACM International Workshop on Exascale MPI (ExaMPI), Nov. 2022)
Abstract
Efficient data communication is a major goal for scalable and cost-effective use of datacenter and HPC system resources. To let applications communicate efficiently, exchanged data must be serialized at the source and deserialized at the destination. The serialization/deserialization process enables exchanging data in a language- and machine-independent format. However, serialization/deserialization overheads can negatively impact application performance. For example, a server within a microservice framework must deserialize all incoming requests before invoking the respective microservices. We show how data deserialization can be offloaded to fully programmable Smart-NICs and performed on the data path, on a per-packet basis. This solution avoids intermediate memory copies, enabling on-the-fly deserialization. We showcase our approach by offloading Google Protocol Buffers, a widely used framework to serialize/deserialize data. Our evaluation demonstrates that, by offloading data deserialization to the NIC, we can achieve up to 4.8x higher throughput than a single AMD Ryzen 7 CPU. We then show through microservice throughput modeling how we can improve the overall throughput by pipelining the deserialization and actual application activities with PsPIN.
Documents
download article: download slides:
Recorded talk (best effort)
BibTeX
@inproceedings{, author={Shiyi Cao and Salvatore Di Girolamo and Torsten Hoefler}, title={{Accelerating Data Serialization/Deserialization Protocols with In-Network Compute}}, year={2022}, month={Nov.}, booktitle={2022 IEEE/ACM International Workshop on Exascale MPI (ExaMPI)}, source={http://www.unixer.de/~htor/publications/}, }