A memory access semantics for user data structures adapted in an unstructured, software-oriented distributed shared memory

Page-based software distributed shared memory (DSM) allows processes to share a unique paged virtual address space on top of a message-passing environment. It also allows the more natural shared memory programming paradigm that programmers find easy to adopt as compared to message passing style of p...

Full description

Saved in:
Bibliographic Details
Main Author: Dinawanao, Dante D.
Format: text
Language:English
Published: Animo Repository 2003
Subjects:
Online Access:https://animorepository.dlsu.edu.ph/etd_masteral/3215
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: De La Salle University
Language: English
Description
Summary:Page-based software distributed shared memory (DSM) allows processes to share a unique paged virtual address space on top of a message-passing environment. It also allows the more natural shared memory programming paradigm that programmers find easy to adopt as compared to message passing style of programming. However, conventional page-based DSM implementations lack the ability to exploit the access semantics naturally expressed by the data structures used by distributed applications running on top of the DSM. By providing the DSM manager with semantic information about the individual data structure types, their operations, and their implementations, appropriate memory management procedures (as determining which page or set of pages to fetch in advance) can be applied, thus improving the DSM applications performance. In this thesis, a DSM access model to represent memory access semantics that considers the explicit information about the shared data structures was developed with a set of rules that translates the access semantics to specific storage representation and memory management procedures, along with a simple simulator for a lazy release consistent DSM 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 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.