Constant RMR Recoverable Mutex under System-wide Crashes
We design two Recoverable Mutual Exclusion (RME) locks for the system-wide crash model. Our first algorithm requires only O(1) space per process, and achieves O(1) worst-case RMR complexity in the CC model. Our second algorithm enhances the first algorithm to achieve (the same) O(1) space per process and O(1) worst-case RMR complexity in both the CC and DSM models. Furthermore, both algorithms allow dynamically created threads of arbitrary names to join the protocol and access the locks. To our knowledge, these are the only RME locks to achieve worst-case O(1) RMR complexity assuming nothing more than standard hardware support. In light of Chan and Woelfel's Ω(log n / loglog n) worst-case RMR lower bound for RME in the individual crash model, our results show a separation between the system-wide crash and individual crash models in worst-case RMR complexity in both the CC and DSM models.
READ FULL TEXT