Next: Views, Vpages, and Minipages
Up: The MultiView Technique
Previous: The MultiView Technique
Consider three variables x, y, and z, whose size is smaller
than that of a page.
In a page-based DSM system, the memory for these variables may be
allocated on the same page, resulting in false sharing.
Consider a mapping of the page that contains these variables
to three different, non-overlapping, virtual address regions, starting at
addresses v1, v2, and v3, so that each of the locations in the page
can be viewed via three different virtual addresses.
Each of the regions is called a a view.
Since access permission is controlled through the virtual memory
mechanism, it follows that protection and fault handling
can now be applied in three different and independent ways,
one for each view.
Consequently, the mechanism for maintaining page consistency can also
arbitrate between three different policies, each using the
access capability setting of one of the views.
Figure 1 depicts this situation.
Figure 1:
Mapping three virtual views to a single memory page in which
three variables reside.
|
Now suppose the application uses different views to
access different variables, say, the variable x is accessed via
,
y via
,
and z via
.
Then, although the variables reside in successive memory addresses
on the same physical page, they are seen by the application as if placed in
three different (virtual) pages.
It is now possible to manage a separate access policy for
each variable using its respective view.
Moreover, an independent consistency protocol can be implemented for
each variable, despite the fact that all three reside on the same page.
Next: Views, Vpages, and Minipages
Up: The MultiView Technique
Previous: The MultiView Technique
Ayal Itzkovitz and Assaf Schuster, The Technion