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 network. Links to papers on GMS are included below.

Project Members