Global Resource Sharing on Workstation and PC Clusters
Our research concerns the design and implementation of
algorithms for global resource sharing in workstation
clusters. Our first efforts have been in the design and
implementation of GMS, a global memory system for a network
of workstations. In GMS, global information is used in order
to make "globally-optimal," network-wide, page replacement decisions. The
system uses idle or "older" pages in the network to house
replaced pages from highly active nodes. Thus, on a page
fault, a replaced page may be sent to "global memory" rather
than to disk. When a page is read from disk and another page must
be replaced (sent to disk) in exchange, GMS attempts to
replace the "globally least valuable" page in the network.
In our current work, we have extended GMS to include network-wide
prefetching. That is, an active node can request that an inactive
node prefetch data into the inactive node's memory; the data will
then be prefetched just before needed into the active node's memory.
Our new version of global memory, including prefetching, is called
"PMS" -- Prefetching global Memory System.
We have also experimented with the use of subpages to
reduce the latency of remote memory faults, and have conducted analytic
modeling of global memory systems to show how server load should be
considered in replacement decisions.
We have implemented GMS and PMS underneath the virtual memory and file
systems on the DEC UNIX operating system, running on
an Myrinet-connected network of DEC
Alpha workstations. We are now porting
to FreeBSD, and will be using a network of Intel
PCs and Myrinet switched
Links to papers on GMS are included below.
Implementing Global Memory Management in a Workstation Cluster.
Michael J. Feeley, William E. Morgan, Frederic H. Pighin, Anna R. Karlin,
Henry M. Levy, and Chandramohan A. Thekkath.
In Proc. of the 15th ACM Symposium on Operating Systems Principles
, December 1995.
Reducing Network Latency Using Subpages in a Global Memory Environment.
H.A. Jamrozik, M.J. Feeley, G.M. Voelker, J. Evans II, A.R. Karlin, H.M. Levy, and M.K. Vernon.
In Proc. of the Seventh ACM Conference on Architectural Support for Programming Languages
and Operating Systems, October 1996.
- Managing Server Load in Global Memory Systems.
Geoffrey Voelker, Herve Jamrozik,
Mary Vernon, Henry Levy, and Edward Lazowska. Proc. of the 1997 ACM
Sigmetrics Conference on Performance Measurement, Modeling, and Evaluation, June 1997.
Cooperative Prefetching and Caching in a Global Memory System.
Geoff Voelker, Eric Anderson, Tracy Kimbrel, Mike Feeley, Jeff Chase,
and Henry Levy. Proc. of the 1998 ACM Sigmetrics Conference on
Performance Measurement, Modeling, and Evaluation, June 1998.
- On the
scale and performance of cooperative Web proxy caching. Alec Wolman, Geoff Voelker, Nitin Sharma, Neal Cardwell, Anna Karlin, and Henry Levy. Proc. of the 17th ACM Symp. on Operating
Systems Principles, December 1999.