当前位置: X-MOL 学术arXiv.cs.OS › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
GMEM: Generalized Memory Management for Peripheral Devices
arXiv - CS - Operating Systems Pub Date : 2023-10-19 , DOI: arxiv-2310.12554
Weixi Zhu, Alan L. Cox, Scott Rixner

This paper presents GMEM, generalized memory management, for peripheral devices. GMEM provides OS support for centralized memory management of both CPU and devices. GMEM provides a high-level interface that decouples MMU-specific functions. Device drivers can thus attach themselves to a process's address space and let the OS take charge of their memory management. This eliminates the need for device drivers to "reinvent the wheel" and allows them to benefit from general memory optimizations integrated by GMEM. Furthermore, GMEM internally coordinates all attached devices within each virtual address space. This drastically improves user-level programmability, since programmers can use a single address space within their program, even when operating across the CPU and multiple devices. A case study on device drivers demonstrates these benefits. A GMEM-based IOMMU driver eliminates around seven hundred lines of code and obtains 54% higher network receive throughput utilizing 32% less CPU compared to the state-of-the-art. In addition, the GMEM-based driver of a simulated GPU takes less than 70 lines of code, excluding its MMU functions.

中文翻译:

GMEM:外围设备的通用内存管理

本文介绍了针对外围设备的 GMEM(通用内存管理)。GMEM 为 CPU 和设备的集中内存管理提供操作系统支持。GMEM 提供了一个高级接口,可以解耦 MMU 特定的功能。因此,设备驱动程序可以将自己附加到进程的地址空间,并让操作系统负责其内存管理。这消除了设备驱动程序“重新发明轮子”的需要,并允许它们受益于 GMEM 集成的一般内存优化。此外,GMEM 在内部协调每个虚拟地址空间内的所有连接设备。这极大地提高了用户级可编程性,因为即使跨 CPU 和多个设备操作,程序员也可以在程序中使用单个地址空间。设备驱动程序的案例研究证明了这些好处。与最先进的技术相比,基于 GMEM 的 IOMMU 驱动程序消除了大约 700 行代码,并使用减少 32% 的 CPU 获得了 54% 更高的网络接收吞吐量。此外,模拟 GPU 的基于 GMEM 的驱动程序仅需不到 70 行代码(不包括其 MMU 功能)。
更新日期:2023-10-20
down
wechat
bug