We present a randomized approach for lock-free locks with strong bounds on time and fairness in a context in which any process can be arbitrarily delayed. Our approach supports a tryLock operation that is given a set of locks, and code to run when all the locks are acquired. Given an upper bound $\kappa$ known to the algorithm on the point contention for a tryLock it will succeed in acquiring its locks and running the code with probability at least $1/\kappa$. It is thus fair. If the algorithm does not know the bound $\kappa$, we present a variant that can guarantee a probability of at least $1/\kappa\log\kappa$ of success. Furthermore, if the maximum step complexity for the code in any lock is $T$, and the point contentions are constant, the attempt will take $O(T)$ steps. The attempts are independent, thus if the tryLock is repeatedly retried on failure, it will succeed in $O(T)$ expected steps, and with high probability in not much more. Importantly, however, retrying is not mandatory, and a process may choose to execute different code upon failure. We assume an oblivious adversarial scheduler, which does not make decisions based on the operations, but can predetermine any schedule for the processes, which is unknown to our algorithm. Furthermore, to account for applications that change their future requests based on the results of previous lock attempts, we strengthen the adversary by allowing decisions of the start times and lock sets of tryLock attempts to be made adaptively, given the history of the execution so far.


翻译:我们提出一个随机的方法,用于在任何程序都可能被任意拖延的情况下,有严格时间和公平约束的无锁锁。 我们的方法支持所有锁都获得时运行的试 Lock 操作的概率为1美元/ kapa/log\kappa/ 代码。 如果在点角对试 Lock 争论的算法上有一个上限 $\ kapa$, 它将成功获得它的锁并运行代码, 概率至少为1美元/\\ kapa$。 因此这是公平的。 如果算法不知道约束$\ kapa$, 我们的方法会提出一个变量, 可以保证至少1美元/ kapa\ log\ kappa$的成功概率。 此外, 如果任何锁中代码的最大步数复杂度为$T$, 而点数争论是恒定的, 尝试将花费$( T) 。 尝试是独立的, 因此, 如果在失败时反复重试, 它会以$( T) 设定预期的步骤, 并且可能性很大。 但是, 重新尝试运行运行运行时间的尝试不是强制的, 。

0
下载
关闭预览

相关内容

【如何做研究】How to research ,22页ppt
专知会员服务
108+阅读 · 2021年4月17日
专知会员服务
123+阅读 · 2020年9月8日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
《DeepGCNs: Making GCNs Go as Deep as CNNs》
专知会员服务
30+阅读 · 2019年10月17日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
2019年机器学习框架回顾
专知会员服务
35+阅读 · 2019年10月11日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
已删除
将门创投
5+阅读 · 2019年4月4日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
[DLdigest-8] 每日一道算法
深度学习每日摘要
4+阅读 · 2017年11月2日
Fast B4B: Fast BFT for Blockchains
Arxiv
0+阅读 · 2021年10月11日
Arxiv
0+阅读 · 2021年10月6日
Arxiv
4+阅读 · 2021年7月1日
Arxiv
6+阅读 · 2018年4月24日
Arxiv
3+阅读 · 2018年2月24日
VIP会员
相关VIP内容
【如何做研究】How to research ,22页ppt
专知会员服务
108+阅读 · 2021年4月17日
专知会员服务
123+阅读 · 2020年9月8日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
《DeepGCNs: Making GCNs Go as Deep as CNNs》
专知会员服务
30+阅读 · 2019年10月17日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
2019年机器学习框架回顾
专知会员服务
35+阅读 · 2019年10月11日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
相关资讯
已删除
将门创投
5+阅读 · 2019年4月4日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
[DLdigest-8] 每日一道算法
深度学习每日摘要
4+阅读 · 2017年11月2日
Top
微信扫码咨询专知VIP会员