Please use this identifier to cite or link to this item:
Title: The design and implementation of a reliable monitor construct for distributed programming
Authors: Cheung, King-cheung
Degree: M.Phil.
Issue Date: 2002
Abstract: Being a structured and flexible language-level programming construct for centralized multi-programming environment, the monitor construct can be extended as a good facility for high-level, structured distributed synchronization. This project is concerned with extending the monitor concept to programming distributed systems. It aims to develop an application-level distributed monitor construct for programming in a large-scale distributed system such as the Internet computing environment. The distributed monitor construct we developed is based on a well-known tree-based distributed mutual exclusion algorithm proposed by K. Raymond in 1989. Raymond's algorithm is used extensively because it is relatively easy to adapt to a large-scale distributed system such as the Internet, which is our target programming environment. In order to increase the scalability, a two-level system structure is used in our distributed monitor construct: the node level which controls access to the system-wide shared resource using Raymond's algorithm and the process level which synchronizes local processes based on the local monitor concept. Thus, distributed mutual exclusion of node accesses is ensured at the node level while local mutual exclusion of process requests is guaranteed at the process level. With this mutual exclusion hierarchy, processes and nodes are now distinguishable; this eliminates all possible redundant request messages induced by the original system structure. A prototype of the two-level distributed monitor construct has been implemented using JAVA2TM. Raymond's algorithm cannot handle dynamic node joining and leaving and the failures of consecutive neighboring nodes. We have proposed an adaptive and robust tree configuration scheme, which extends the capabilities of the distributed monitor construct so that it becomes scalable and fault-tolerant. This scheme operates on its own, and can cooperate with Raymond's algorithm to ensure distributed mutual exclusion, to adopt new and remove existing nodes, and to handle node failures. This feature decreases the interference of each other and increases the dependency of both running mechanisms.
Subjects: Parallel programming (Computer science)
Electronic data processing -- Distributed processing
Computer algorithms
Hong Kong Polytechnic University -- Dissertations
Pages: 159 leaves : ill. ; 30 cm
Appears in Collections:Thesis

Show full item record

Page views

Last Week
Last month
Citations as of Jun 4, 2023

Google ScholarTM


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.