A nonblocking algorithm for array-based shared queue using compare&swap

碩士 === 國立交通大學 === 資訊工程系 === 87 === Queues are often used in computer programming, operating system, and algorithm development. A concurrent queue allows several processes manipulating it simultaneously and is especially useful for distributed system. Nonblocking algorithms, in...

Full description

Bibliographic Details
Main Authors: Dong-Jung Wu, 吳東峻
Other Authors: Ting-Lu Huang
Format: Others
Language:zh-TW
Published: 1999
Online Access:http://ndltd.ncl.edu.tw/handle/13128340105621989142
Description
Summary:碩士 === 國立交通大學 === 資訊工程系 === 87 === Queues are often used in computer programming, operating system, and algorithm development. A concurrent queue allows several processes manipulating it simultaneously and is especially useful for distributed system. Nonblocking algorithms, in contrast to blocking algorithm in which an idle process may block other processes¢ ongoing manipulation on shared data, guarantee that the nonfailed processes can always make progress. In order to avoid garbage collection problem, we develop the algorithm for shared queue based on array. We use the compare&swap primitive to develop the algorithm. Unlike many proposed algorithms, the running time of our Deq operation is independent of the numbers of operations performed. In addition, we prove the correctness of our algorithm.