Check out the new USENIX Web site. next up previous
Next: Implementation Issues Up: Minipages and Views Layouts Previous: Minipages and Views Layouts

   
The Privileged View

Multithreaded DSMs commonly use server threads for DSM management, and application threads for carrying out computation. We call the views that are used by the application threads application views.

In addition to the fine granularity capabilities, MULTIVIEW enables another useful feature. An additional, separate view is constructed, called the privileged view. The protection of the privileged view is fixed and set to ReadWrite. The DSM server threads may use it at all times to access the memory, and are thus not constrained by the DSM memory protections, as determined by the consistency guarantees imposed on the application views.

There are two common DSM operations which highly benefit from using the privileged view. First, atomic minipage updates can now be performed in user-mode. While access is blocked through the application views, the DSM server thread can freely access minipages via the privileged view. Once the modification is complete, the protection in the application views can be reduced, thus enabling the application threads to access the modified memory. In this way multithreading can be employed safely.

Secondly, buffering and copying of long messages can be avoided. The privileged view may be used to directly send/receive minipages from/to the user space. While communication activities are taking place using the privileged view, application thread access to the same memory region is forbidden by the protection imposed on the application views. In this way, buffer copying is completely eliminated in the DSM layer. Later, in Section 3.5, we describe how all this is implemented in MILLIPAGE and integrated with the Illinois FastMessages.


next up previous
Next: Implementation Issues Up: Minipages and Views Layouts Previous: Minipages and Views Layouts
Ayal Itzkovitz and Assaf Schuster, The Technion