|
ABSTRACT
In a distributed system, node failures, network delays, and other unpredictable occurences can result in orphan computations—subcomputations that continue to run but whose results are no longer needed. Several algorithms have been proposed to prevent such computations from seeing inconsistent states of the shared data. In this paper, two such orphan management algorithms are analyzed. The first is an algorithm implemented in the Argus distributed-computing system at MIT, and the second is an algorithm proposed at Carnegie-Mellon. The algorithms are described formally, and complete proofs of their correctness are given.
The proofs show that the fundamental concepts underlying the two algorithms are very similar in that each can be regarded as an implementation of the same high-level algorithm. By exploiting properties of information flow within transaction management systems, the algorithms ensure that orphans only see states of the shared data that they could also see if they were not orphans. When the algorithms are used in combination with any correct concurrency control algorithm, they guarantee that all computations, orphan as well as nonorphan, see consistent states of the shared data.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
~ALLCHIN, J. E. An architecture for reliable decentralized systems. Tech. Rep. GIT-ICS- ~83/23. Georgia Institute of Technology, Atlanta, Ca., Sept. 1983.
|
| |
2
|
|
| |
3
|
|
| |
4
|
|
 |
5
|
|
| |
6
|
|
| |
7
|
~HERLIHY, M., LYNCH, N., MERRITT, M., AND WEIHL, W. On the correctness of orphan ~elimination algorithms. In Proceedings of the 17th International Symposium on Fault-Tolerant ~Computing (Pittsburgh, Pa., July). IEEE, New York, 1987, pp. 8-13. (Extended version ~available as MIT/LCS/TM-329, Laboratory for Computer Science. Massachusetts Institute ~of Technology, Cambridge, Mass., May 1987.)
|
| |
8
|
|
 |
9
|
|
| |
10
|
~LISKOV, B., SCHEIFLER, R., WALKER, E. F., AND WEIHL, W. Orphan detection. In Proceedings ~ of the 17th International Symposium on Fault-Tolerant Computing (July). IEEE, New York, ~1987, pp. 2-7.
|
| |
11
|
~LYNCH, N.A. Concurrency control for resilient nested transactions. Adt,. Comput. Res. 3 ~(1986), 335-373.
|
| |
12
|
|
| |
13
|
|
| |
14
|
~LYNCH, N., MERRITT, M., WEIHL, W., AND FEKETE, A. Atomic Transactions. Morgan- ~Kaufmann, San Mateo, Calif. To appear, Fall 1992.
|
 |
15
|
|
| |
16
|
~LYNCH, N., AND TUTrLE, M. An introduction to input/output automata. CWI Quarterly 2, 3 ~(1989), 219-246.
|
| |
17
|
|
| |
18
|
|
| |
19
|
~NELSON, B.J. Remote procedure call. Tech. Rep. CMU-CS-81-119. Dept. Computer Sci- ~ence, Carnegie-Mellon Univ., Pittsburgh, Pa., May 1981.
|
| |
20
|
~PERL, S. Distributed commit protocols for nested atomic actions. Tech. Rep. ~MIT/LCS/TR-431. Massachusetts Institute of Technology, Cambridge, Mass., Sept. 1987.
|
| |
21
|
~Pu, C. AND NOE, J.D. Nested transactions for general objects: The Eden implementation. ~Tech. Rep. TR-85-12-03. Dept. of Computer Science, Univ. of Washington, Seattle, Wash., ~December 1985.
|
 |
22
|
|
| |
23
|
~SPECTOR, m., AND SWEDLOW, K. Guide to the Camelot Distributed Transaction Faczhty.' Release ~1. Carnegie-Mellon Univ., Pittsburgh, Pa., Oct. 1987.
|
| |
24
|
|
| |
25
|
|
 |
26
|
|
CITED BY
|
|
Alan Fekete , Nancy Lynch , William E. Weihl, A serialization graph construction for nested transactions, Proceedings of the ninth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems, p.94-108, April 02-04, 1990, Nashville, Tennessee, United States
|
INDEX TERMS
Primary Classification:
D.
Software
D.4
OPERATING SYSTEMS
D.4.1
Process Management
Subjects:
Concurrency
Additional Classification:
D.
Software
D.1
PROGRAMMING TECHNIQUES
D.1.3
Concurrent Programming
Subjects:
Distributed programming
D.3
PROGRAMMING LANGUAGES
D.3.2
Language Classifications
Subjects:
Concurrent, distributed, and parallel languages
D.4
OPERATING SYSTEMS
D.4.1
Process Management
Subjects:
Concurrency
D.4.5
Reliability
Subjects:
Fault-tolerance
F.
Theory of Computation
F.3
LOGICS AND MEANINGS OF PROGRAMS
F.3.1
Specifying and Verifying and Reasoning about Programs
Subjects:
Invariants;
Assertions;
Specification techniques
H.
Information Systems
H.2
DATABASE MANAGEMENT
H.2.3
Languages
Subjects:
Database (persistent) programming languages
H.2.4
Systems
Subjects:
Transaction processing;
Concurrency;
Distributed databases
General Terms:
Algorithms,
Languages,
Reliability,
Theory,
Verification
Keywords:
Argus,
atomic actions,
avalon,
camelot,
input-output automata,
recovery,
serializability
|