Stop Taking the Scenic Route: the Shortest Distance Between the CPU and the NIC is MMIO
What is the fastest way to transfer data from the CPU to a network interface card (NIC)? Conventional wisdom suggests that the answer is direct memory access (DMA), and recent works have advocated for leveraging cache-coherent I/O interconnects. However, in this paper we examine the arguments against memory-mapped I/O (MMIO) and show that high write throughput can be achieved with MMIO by relaxing ordering constraints. We also propose efficient hardware for recovering ordering at the NIC to ensure correctness while taking advantage of the performance benefits of unordered MMIO writes.
Authors
- Ryan Stutsman (ORCID: https://orcid.org/0000-0001-5446-9603)
- Vijay Nagarajan (ORCID: https://orcid.org/0009-0000-5045-4754)
- Ashfaqur Rahaman Sajib (ORCID: https://orcid.org/0000-0002-9552-5381)
- James McMahon
- Wei Siew Liew (ORCID: https://orcid.org/0009-0007-0218-1115)
Institutions
- University of Utah (US)
Publication Details
- Published
- 2025-05-14
- DOI
- https://doi.org/10.1145/3713082.3730389
- Citations
- 2
- Primary Topic
- Distributed systems and fault tolerance
- Type
- article
- Field-Weighted Citation Impact
- 2.97
Funders
- National Science Foundation
- VMware