Ensō: A Streaming Interface for NIC-Application Communication
Hugo Sadok, Nirav Atre, Zhipeng Zhao, Daniel S. Berger, James C. Hoe, Aurojit Panda, Justine Sherry, Ren Wang
Abstract
Today, most communication between the NIC and software involves exchanging fixed-size packet buffers. This packetized interface was designed for an era when NICs implemented few offloads and software implemented the logic for translating between application data and packets. However, both NICs and networked software have evolved: modern NICs implement hardware offloads, e.g., TSO, LRO, and serialization offloads that can more efficiently translate between application data and packets. Furthermore, modern software increasingly batches network I/O to reduce overheads. These changes have led to a mismatch between the packetized interface, which assumes that the NIC and software exchange fixed-size buffers, and the features provided by modern NICs and used by modern software. This incongruence between interface and data adds software complexity and I/O overheads, which in turn limits communication performance.
This paper proposes Ensō, a new streaming NIC-to-software interface designed to better support how NICs and software interact today. At its core, Ensō eschews fixed-size buffers, and instead structures communication as a stream that can be used to send arbitrary data sizes. We show that this change reduces software overheads, reduces PCIe bandwidth requirements, and leads to fewer cache misses. These improvements allow an Ensōbased NIC to saturate a 100 Gbps link with minimum-sized packets (forwarding at 148.8 Mpps) using a single core, improve throughput for high-performance network applications by 1.5-6×, and reduce latency by up to 43%.
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 e1a47c9d-a342-4557-a013-cd4d88ba7f99Cited by top-tier papers9
- Automatic Parallelization of Software Network FunctionsFrancisco Pereira, Fernando M. V. Ramos, Luis PedrosaNSDI 2024 · 14 citations
- BBQ: A Fast and Scalable Integer Priority Queue for Hardware Packet SchedulingNirav Atre, Hugo Sadok, Justine SherryNSDI 2024 · 12 citations
- High-throughput and Flexible Host Networking for Accelerated ComputingAthinagoras Skiadopoulos, Zhiqiang Xie, Mark Zhao, Qizhe Cai et al.OSDI 2024 · 11 citations
- CEIO: A Cache-Efficient Network I/O Architecture for NIC-CPU Data PathsBowen Liu, Xinyang Huang, Qijing Li, Zhuobin Huang et al.SIGCOMM 2025 · 10 citations
- SG-IOV: Socket-Granular I/O Virtualization for SmartNIC-Based Container NetworksChenxingyu Zhao, Hongtao Zhang, Jaehong Min, Shengkai Lin et al.ASPLOS 2026 · 2 citations
Builds on19
- The CacheLib Caching Engine: Design and Experiences at ScaleBenjamin Berg, Daniel S. Berger, Sara McAllister, Isaac Grosof et al.OSDI 2020 · 145 citations
- Enabling Programmable Transport Protocols in High-Speed NICsMina Tahmasbi Arashloo, Alexey Lavrov, Manya Ghobadi, Jennifer Rexford et al.NSDI 2020 · 96 citations
- The Demikernel Datapath OS Architecture for Microsecond-scale Datacenter SystemsIrene Zhang, Amanda Raybuck, Pratyush Patel, Kirk Olynyk et al.SOSP 2021 · 83 citations
- From luna to solar: the evolutions of the compute-to-storage networks in Alibaba cloudRui Miao, Lingjun Zhu, Shu Ma, Kun Qian et al.SIGCOMM 2022 · 79 citations
- The nanoPU: A Nanosecond Network Stack for DatacentersStephen Ibanez, Alex Mallery, Serhat Arslan, Theo Jepsen et al.OSDI 2021 · 74 citations
Related papers
- Efficient Remote Memory Ordering for Non-Coherent SystemsWei Siew Liew, Md Ashfaqur Rahaman, Adarsh Patil, Ryan Stutsman et al.ASPLOS 2026
- weBurst can be Harmless: Achieving Line-rate Software Traffic Shaping by Inter-flow BatchingDanfeng Shan, Shihao Hu, Yuqi Liu, Wanchun Jiang et al.INFOCOM 2023 · 2 citations
- BURST: Seeking High-performance, Interoperability and Scalability in Soft-RDMAHuijun Shen, Zelong Yue, Jian Yang, Zhuo Jiang et al.NSDI 2026
- CC-NIC: a Cache-Coherent Interface to the NICHenry N. Schuh, Arvind Krishnamurthy, David E. Culler, Henry M. Levy et al.ASPLOS 2024 · 19 citations
- PANIC: A High-Performance Programmable NIC for Multi-tenant NetworksJiaxin Lin, Kiran Patel, Brent E. Stephens, Anirudh Sivaraman et al.OSDI 2020 · 104 citations
