About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
Publication
IEEE Transactions on Software Engineering
Paper
Implementing Atomicity in Two Systems: Techniques, Tradeoffs, and Experience
Abstract
This paper presents our experience with implementing atomicity in two systems: the QuickSilver distributed file system and the Starburst relational database manager. Each of these systems guarantees that certain collections of operations done on behalf of their clients execute atomically, despite process, machine, or network failures. In this paper we describe the atomic properties implemented by each system, present the algorithms and mechanisms used, examine the similarities and differences between the two systems, and give the rationale for different design decisions. We demonstrate that the support of atomicity with high performance requires a variety of techniques carefully chosen to balance the amount of data logged, the level of concurrency allowed, and the mutual consistency requirements of sets of objects. The main goal of this paper is to help others implement efficient systems that support atomicity. Although we will discuss many techniques and mechanisms for implementing atomicity, we do not attempt to provide an exhaustive description of all possibilities or a complete set of references, nor do we claim to be the first to use the techniques that we describe. © 1993 IEEE