A major trend in recent cluster communication systems is to circumvent the operating system during the actual data transfers. That, on the one hand, reduces latency since there is no user-kernel transition needed and, on the other hand, increases bandwidth by avoiding additional intermediate copies. The data transfer is handled completely by the networking hardware and its DMA engines. For example, the Virtual Interface Architecture (VIA) is an industry standard that specifies how user processes can access networking hardware directly in a protected manner. One of its characteristics is that it requires that all memory used for communication be locked down into physical memory. The same requirement holds true for the Infiniband Architecture (IBA). In an earlier paper we proposed a mechanism for Linux that ensures reliable locking of regular, i.e. private, virtual memory without altering the kernel. In this paper we present an extended solution that can handle System V shared memory as well.
[1]
Wolfgang Rehm,et al.
Memory Management in a Combined VIA/SCI Hardware
,
2000,
IPDPS Workshops.
[2]
Rajkumar Buyya,et al.
2001 IEEE International Conference on Cluster Computing
,
2001
.
[3]
Robert Magnus,et al.
Linux Kernel Internals
,
1996
.
[4]
Wolfgang Rehm,et al.
Proposing a mechanism for reliably locking VIA communication memory in Linux
,
2000,
Proceedings IEEE International Conference on Cluster Computing. CLUSTER 2000.
[5]
Thorsten von Eicken,et al.
Incorporating Memory Management into User-Level Network Interfaces
,
1997
.