Memory Coherence in Shared Virtual Memory Systems.

From: Manish Mittal (manishm_at_microsoft.com)
Date: Thu Feb 19 2004 - 12:46:05 PST


This paper discusses methods to implement distributed shared virtual
memory on loosely
clustered workstations. In multiprocessors, each processor may reference
any memory pages at any time. This causes multiple read\write operations
to occur concurrently on the same pages. This is called the memory
coherence problem. Any shared memory system must guarantee that the
value returned by a read operation must be the same as the value written
by the most recent write operation on the same address.

 

The paper describes several algorithms to implement controlled access to
shared pages among processors. It describes two classes of solutions:
centralized and distributed algorithms. The centralized manager
algorithm is straightforward and easy to implement, but it may cause
congestion at the central manager when the network gets larger and has
more page faults. There are two variations of the distributed manager
algorithm: fixed distributed manager and dynamic distributed manager. In
Fixed Distributed Manager approach, each page is hashed to find the
Manager of the page and several processors can have the ownership
information. In this approach, a processor still needs to spend about
two messages to locate an owner. The dynamic distributed manager
algorithm and its variations have the most desirable overall features,
and may need as few as one message to locate an owner. The paper
concludes that the Dynamic Distributed Manager is the best approach in
shared virtual Memory systems.

 

In general the paper presents a nice framework for dealing with a shared
virtual memory and compares some fundamental strategies of dealing with
page faults.

 



This archive was generated by hypermail 2.1.6 : Thu Feb 19 2004 - 12:46:51 PST