This is the end of the preview. Sign up
to
access the rest of the document.

Unformatted text preview: Chapter 7: Termination Detection Ajay Kshemkalyani and Mukesh Singhal Distributed Computing: Principles, Algorithms, and Systems Cambridge University Press A. Kshemkalyani and M. Singhal (Distributed Computing) Termination Detection CUP 2008 1 / 30 Distributed Computing: Principles, Algorithms, and Systems Introduction A fundamental problem: To determine if a distributed computation has terminated. A non-trivial task since no process has complete knowledge of the global state, and global time does not exist. A distributed computation is globally terminated if every process is locally terminated and there is no message in transit between any processes. Locally terminated state is a state in which a process has finished its computation and will not restart any action unless it receives a message. In the termination detection problem, a particular process (or all of the processes) must infer when the underlying computation has terminated. A. Kshemkalyani and M. Singhal (Distributed Computing) Termination Detection CUP 2008 2 / 30 Distributed Computing: Principles, Algorithms, and Systems Introduction A termination detection algorithm is used for this purpose. Messages used in the underlying computation are called basic messages, and messages used for the purpose of termination detection are called control messages. A termination detection (TD) algorithm must ensure the following: 1 Execution of a TD algorithm cannot indefinitely delay the underlying computation. 2 The termination detection algorithm must not require addition of new communication channels between processes. A. Kshemkalyani and M. Singhal (Distributed Computing) Termination Detection CUP 2008 3 / 30 Distributed Computing: Principles, Algorithms, and Systems System Model At any given time, a process can be in only one of the two states: active , where it is doing local computation and idle , where the process has (temporarily) finished the execution of its local computation and will be reactivated only on the receipt of a message from another process. An active process can become idle at any time. An idle process can become active only on the receipt of a message from another process. Only active processes can send messages. A message can be received by a process when the process is in either of the two states, i.e., active or idle. On the receipt of a message, an idle process becomes active. The sending of a message and the receipt of a message occur as atomic actions. A. Kshemkalyani and M. Singhal (Distributed Computing) Termination Detection CUP 2008 4 / 30 Distributed Computing: Principles, Algorithms, and Systems Definition of Termination Detection Let p i ( t ) denote the state (active or idle) of process p i at instant t ....
View Full
Document