Presto: A Match-Action TCP Stack for the Terabit Era
Rajath Shashidhara, Antoine Kaufmann, Simon Peter
Abstract
We present Presto, the first TCP stack that delivers ASICclass performance and energy efficiency on programmable Reconfigurable Match-Action Table (RMT) pipelines, providing flexibility while retaining standard TCP semantics and POSIX socket compatibility. The key challenge in designing Presto is reconciling TCP's complex, dependent state updates with RMT's unidirectional, lock-step execution model. To overcome this challenge, Presto introduces three novel techniques: optimistic concurrency (speculative updates validated downstream), pseudo-segment injection (circular dependency resolution without stalls), and bump-in-the-wire processing (single-pass segment handling). Together, these enable TCP retransmission, reassembly, flow, and congestion control, as a pipeline of simple match-action operations.
Our Intel Tofino 2 prototype demonstrates Presto's scalability to terabit speeds, flexibility, and robustness to network dynamics. Presto matches RDMA performance and efficiency for both RPC and streaming workloads (including NVMe-oF with SPDK), while maintaining TCP/POSIX compatibility. Presto saves up to 16 host CPU cores versus state-of-theart kernel-bypass TCP, while achieving 5× lower 99.99p tail latency and 2× better throughput-per-watt for key-value stores. At scale, Presto drives nearly 1 Bpps at 20 𝜇s RPC tail latency. Unlike fixed-function offloads, Presto supports transport evolution through in-data-path extensions (selective ACKs, congestion control variants, application co-design for shared logs). Finally, Presto generalizes to FPGA Smart-NICs, outperforming Tonic's monolithic design by 3× under equal timing.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext c062dac1-6a6b-4d79-914f-2687d230e020Builds on37
- When Cloud Storage Meets RDMAYixiao Gao, Qiang Li, Lingbo Tang, Yongqing Xi et al.NSDI 2021 · 228 citations
- Alibaba HPN: A Data Center Network for Large Language Model TrainingKun Qian, Yongqing Xi, Jiamin Cao, Jiaqi Gao et al.SIGCOMM 2024 · 173 citations
- RDMA over Ethernet for Distributed Training at Meta ScaleAdithya Gangidi, Rui Miao, Shengbao Zheng, Sai Jayesh Bondu et al.SIGCOMM 2024 · 171 citations
- Understanding host network stack overheadsQizhe Cai, Shubham Chaudhary, Midhul Vuppalapati, Jaehyun Hwang et al.SIGCOMM 2021 · 150 citations
- AccelTCP: Accelerating Network Applications with Stateful TCP OffloadingYoungGyoun Moon, SeungEon Lee, Muhammad Asim Jamshed, KyoungSoo ParkNSDI 2020 · 121 citations
Related papers
- F4T: A Fast and Flexible FPGA-based Full-stack TCP Acceleration FrameworkJunehyuk Boo, Yujin Chung, Eunjin Baek, Seongmin Na et al.ISCA 2023 · 8 citations
- NetClone: Fast, Scalable, and Dynamic Request Cloning for Microsecond-Scale RPCsGyuyeong KimSIGCOMM 2023 · 4 citations
- FlexTOE: Flexible TCP Offload with Fine-Grained ParallelismRajath Shashidhara, Tim Stamler, Antoine Kaufmann, Simon PeterNSDI 2022 · 66 citations
- Enabling Programmable Transport Protocols in High-Speed NICsMina Tahmasbi Arashloo, Alexey Lavrov, Manya Ghobadi, Jennifer Rexford et al.NSDI 2020 · 96 citations
- In-Network Support for Transaction TriagingTheo Jepsen, Alberto Lerner, Fernando Pedone, Robert Soulé et al.VLDB 2021 · 19 citations
