Programmer-Transparent Coordination of Recovering Concurrent Processes: Philosophy and Rules for Efficient Implementation
Issue No. 06 - June (1988 vol. 14)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.6160
<p>An approach to coordination of cooperating concurrent processes, each capable of error direction and recovery, is presented. Error detection, rollback, and retry in a process are specified by a well-structured language construct called recovery block. Recovery points of processes must be properly coordinated to prevent a disastrous avalanche of process rollbacks. The approach relies on an intelligent processor system (that runs processes) capable of establishing and discarding the recovery points of interacting processes in a well coordinated manner such that a process never makes two consecutive rollbacks without making a retry between the two, and every process rollback becomes a minimum-distance rollback. Following a discussion of the underlying philosophy of the author's approach, basic rules of reducing storage and time overhead in such a processor system are discussed. Examples are drawn from the systems in which processes communicate through monitors</p>
programmer transparent coordination; system recovery; storage reduction; data structures; recovering concurrent processes; error direction; language construct; recovery block; intelligent processor system; process rollback; minimum-distance rollback; time overhead; data structures; error detection; fault tolerant computing; multiprocessing programs; programming theory; supervisory programs; system recovery
K. Kim, "Programmer-Transparent Coordination of Recovering Concurrent Processes: Philosophy and Rules for Efficient Implementation," in IEEE Transactions on Software Engineering, vol. 14, no. , pp. 810-821, 1988.