Abstract
This paper describes a new model for constructing distributed systems
called the Remote Memory Model. The remote memory model consists of
several client machines, one or more dedicated machines called remote
memory servers, and a communication channel interconnecting them. In
the remote memory model, client machines share the memory resources
located on the remote memory server. Client machines that exhaust their
local memory move portions of their address space to the remote memory
server and retrieve pieces as needed. Because the remote memory server
uses a machine-independent protocol to communicate with client machines,
the remote memory server can support multiple heterogenous client
machines simultaneously.
This paper describes the remote memory model and discusses the advantages
and issues of system that use this model.It examines the design of a
highly efficient, reliable, machine-independent protocol used by the
remote memory server to communicate with the client machines. It also
outlines the algorithms and data structures employed by the remote memory
server to efficiently locate the data stored on the server. Finally,
it presents measurements of a prototype implementation that clearly
demonstrate the viablility and competitive performance of the remote
memory model.