A Low-Overhead, Fault-Tolerant Distributed Concurrency Control Facility

碩士 === 國立交通大學 === 資訊科學學系 === 86 === In distributed systems, race condition may occur if two or more execution unitstry to access a shared resource concurrently. In order to prevent this problem,these execution units will use concurrency con...

Full description

Bibliographic Details
Main Authors: Lin, Wan-Yu, 林萬宇
Other Authors: Shyan-Ming Yuan
Format: Others
Language:zh-TW
Published: 1998
Online Access:http://ndltd.ncl.edu.tw/handle/08462563891187938620
Description
Summary:碩士 === 國立交通大學 === 資訊科學學系 === 86 === In distributed systems, race condition may occur if two or more execution unitstry to access a shared resource concurrently. In order to prevent this problem,these execution units will use concurrency control facilities during theyaccess shared resources. Locks, or similar facilities, are the most popular concurrency control facilities for their simplicity. We find out that some programs often use nesting locks; that is, after an execution unit has been granted a lock, it still requests the same lock before it releases the lock. This property can be found in systems that provide automatic concurrency control, such as transaction processing systems. It also can be found in a program with mindless design. Hence, we devise a hierarchical lock facility to exploit this property. It employs the notion of proxy to reduce the overhead ofrequesting a nested lock. In addition, it is also fault-tolerant, and can tolerate single- site failure of server nodes. Moreover, it provides a GUI interface for managing fault-tolerant-related functions conveniently. We implement this facility upon Windows NT 4.0. It is compatible with the critical section facility that was built in Windows NT natively; furthermore, it makes programs exploit their concurrency more easily than using critical section. It can also be ported to other operating systems with ease because it is fully implemented under user-mode. Besides, since Windows NT is an operating system that supports SMP hardware platform, we take advantage of some characteristics of multiprocessor systems, and try to reduce the overhead of using this facility. In this thesis, we will examine each aspect of this facility.