Suggest how to adapt the Bully algorithm to deal with temporary network partitions (slow communication) and slow processes.
What will be an ideal response?
With the operating assumptions stated in the question, we cannot guarantee to elect a unique process at any time. Instead, we may find it satisfactory to form subgroups of processes that agree on their coordinator, and allow several such subgroups to exist at one time. For example, if a network splits into two then we could form two subgroups, each of which elects the process with the highest identifier among its membership. However, if the partition should heal then the two groups should merge back into a single group with a single coordinator.
The algorithm known as the ‘invitation algorithm’ achieves this. It elects a single coordinator among each subgroup whose members can communicate, but periodically a coordinator polls other members of the entire set of processes in an attempt to merge with other groups. When another coordinator is found, a coordinator sends it an ‘invitation’ message to invite it to form a merged group. As in the Bully algorithm, when a process suspects the unreachability or failure of its coordinator it calls an election.
You might also like to view...
________ allows multiple users to work on the same workbook at the same time
A) Merging B) Tracking C) Collaboration D) Automation
An object's ____ thus consists of ____ values.
A. position; three B. point of view; three C. position; six D. point of view; six