Distributed algorithms are used in many varied application areas of distributed computingsuch as telecommunicationsscientific computingdistributed information processingand real-time process control.
The choice of an appropriate distributed algorithm to solve a given problem depends on both the characteristics of the problem, and characteristics of the system the algorithm will run on such as the type and probability of processor or link failures, the kind of inter-process communication that can be performed, and the level of timing synchronization between separate processes.
Algorithm — If process P1 detects a coordinator failure, it creates new active list which is empty initially. Standard problems solved by distributed algorithms include leader electionconsensusdistributed searchspanning tree generation, mutual exclusionand resource allocation.
Distributed system is a collection of independent computers that do not share their memory. If the coordinator process crashes due to some reasons, then a new coordinator is elected on other processor.
Data structure that this algorithm uses is active list, a list that has priority number of all active processes in the system.
Election Algorithms: Election algorithms choose a process from group of processors to act as a coordinator.