Memory Coherence in Shared Virtual Memory Systems.

From: Chuck Reeves (creeves_at_windows.microsoft.com)
Date: Wed Feb 18 2004 - 14:38:28 PST

  • Next message: Justin Voskuhl: "Review for "Memory Coherence in Shared Virtual Memory Systems""

    The paper "Memory Coherence in Shared Virtual Memory Systems" was
    written by Kai Li and Paul Hudak, at Yale University in 1986. It
    discusses the design and implementation of a number of different shared
    memory systems on loosely coupled multiprocessors. The designs differed
    in their approach to managing memory coherence. I interpreted this to be
    the validity of information in copies of memory in the presence of
    parallel read and writes. Dimensions that varied included
    synchronization techniques (invalidation vs writeback) and ownership
    methodologies (static vs dynamic). The paper chooses to focus on dynamic
    ownership strategies that use invalidation to synchronize data between
    shared pages of memory. A centralized management approach, establishes a
    single monitor to control the state of reader-writer locks associated
    with each page. Each processor communicate with this monitor using
    messages. Attempts to read and write to a page generate a synchronous
    message sent to the monitor to guarantee proper data coherency.
    Additionally, a confirmation message is sent to the manager once access
    to that page is no longer required (similiar to the enter/exit used for
    crititical sections). By moving ownership (copy-set data) to the
    individual processors the confirmation operation can be removed.

    The most interesting approach presented is the distributed manager
    algorithms. It does away with any concept of a centralized page manager
    and simply allows processors to coordinate ownership and locking
    behavior between themselves. Two approaches to ownership are presented:
    fixed and dynamic. In the fixed model, a hash of the page number is used
    to determine the owner and never changes. In the dynamic model,
    processors retain a reference to the last known owner. These hints are
    chased down to locate the actual current page owner. This is simliar to
    the garbage collection algorithms described in the Emerald distributed
    object system. The authors suggest an optimization to reduce the average
    number of edges that must be traversed to identify the true owner. The
    optimized behavior, is to generate a broadcast after a configurable
    number of page faults on each page entry occurs.

    I didn't really understand the benefits of the refinement introduced in
    section 4.5 around management of copy_sets. I would appreciate some
    discussion on this aspect of the design.

    Chuck Reeves, creeves_at_microsoft.com
    Microsoft | Windows | Directory Services


  • Next message: Justin Voskuhl: "Review for "Memory Coherence in Shared Virtual Memory Systems""

    This archive was generated by hypermail 2.1.6 : Wed Feb 18 2004 - 14:38:39 PST