This Article 
 Bibliographic References 
 Add to: 
Implementing Atomicity in Two Systems: Techniques, Tradeoffs, and Experience
October 1993 (vol. 19 no. 10)
pp. 950-961

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 is to help others implement efficient systems that support atomicity.

[1] M. G. Baker, J. H. Hartman, M. D. Kupfer, K. W. Shirriff, and J. Ousterhout, "Measurements of a distributed file system," inProc. 13th SOSP, ACM, Oct. 1991, pp. 198-212.
[2] M. R. Brown, K. N. Kolling, and E. A. Taft, "The Alpine file system,"ACM TOCS, vol. 3, no. 4, pp. 261-293, Nov. 1985.
[3] L. F. Cabrera and J. Wyllie, "Quicksilver distributed file services: An architecture for horizontal growth," inProc. 2nd IEEE Conf. Comput. Workstations, Santa Clara, CA, Mar. 1988, pp. 23-37.
[4] A. Chang and M. F. Mergen, "801 Storage: Architecture and programming,"ACM Trans. Comput. Syst., vol. 6, no. 1, pp. 28-50, Feb. 1988.
[5] D. S. Daniels, "Distributed logging for transaction processing," Technical report, Ph.D. dissertation, Carnegie-Mellon Univ., Dec. 1988.
[6] D. L. Detlefs, M. P. Herlihy, and J. M. Wing, "Inheritance of synchronization and recovery properties in Avalon/C++,"IEEE Computer, vol. 21, no. 12, pp. 57-69, Dec. 1988.
[7] J. L. Eppinger, L. Mummert, and A. Z. Spector, Eds.,Camelot and Avalon: A Distributed Transaction Facility. Los Altos, CA: Morgan Kaufmann, 1991.
[8] J. N. Gray and A. Reuter, "Transaction Processing: Concepts and Techniques," Morgan Kaufman, San Mateo, Calif., Vol. 1,067, 1993.
[9] L. M. Haas, W. Chang, G. M. Lohman, J. McPherson, P. F. Wilms, G. Lapis, B. Lindsay, H. Pirahesh, M. J. Carey, and E. Shekita, "Starburst Mid-Flight: As the dust clears,"IEEE Trans. Knowledge Data Eng., vol. 2, no. 1, pp. 143-160, Mar. 1990.
[10] R. Hagmann, "Reimplementing the Cedar file system using logging and group commit," inProc. 11th SOSP, ACM, Nov. 1987, pp. 155-162.
[11] W. Sawdon, R. Haskin, Y. Malachi, and G. Chan, "Recovery management in Quicksilver,"ACM Trans. Comput. Syst., vol. 6, no. 1, pp. 82-108, Feb. 1988.
[12] T. Haerder and A. Reuter, "Principles of transaction-oriented data-base recovery,"ACM Comput. Surveys, vol. 15, pp. 287-317, Dec. 1983.
[13] B. Lampson, "Atomic transactions," inDistributed Systems: Architecture and Implementation(Lecture Notes in Computer Science, vol. 105). Berlin: Springer-Verlag, 1981, pp. 246-265.
[14] B. W. Lampson and H. E. Sturgis, "Crash recovery in a distributed data storage system," Technical repot XEROX Palo Alto Research Center, Computer Science Laboratory, 3333 Coyote Hill road, Palo Alto, CA 94304, 1976.
[15] B. Lindsay, "A data management extension architecture," inProc. 1987 ACM-SIGMOD Conf. Management Data, San Francisco, CA. May 1987.
[16] B. Liskov and R. Scheifler, "Guardians and actions: linguistic support for robust, distributed programs,"ACM Trans. Program. Languages Syst., vol. 5, no. 3, pp. 381-404, July 1983.
[17] R. A. Lorie, "Physical integrity in a large segmented database,"ACM Trans. Database Syst., vol. 2, pp. 91-104, Mar. 1977.
[18] C. Mohan, "ARIES/KVL: A key-value locking method for concurrency control of multi-action transactions operating on B-tree indexes," inProc. 16th VLDB Conf., Brisbane, 1990.
[19] C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh, and P. M. Schwarz, "ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging,"ACM TODS, vol. 1, no. 1, Jan. 1991.
[20] C. Mohan and F. Levine, "ARIES/IM: An efficient and high concurrency index management method using write-ahead logging," Technical Report RJ 6846, IBM Almaden Research Center, Comput. Sci. Dep., 650 Harry Road, San Jose, CA 95120-6099, Aug. 1989.
[21] C. Mohan, B. Lindsay, and R. Obermarck, "Transaction management in the R*distributed database management system,"ACM Trans. Database Syst., vol. 11, Dec. 1986.
[22] C. Mohan and H. Pirahesh, "ARIES-RRH: Restricted repeating of history in the ARIES transaction recovery method," inProc. Seventh Int. Conf. on Data Engineering,, Apr. 1991.
[23] J. E. B. Moss, "Nested transactions: An approach to reliable distributed computing," Massachusetts Inst. Technol. Lab. Comput. Sci., Tech. Rep. MIT/LCS/TR-260, Apr. 1981.
[24] J. Ousterhoutet al., "Trace-driven analysis of the Unix 4.2 BSD file system," inProc. 10th ACM Symp. on Operating System Principles, Dec. 1985.
[25] M. Rosenblum and J. Ousterhout, "The Design and Implementation of a Log-Structured File System,"Proc. 13th Symp. Operating System Principles, ACM, New York, 1991.
[26] M. Satyanarayanan, H. H. Mashburn, P. Kumar, D. C. Steere, and J. J. Kisrler, "Lightweight recoverable virtual memory," Technical report, Carnegie Mellon Univ., School of Computer Science, Mar. 1993.
[27] F. Schmuck and J. Wyllie, "Experience with transactions in QuickSilver," inProc. 13th SOSP, ACM, Oct. 1991, pp. 239-253.
[28] Schwarz, "Transactions on typed objects," Ph.D. Dep. Comput. Sci., Carnegie-Mellon University, 1984.

Index Terms:
atomicity; QuickSilver distributed file system; Starburst relational database manager; atomic properties; concurrency; mutual consistency; client-server transactions; transaction systems; recoverable data structures; shadow copies; stable storage; distributed databases; network operating systems; relational databases; transaction processing
L.-F. Cabrera, J.A. McPherson, P.M. Schwarz, J.C. Wyllie, "Implementing Atomicity in Two Systems: Techniques, Tradeoffs, and Experience," IEEE Transactions on Software Engineering, vol. 19, no. 10, pp. 950-961, Oct. 1993, doi:10.1109/32.245737
Usage of this product signifies your acceptance of the Terms of Use.