Premium
Separating policy from correctness in concurrency control design
Author(s) -
Robinson John T.
Publication year - 1984
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.4380140904
Subject(s) - correctness , computer science , concurrency , concurrency control , distributed computing , simple (philosophy) , control (management) , non lock concurrency control , distributed concurrency control , hierarchical control system , serializability , isolation (microbiology) , multiversion concurrency control , database transaction , transaction processing , programming language , distributed transaction , artificial intelligence , philosophy , epistemology , microbiology and biotechnology , biology
The designer of a concurrency control is currently faced with a confusing situation: there has been a proliferation of proposed methods (in fact, it will be shown here that even in the ‘simple’ centralized case there are infinitely many methods), and although there has been some analysis of a few alternative methods using simulation and analytic models, it is usually impossible to accurately predict some of the parameters required by these models prior to the development of a system. Furthermore, over the lifetime of a system some parameters will change, possibly radically, due to changes in system usage, the replacement or addition of processors, memories, and I/O devices, the development of new applications, etc. Here, a practical approach to this problem is presented: separating policy from correctness in the design of the concurrency control. This technique was successfully used in the development of a transaction processing system for the Cm* multi‐microprocessor. As an illustration of this approach, the design of the concurrency control of this system is described in detail. This design should apply directly to any centralized single‐level (non‐hierarchical) concurrency control.