State-Compute Replication: Parallelizing High-Speed Stateful Packet Processing

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Xu, Qiongwen, Miano, Sebastiano, Gao, Xiangyu, Wang, Tao, Murugadass, Adithya, Zhang, Songyuan, Sivaraman, Anirudh, Antichi, Gianni, Narayana, Srinivas
Format: Preprint
Published: 2023
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866929387591434240
author Xu, Qiongwen
Miano, Sebastiano
Gao, Xiangyu
Wang, Tao
Murugadass, Adithya
Zhang, Songyuan
Sivaraman, Anirudh
Antichi, Gianni
Narayana, Srinivas
author_facet Xu, Qiongwen
Miano, Sebastiano
Gao, Xiangyu
Wang, Tao
Murugadass, Adithya
Zhang, Songyuan
Sivaraman, Anirudh
Antichi, Gianni
Narayana, Srinivas
contents With the slowdown of Moore's law, CPU-oriented packet processing in software will be significantly outpaced by emerging line speeds of network interface cards (NICs). Single-core packet-processing throughput has saturated. We consider the problem of high-speed packet processing with multiple CPU cores. The key challenge is state--memory that multiple packets must read and update. The prevailing method to scale throughput with multiple cores involves state sharding, processing all packets that update the same state, i.e., flow, at the same core. However, given the heavy-tailed nature of realistic flow size distributions, this method will be untenable in the near future, since total throughput is severely limited by single core performance. This paper introduces state-compute replication, a principle to scale the throughput of a single stateful flow across multiple cores using replication. Our design leverages a packet history sequencer running on a NIC or top-of-the-rack switch to enable multiple cores to update state without explicit synchronization. Our experiments with realistic data center and wide-area Internet traces shows that state-compute replication can scale total packet-processing throughput linearly with cores, deterministically and independent of flow size distributions, across a range of realistic packet-processing programs.
format Preprint
id arxiv_https___arxiv_org_abs_2309_14647
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle State-Compute Replication: Parallelizing High-Speed Stateful Packet Processing
Xu, Qiongwen
Miano, Sebastiano
Gao, Xiangyu
Wang, Tao
Murugadass, Adithya
Zhang, Songyuan
Sivaraman, Anirudh
Antichi, Gianni
Narayana, Srinivas
Networking and Internet Architecture
With the slowdown of Moore's law, CPU-oriented packet processing in software will be significantly outpaced by emerging line speeds of network interface cards (NICs). Single-core packet-processing throughput has saturated. We consider the problem of high-speed packet processing with multiple CPU cores. The key challenge is state--memory that multiple packets must read and update. The prevailing method to scale throughput with multiple cores involves state sharding, processing all packets that update the same state, i.e., flow, at the same core. However, given the heavy-tailed nature of realistic flow size distributions, this method will be untenable in the near future, since total throughput is severely limited by single core performance. This paper introduces state-compute replication, a principle to scale the throughput of a single stateful flow across multiple cores using replication. Our design leverages a packet history sequencer running on a NIC or top-of-the-rack switch to enable multiple cores to update state without explicit synchronization. Our experiments with realistic data center and wide-area Internet traces shows that state-compute replication can scale total packet-processing throughput linearly with cores, deterministically and independent of flow size distributions, across a range of realistic packet-processing programs.
title State-Compute Replication: Parallelizing High-Speed Stateful Packet Processing
topic Networking and Internet Architecture
url https://arxiv.org/abs/2309.14647