In this paper we develop a novel technique, called MULTIVIEW, which enables
implementation of page-based fine-grain DSMs.
We show how the traditional techniques for implementing page-based
DSMs can be extended to control the sharing granularity in a
flexible way, even when the size of the sharing unit varies, and is
smaller than the operating system's page size.
The run-time overhead imposed in the proposed technique is
negligible.
We present a DSM system, called MILLIPAGE, which builds upon MULTIVIEW in
order to support sharing in variable-size units.
MILLIPAGE efficiently implements Sequential Consistency and shows
comparable (sometimes superior) performance to related systems which
use relaxed consistency models.
It uses standard user-level operating system API and requires
no compiler intervention, page twinning, diffs, code instrumentation, or
sophisticated protocols.
The resulting system is a ``thin'' software layer consisting mainly of
a simple, ``clean'' protocol that handles page-faults.