SHRIMP

a BIG Shrimp

SHRIMP, a Scalable, High-Performance, Really Inexpensive, MultiProcessor, is a parallel machine that uses virtual-memory mapping for internodal communication. Built from off-the-shelf components (Pentium PCs and an Intel Paragon routing backplane), SHRIMP permits communication directly at user-level while still providing protection for multiple processes and multiple users. It does this by mapping segments of virtual memory between processes running on different nodes.

By subsuming communication, the memory-management system is able to provide necessary protection. Once processes map these segments of their virtual address spaces, they can communicate with one another by local memory operations.

This provides a rich infrastructure on which low-overhead, user-level message-passing systems can be built. The degree of functionality provided by such a message-passing system is flexible, allowing applications to incur only that overhead needed to provide the message-passing semantics that they truly require. Work exploring this lush cornucopia of communication options on SHRIMP (to be described in a later paper) is underway.

How this is done, and how shared distributed virtual memory can be implemented on such a system is the focus of my dissertation research.

Other people working on SHRIMP are Kai Li, Doug Clark, Ed Felten, Dick Lipton, Czarek Dubnicki, Matt Blumrich, and Malena Mesarina.

Pat Hanrahan, Gordon Stoll, and Bin Wei are working on SHRIMP-based parallel framebuffer hardware for graphics applications.

Here's another SHRIMP page.


Memory-Mapped Network Interface for the Shrimp Multicomputer. Matthias A Blumrich, Kai Li, Richard D Alpert, Cezary Dubnicki, Edward W Felten, and Jonathan S Sandberg. Proceedings of the 1994 International Symposium for Computer Architecture.

Here is the abstract and the paper itself.