Incorporating Memory Management into User-Level Network Interfaces

Incorporating Memory Management into User-Level Network Interfaces
复制标题

将内存管理合并到用户级网络接口中

DOI:
--
复制
发表时间:
1997
期刊:
影响因子:
--
通讯作者:
T. V. Eicken
T. V. Eicken
中科院分区:
--
文献类型:
--
作者:
Matt Welsh;A. Basu;T. V. Eicken

文献摘要

被引文献

相似文献

用户级网络接口允许应用程序直接访问网络,而无需操作系统在每次发送和接收时进行干预。消息通过网络接口直接传入和传出用户空间,同时遵守进程之间的传统保护边界。当前的用户级网络接口将此消息传输限制到永久固定的物理内存的每个进程区域,以实现安全的DMA。这种方法不灵活,因为它需要将数据复制到该内存区域和从该内存区域复制数据,并且不能扩展到大量进程。本文提出了U-Net用户级网络体系结构(U-Net/MM)的一种扩展,允许消息直接往返于应用程序的S地址空间的任何部分。这是通过在网络接口中集成翻译后备缓冲器并与操作系统的S虚拟存储器子系统协调操作来实现的。这种机制允许动态地固定和解锁网络缓冲器页。描述了U-Net/MM的两种实现,表明现有的商用硬件和商用操作系统可以有效地支持这种体系结构。
User-level network interfaces allow applications direct access to the network without operating system intervention on every send and receive. Messages are transferred directly to and from user-space by the network interface while observing the traditional protection boundaries between processes. Current user-level network interfaces limit this message transfer to a per-process region of permanently-pinned physical memory to allow safe DMA. This approach is inflexible in that it requires data to be copied into and out of this memory region, and does not scale to a large number of processes. This paper presents an extension to the U-Net user-level network architecture (U-Net/MM) allowing messages to be transferred directly to and from any part of an application''s address space. This is achieved by integrating a translation look-aside buffer into the network interface and coordinating its operation with the operating system''s virtual memory subsystem. This mechanism allows network buffer pages to be pinned and unpinned dynamically. Two implementations of U-Net/MM are described, demonstrating that existing commodity hardware and commercial operating systems can efficiently support the architecture.