DMMU: SmartNIC-Based On-Device MMU for Scalable Virtualized I/O and Memory Overcommitment
Cloud data centers increasingly rely on device virtualization to share high-bandwidth network adapters and accelerators among virtual machines (VMs). Single Root I/O Virtualization (SR-IOV) exposes Virtual Functions (VFs) directly to guest VMs, but the Input/Output Memory Management Unit (IOMMU) on the host processor becomes a bottleneck as the number of VFs grows: its small translation lookaside buffer (TLB) causes severe throughput degradation. Meanwhile, because the hypervisor cannot determine which guest memory regions are used for Direct Memory Access (DMA), it must pin the entire VM memory, preventing memory overcommitment and wasting physical resources. Existing solutions, including Address Translation Services (ATS), the Page Request Interface (PRI), and software-emulated virtual IOMMUs, suffer from compatibility, deployment, or CPU overhead limitations. We propose DMMU, a Device MMU system implemented on programmable SmartNICs that addresses both the IOMMU translation bottleneck and the memory-pinning barrier to overcommitment, with minimal host software modification and zero guest awareness. DMMU introduces two techniques: combo-DMA , which dynamically routes address translations between the IOMMU and an on-device translation engine depending on IOMMU load, and direct-PRI , which enables the SmartNIC to issue page fault requests directly to a host-side driver, bypassing the multi-layer emulation path of conventional PRI in virtualized environments. We implement DMMU through a microcode update to a commodity dual-port 100G NIC and evaluate it on Intel Skylake and Ice Lake servers. With a representative 120-VF configuration, DMMU improves NIC throughput by 65% and reduces IOTLB misses by 38 × compared to the baseline IOMMU. DMMU also enables reliable memory overcommitment with device passthrough, achieving near-baseline Redis performance at a 1.35 × overcommitment ratio.
Authors
- Zhengwei Qi (ORCID: https://orcid.org/0000-0003-2730-2319)
- Jiwei Lu
- Haibing Guan (ORCID: https://orcid.org/0000-0002-4714-7400)
- Chongmin Wu (ORCID: https://orcid.org/0000-0002-5952-3426)
- Kaicheng Guo (ORCID: https://orcid.org/0000-0003-0493-1147)
- Jie Wu (ORCID: https://orcid.org/0000-0002-3472-1717)
- Yun Wang (ORCID: https://orcid.org/0009-0009-7969-6891)
- Chen Chen (ORCID: https://orcid.org/0000-0002-8668-5391)
- Rong Zhang (ORCID: https://orcid.org/0009-0006-4489-7659)
- Xiubin Mao (ORCID: https://orcid.org/0009-0006-3752-2218)
Institutions
- Shanghai Jiao Tong University (CN)
- Huawei Technologies (China) (CN)
- China Telecom (China) (CN)
- China Telecom (CN)
Publication Details
- Journal
- ACM Transactions on Architecture and Code Optimization
- Published
- 2026-10-19
- DOI
- https://doi.org/10.1145/3847659
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00