Mutual exclusion is one of the most commonly used techniques to handle contention in concurrent systems. Traditionally, mutual exclusion algorithms have been designed under the assumption that a process does not fail while acquiring/releasing a lock or while executing its critical section. However, failures do occur in real life, potentially leaving the lock in an inconsistent state. This gives rise to the problem of recoverable mutual exclusion (RME) that involves designing a mutual exclusion (ME) algorithm that can tolerate failures, while maintaining safety and liveness properties. In this work, we present a framework that transforms any algorithm that solves the RME problem into an algorithm that can also simultaneously adapt to (1) the number of processes competing for the lock, as well as (2) the number of failures that have occurred in the recent past, while maintaining the correctness and performance properties of the underlying RME algorithm. Additionally, the algorithm constructed as a result of this transformation adds certain desirable properties like fairness (a variation of FCFS) and bounded recovery. Assume that the worst-case RMR complexity of a critical section request in the underlying RME algorithm is $R(n)$. Then, our framework yields an RME algorithm for which the worst-case RMR complexity of a critical section request is given by $\mathcal{O}(\min \{\ddot{c}, \sqrt{F+1}, R(n)\})$, where $\ddot{c}$ denotes the point contention of the request and $F$ denotes the number of failures in the recent past of the request. We further extend our framework by presenting a novel memory reclamation algorithm to bound the worst-case space complexity of the RME algorithm. The memory reclamation techniques maintain the fairness, performance and correctness properties of our transformation and is general enough to be employed to bound the space of other RME algorithms.


翻译:相互排斥是处理同时系统争议的最常用技术之一。 传统上, 相互排斥算法的设计所依据的假设是, 在获取/ 释放锁或执行关键部分时, 程序不会失败, 但是在现实生活中确实发生故障, 可能使锁处于一个不一致的状态。 这就产生了可回收的相互排斥( RME) 问题, 包括设计一种可以容忍失败的相互排斥( ME) 算法, 同时保持安全和活性特性。 在这项工作中, 我们提出了一个框架, 将解决 RME 问题的任何失败算法转换成一个算法, 可以同时适应(1) 与锁竞争的流程数量, 以及(2) 最近发生的失败数量, 同时又保持了基本的 RME 算法的正确性和性性能。 此外, 由于这种转变而构建的算法增加了某些可取性, 比如公平性( FCFFS 的变异) 和 捆绑定的恢复。 假设RME 算法中最坏的 RMRR 的复杂性是 美元 。 然后, 我们的 RME 最坏的内变法 的内变法 由 RMR 的 RM 的内 的最近的变法 由 Rma 的 Rma 最复杂要求 。 R. d 的 R. d 由 R. d 的 R. d d 的 R. d d d 向 向 向的 R.

0
下载
关闭预览

相关内容

专知会员服务
51+阅读 · 2020年12月14日
知识驱动的视觉知识学习,以VQA视觉问答为例,31页ppt
专知会员服务
36+阅读 · 2020年9月25日
迁移学习简明教程,11页ppt
专知会员服务
108+阅读 · 2020年8月4日
【伯克利-Ke Li】学习优化,74页ppt,Learning to Optimize
专知会员服务
41+阅读 · 2020年7月23日
强化学习最新教程,17页pdf
专知会员服务
177+阅读 · 2019年10月11日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
104+阅读 · 2019年10月9日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
Disentangled的假设的探讨
CreateAMind
9+阅读 · 2018年12月10日
博客 | CIFAR10 数据预处理
AI研习社
11+阅读 · 2018年10月12日
条件GAN重大改进!cGANs with Projection Discriminator
CreateAMind
8+阅读 · 2018年2月7日
算法|随机森林(Random Forest)
全球人工智能
3+阅读 · 2018年1月8日
【计算机类】期刊专刊/国际会议截稿信息6条
Call4Papers
3+阅读 · 2017年10月13日
【推荐】决策树/随机森林深入解析
机器学习研究会
5+阅读 · 2017年9月21日
【音乐】Attention
英语演讲视频每日一推
3+阅读 · 2017年8月22日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Arxiv
0+阅读 · 2021年12月15日
Arxiv
0+阅读 · 2021年12月14日
Arxiv
0+阅读 · 2021年12月10日
Arxiv
0+阅读 · 2021年12月10日
Arxiv
8+阅读 · 2020年10月12日
Meta-Transfer Learning for Zero-Shot Super-Resolution
Arxiv
43+阅读 · 2020年2月27日
VIP会员
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
Disentangled的假设的探讨
CreateAMind
9+阅读 · 2018年12月10日
博客 | CIFAR10 数据预处理
AI研习社
11+阅读 · 2018年10月12日
条件GAN重大改进!cGANs with Projection Discriminator
CreateAMind
8+阅读 · 2018年2月7日
算法|随机森林(Random Forest)
全球人工智能
3+阅读 · 2018年1月8日
【计算机类】期刊专刊/国际会议截稿信息6条
Call4Papers
3+阅读 · 2017年10月13日
【推荐】决策树/随机森林深入解析
机器学习研究会
5+阅读 · 2017年9月21日
【音乐】Attention
英语演讲视频每日一推
3+阅读 · 2017年8月22日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员