Abstract |
In this paper, we describe a proposed distributed shared memory (DSM) access model to represent memory access semantics that considers the explicit information about the user data structures shared by tasks belonging to a DSM application, along with a set of rules that translates the access semantics to specific storage representation and memory management procedures. A simple simulator for a lazy release consistent DSM was created that roughly measures the performance gain of using access semantic information. Results obtained from the simulation have shown that the use of access semantics, particularly in the three data structures STACK, QUEUE, and DEQUE, substantially reduced the number of page faults and the number of messages generated. Two test cases based on the variation of a data structure element size were used in the simulation of the three data structures. The following results were obtained based on the percentage difference on the number of page faults and on the number of messages generated when access semantics is not used and when it is used by the underlying DSM mechanism. The first test case is for the 4-byte element of the three data structures where the number of page faults has reduced by 35%, 44%, and 33% respectively on the average, while the reduction on the number of messages generated averages at 18%, 24%, and 21% respectively. For the 10K-byte element test case, the reduction on the number of page faults of the three data structures averages at 68%, 53%, and 50%, while the number of messages has reduced by 13%, 23%, and 24% on the average. This shows that the technique of using memory access semantics over a page-based, software-oriented DSM works. |