This study describes our thorough experience of formal modeling and exhaustive verification of concurrent systems, particularly mutual exclusion algorithms. The experience focuses on Lycklama and Hadzilacos’s (LH) mutual exclusion algorithm. LH rests on the reduced size of the shared state, contains a mechanism that tries to enforce an FCFS order to processes entering their critical section, and embodies Burns and Lamport’s (BL) mutual exclusion algorithm. The modeling methodology is based on timed automata and the model checker of the popular Uppaal toolbox. The effectiveness of the modeling and analysis approach is first demonstrated by studying the BL’s solution and retrieving all its properties, including, in general, its unbounded overtaking, which is the non-limited number of by-passes a process can suffer before accessing its critical section. Then, the LH algorithm is investigated in depth by showing it fulfills all the mutual exclusion properties when it operates with atomic memory. However, as this study demonstrates, LH is not free of deadlocks when used with non-atomic memory. Finally, a state-of-the-art mutual exclusion solution is proposed, which relies on a stripped-down LH version for processes, which is used as the arbitration unit in a tournament tree (TT) organization. This study documents that LH’s TT-based algorithm satisfies all the mutual exclusion properties, with a linear overtaking, both using atomic and non-atomic memory.
Read full abstract