From: Tarik Nesh-Nash (tarikn_at_microsoft.com)
Date: Wed Feb 18 2004 - 17:46:24 PST
This paper states the importance of the movement of memory data and
processes between physical processors and discusses its major problem;
memory coherence. It presents different design solutions to this
problem and gives experimental data about its performance.
A first design decision was relates to the granularity. Pages size was
decided to be optimal since it provides a good performance tradeoff
(considering: size, contention and locality). The paper then discusses
many strategies for memory coherence based on page synchronization and
page ownership.
The writeback page synchronization approach was rejected and the
invalidation method was used for its better performance. At the
ownership level, since the static ownership is too restrictive, the
paper favors dynamic pages ownership and presents three different
methods to implement it.
Centralized system, where all the ownership information is stored at the
master machine, seems the easy to implement and to debug; it could be
also improved by moving the synchronization logic to the nodes.
However, the centralized system has the drawback of potential bottleneck
at the master level. Fixed distributed management offers a relatively
better performance but it is limiting (How does recoverability
handled?). A Broadcasting mechanism can workaround this limitation,
though the communication can become a bottleneck. An improvement will be
to have logic to best guess the page owner machine.
Experimental results show that this design offers better performance
results.
In general, this paper discusses interesting architectural improvements
to better use memory and processors. Many issues were not discusses
though:
- Load balancing
- Could a process share pages that are stored across many
processors? (a huge program)
This archive was generated by hypermail 2.1.6 : Wed Feb 18 2004 - 17:46:24 PST