Network Interface for Protected, User-Level Communication (Thesis)

Report ID: TR-568-96
Author: Blumrich, Matthias A.
Date: 1996-06-00
Pages: 155
Download Formats: |Postscript|
Abstract:

Scalable parallel architectures are converging on the general framework of a distributed memory parallel processor (DMPP), consisting of a group of interconnected compute nodes, each typically consisting of a CPU, some memory, and a network interface. DMPP architectures range from tightly-coupled multicomputers to loosely-coupled networks of personal computers (PCs), and support a number of parallel programming paradigms including shared-memory and message-passing. Networks of PCs are very attractive DMPPs because of the high performance and low cost of the PC nodes. Custom-built multicomputers have one principal advantage over networks of PCs: they are faster. The major reason for this advantage is a gap in communication performance between multicomputer interconnects and local area networks. Recent networking trends have seen a migration of technology from multicomputers to networks of PCs, shrinking this communication performance gap considerably. However, software overhead---largely attributable to local area network interfaces---continues to maintain the performance gap. This dissertation describes how network interfaces can bridge the gap by providing appropriate support for protected, user-level communication with extremely low software overhead. Such network interfaces can be used to build scalable, high-performance, really inexpensive multiprocessors out of low-cost, commodity components. This assertion is demonstrated via a working implementation of a prototype SHRIMP network of PCs. The prototype achieves data transfer latency competitive with custom multicomputers, and efficient use of bandwidth down to small message sizes. In addition, SHRIMP supports general multiprogramming, extending its benefits from uniprocessors to multiprocessors. The key to SHRIMP performance is virtual memory-mapped communication, which strips away overhead from time-critical data transfer operations without sacrificing all the services that systems have come to depend on. Equipped with virtual memory-mapped communication, networks of PCs could very well become commodity scalable systems.