CC和DSM模型的常数摊销RMR复杂度确定可中止互斥算法
Constant Amortized RMR Complexity Deterministic Abortable Mutual Exclusion Algorithm for CC and DSM Models
摘要:
可中止互斥锁问题是Scott和Scherer为了满足数据库和实时的系统的需要而提出的,在这些系统中,进程有时不得不放弃获取互斥锁的尝试,以从潜在的死锁中恢复或避免超过截止日期。对于多处理器的Cache-Coherent(CC)和Distributed Shared Memory(DSM)模型的标准互斥问题,O(1)RMR复杂度的算法已经是已知的,但是对于可中止互斥是否也可以实现O(1)RMR复杂度,在这个问题已经被研究的18年中仍然是开放的。Jayanti给出了两种模型的Theta(log n)最坏情况RMR复杂度解决方案,其中n是并发执行算法的进程的最大数量。Giakouppis和Woelfel的算法,去年在PODC上提出,是一个O(1)摊销复杂度算法,但它只适用于CC模型,使用随机化,不满足饥饿自由,O(1)摊销边界仅在预期中成立,并被证明为弱(遗忘)对手模型。我们设计了一个算法,是免费的这些限制:我们的算法是确定性的,支持快速中止(一个进程完成中止在O(1)的步骤),有一个小的空间复杂度O(n),只需要硬件支持的Fetch&Store指令,满足一个新颖定义的先来先服务的可中止锁,最重要的是,有O(1)的CC和DSM模型的摊销RMR复杂度。我们的算法是短而实用的,不到十几行代码,并伴随着严格的证明互斥通过不变量和饥饿自由和复杂性分析,通过距离和潜在的功能。因此,模摊销,我们的结果肯定地回答了上述长期存在的公开问题。
英文摘要:
The abortable mutual exclusion problem was introduced by Scott and Scherer to meet a need that arises in database and real time systems, where processes sometimes have to abandon their attempt to acquire a mutual exclusion lock to initiate recovery from a potential deadlock or to avoid overshooting a deadline. Algorithms of O(1) RMR complexity have been known for the standard mutual exclusion problem for both the Cache-Coherent (CC) and Distributed Shared Memory (DSM) models of multiprocessors, but whether O(1) RMR complexity is also achievable for abortable mutual exclusion has remained open for the 18 years that this problem has been investigated. Jayanti gives a Theta(log n) worst case RMR complexity solution for both models, where n is the maximum number of processes that execute the algorithm concurrently. Giakouppis and Woelfel's algorithm, presented at PODC last year, is an O(1) amortized complexity algorithm, but it works only for the CC model, uses randomization, does not satisfy Starvation Freedom, and the O(1) amortized bound holds only in expectation and is proven for the a weak (oblivious) adversary model. We design an algorithm that is free of these limitations: our algorithm is deterministic, supports fast aborts (a process completes an abort in O(1) steps), has a small space complexity of O(n), requires hardware support for only the Fetch&Store instruction, satisfies a novely defined First Come First Served for abortable locks, and most importantly, has O(1) amortized RMR complexity for both the CC and DSM models. Our algorithm is short and practical with fewer than a dozen lines of code, and is accompanied by a rigorous proof of mutual exclusion through invariants and of starvation-freedom and complexity analysis through distance and potential functions. Thus, modulo amortization, our result answers affirmatively the long standing open question described above.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。