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 $\Omega(\log n / \log\log 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.
翻译:我们为全系统坠毁模型设计了两种可回收的相互排除锁(RME),我们的第一种算法要求每个过程只需要一美元(1)美元的空间,并实现了CC模型中最坏的RMR复杂性。我们的第二种算法加强了第一个算法,以便在CC和DSM模型中实现(同样)一美元的空间和最坏的RMR复杂性。此外,这两种算法允许加入协议并进入锁。据我们所知,只有这两种算法才能在C和DSM模型中以最坏的RMR复杂情况实现最坏的RMR(1)美元(RM)。鉴于C和DSM模型中最坏的RMR(C和DSM模型中最坏的RMR)模式,我们的结果显示系统范围内的坠毁与个人坠毁模型之间的分离。