State-Compute Replication: Parallelizing High-Speed Stateful Packet Processing
Fuente:
arXiv
Saved in:
| Main Authors: | , , , , , , , , |
|---|---|
| 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 |