PD_DistributedSystems PD_CloudComputing TCPP_Algorithms TCPP_CrossCutting CS2 Systems ParProg Graduate visual

Originally described by Paulo A.G. Sivilotti and Scott Pike

Paper available online:


See paper for full details. This activity demonstrates how an algorithm can recover from data corruption. The students in this activity represent processes in an undirected connected graph. Each process has a unique identifier. The goal is to identify the process with the highest identifier. While the process identifiers themselves are not corruptible, the model assumes that transient faults may occur that can corrupt data values associated with the process. The corrupted data values can only be fixed by overwriting them with fresh values.

Illustrating the Intolerant Algorithm

Stable Leader Election Algorithm

CS2013 Knowledge Unit Coverage

PD/Distributed Systems

9. Give examples of problems for which consensus algorithms such as leader election are required. [Usage]

PD/Cloud Computing

2. Explain strategies to synchronize a common view of shared data across a collection of devices.[Familiarity]

TCPP Topics Coverage

Algorithms Topics

Cross Cutting and Advanced Topics

The instructors used this activity in an upper-level undergraduate course on parallel programming. They also recommend the activity for graduate students.


This activity may be difficult for blind students.


No assessment provided.