We design two Recoverable Mutual Exclusion (RME) locks for the system-wide crash model. Our first algorithm requires only space per process, and achieves worst-case RMR complexity in the CC model. Our second algorithm enhances the first algorithm to achieve (the same) space per process and 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 RMR complexity assuming nothing more than standard hardware support. In light of Chan and Woelfel's 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.
View on arXiv