Thealgorithms for implementing these concepts are presented. The connections betweenthe different models are explored. Finally, a model for proving the correctness ofdistributed algorithms is presented. While thedistributed synchronization algorithms are not considered pragmatic, they illustrateimportant algorithm design techniques. The chapter concludes with algorithms for electing a computationleader.
Election is a critical component of many systems.
The invitation algorithmviiin particular is a prototype for handling failures in an asynchronous system andforeshadows the group view maintenance algorithms of Chapter 12. Chapter 11 discusses the abstract distributed agreement problem. First, Byzantineagreement is discussed. This is the appropriate point to introduce the FLP result, because the nextchapter covers replicated data management and must solve distributed agreement inasynchronous systems. The chapter discusses these implications of the FLPresult and concludes with some randomized agreement protocols.