Rankers: a classification of synchronization problems

Ambuj K. Singh, Mohamed G. Gouda
1993 Science of Computer Programming  
Singh, A.K. and M.G. Gouda, Rankers: a classification of synchronization problems, Science of Computer Programming 21 (1993) 191-223. The need for synchronization of concurrent computation arises due to various reasons. All such instances where synchronization is required have been abstracted into a few well-known problems: producer-consumer, mutual exclusion, dining philosophers, etc. This paper presents a general mechanism and an accompanying methodology for solving such synchronization
more » ... ms. The paper starts by recognizing a common property of all solutions to synchronization problems, namely the presence of some form of arbitration. This idea is crystallized by introducing ranks as a mechanism for carrying out arbitration, and by introducing rankers as a distributed module that computes ranks upon request. Mandatory and optional properties of rankers are specified. Based on this specification, a strict hierarchy of four increasingly powerful rankers is identified. Each ranker in this hierarchy is best suited to solve a particular class of synchronization problems and together the four rankers are sufficient for solving most synchronization problems in the literature. A general methodology for solving synchronization problems using rankers is developed. This methodology is illustrated by solving a number of synchronization problems from the literature.
doi:10.1016/0167-6423(93)90009-e fatcat:za3r3f4clbelxk2k3lytn3sf3q