|
Cluster 2005 |
START ConferenceManager |
Kostas Magoutis
RAIT Workshop
IEEE
International Conference on Cluster Computing (Cluster 2005)
Boston, Massachusetts, USA, September 26, 2005
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.
|
START Conference
Manager (V2.49.7) |
|
Maintainer: rrgerber@softconf.com
|