Check out the new USENIX Web site. next up previous
Next: Minipages and Views Layouts Up: The MultiView Technique Previous: The Basic Idea

Views, Vpages, and Minipages

Most DSM systems provide consistency guarantees for a single, large, contiguous region of shared addresses. In systems which implement MULTIVIEW, the shared space is mapped to several such regions of virtual addresses, called views. Consequently, each memory element can be accessed via the virtual memory mapping mechanisms, using any of the views. Since views must be managed in granularity of pages, each view consists of a sequence of virtual memory pages which we call vpages.

MULTIVIEW lets the application manage each memory element through a dedicated view, or a vpage, which is said to be associated with this element. Because each memory element (in the above example, a variable) can now be managed independently regardless of its size, we call it a minipage. Minipage sizes vary; they can be as large as the virtual page size or as small as the basic memory addressing unit.

A minipage is identified by the associated vpage number and a pair $<\mbox{offset, length}>$ which indicates the region inside the vpage where the minipage resides. A protection is controlled for the minipage using the virtual memory mapping mechanisms by manipulating the associated vpage protection. A NoAccess protection indicates a non-present minipage, a ReadOnly protection is set for read copies, and a writable copy gets a ReadWrite protection. Copying minipages between the hosts, invalidating minipage copies, and changing access permissions are all done according to the consistency guarantees and the protocols implementing them.

The basic feature which enables the implementation of a fine granularity DSM using the MULTIVIEW method is the independent manipulation of access permissions for minipages which physically share the same memory page, but are accessed by the application via different vpages. For instance, the following protocol implements Sequential Consistency. When a read fault occurs, i.e., when the application attempts to read a minipage for which the associated vpage has a NoAccess protection, an accessible copy of that minipage is located in one of the hosts and brought in. Accessing the minipage is then enabled by changing the protection of the associated vpage to ReadOnly. Similarly, upon encountering a write fault, a copy of the minipage is retrieved, all other copies are invalidated, and a ReadWrite protection is set for the associated vpage.


next up previous
Next: Minipages and Views Layouts Up: The MultiView Technique Previous: The Basic Idea
Ayal Itzkovitz and Assaf Schuster, The Technion