Title :
Memory Management Support for Multi-Programmed Remote Direct Memory Access (RDMA) Systems
Author :
Magoutis, Kostas
Author_Institution :
IBM T. J. Watson Res. Center, Hawthorne, NY
Abstract :
Current operating systems offer basic support for network interface controllers (NICs) supporting remote direct memory access (RDMA). Such support typically consists of a device driver responsible for configuring communication channels between the device and user-level processes but not involved in data transfer. Unlike standard NICs, RDMA-capable devices incorporate significant memory resources for address translation purposes. In a multi-programmed operating system (OS) environment, these memory resources must be efficiently shareable by multiple processes. For such sharing to occur in a fair manner, the OS and the device must cooperate to arbitrate access to NIC memory, similar to the way CPUs and OSes cooperate to arbitrate access to translation lookaside buffers (TLBs) or physical memory. A problem with this approach is that today´s RDMA NICs are not integrated into the functions provided by OS memory management systems. As a result, RDMA NIC hardware resources are often monopolized by a single application. In this paper, I propose two practical mechanisms to address this problem: (a) Use of RDMA only in kernel-resident I/O subsystems, transparent to user-level software; (b) An extended registration API and a kernel upcall mechanism delivering NIC TLB entry replacement notifications to user-level libraries. Both options are designed to re-instate the multiprogramming principles that are violated in early commercial RDMA systems
Keywords :
application program interfaces; multiprogramming; network interfaces; storage management; NIC TLB entry replacement notification; kernel-resident I/O subsystem; memory management support; multiprogrammed operating system environment; multiprogrammed remote direct memory access systems; network interface controllers; operating systems; translation lookaside buffers; Application software; Communication channels; Communication system control; Control systems; Hardware; Kernel; Memory management; Network interfaces; Operating systems; Software libraries;
Conference_Titel :
Cluster Computing, 2005. IEEE International
Conference_Location :
Burlington, MA
Print_ISBN :
0-7803-9486-0
Electronic_ISBN :
1552-5244
DOI :
10.1109/CLUSTR.2005.347031