Papers for 5-30

Mark Andrew SMITH (masmith@cs.ucsd.edu)
Tue, 30 May 2000 00:53:02 -0700 (PDT)

Memory Coherence in Shared Virtual Memory Systems

This paper presents memory coherence schemes in a distributed
shared memory multiprocessor machine. Memory coherence is the main problem
facing loosely coupled microprocessors. Keeping memory coherent in a
network of shared data constantly being read and written can be a very
expensive task.
Two main strategies to synchronization are looked at. First is
invalidation. In this case, on a write fault, the processor invalidates
all copies of the page across the system and then grabs the needed page.
The next method described and the simplest is simply a write-broadcast
protocol. In this protocol, each write to a faulted page is broadcast
across the network to every other processor holding that page. All pages
are updated. This, however, requires special hardware to skip over the
faulted write cycle or the same page fault will occur again. There are
various types of page ownership as well. First, fixed ownership means that
a processor owns a certain set of pages for the life of the processes and
that set cannot change. This yields a very expensive implementation.
Dynamic ownership is much preferred. However, with dynamic ownership, a
manager is needed to keep track of the information. This manager comes in
two flavors as well: local and distributed. The distributed manager can
either be static or dynamic.
It turns out that performance measurements for the distributed dynamic
mamager system is the best. It also has the fewest broadcasts to find the
owner of a page.

Implementing Global Memory Management in a Workstation Cluster

This paper is the result of recent changes in computer networks which
allow for very fast network speeds compared to disk accesses. It becomes
very cost-effective to page to network memory rather than to disk as the
disparity between solid state speeds and disk speeds grows. A global
memory management system in the workstation cluster is implemented and
described. A page miss brings the faulted page into local memory and
removes it from its last location using cluster-wide age information.
Nodes may be added and subtracted from the network at will. Performance
gains are seen by several applications almost linear with the increase in
Nodes. This is pretty cool stuff.

-Mark A. Smith