Opportunistic Mutual Exclusion
针对共享资源互斥中利用率次优的问题,提出机会互斥协议,利用时序信息在无时钟条件下让服务器基于事件顺序授予早期访问,并给出电路实现与能耗延迟报告。
2023-05-09 cs.DC
Group Mutual Exclusion in Linear Time and Space
针对群体互斥问题,提出了两种满足互斥、饥饿自由、有界退出、并发进入和先到先服务等性质的算法。这两种算法都只使用简单的读写指令,在Cache Coherent(CC)模型下具有O(N)的共享空间复杂度和O(N)的远程内存引用(RMR)复杂度。我们的第一个算法是通过推广著名的Lamport的面包房算法的经典互斥问题,同时保持其简单性和优雅。但是,它使用无界共享寄存器。我们的第二个算法只使用有界寄存器,并通过推广Taubenfeld的黑白面包房算法来解决经典的互斥问题,只使用有界共享寄存器。我们表明,与常见的看法相反,我们的算法是第一个实现这些属性与这些组合的复杂性。
2015-05-28 cs.DC
Introducing Speculation in Self-Stabilization - An Application to Mutual Exclusion
自稳定确保了在任何瞬时故障之后,系统在有限的时间内恢复并最终表现出来。推测在于保证系统满足其对任何执行的要求,但对于更可能的执行子集表现出更好的性能。从这个意义上说,推测协议在实践中应该是健壮和有效的。我们引入投机稳定的概念,我们说明通过互斥问题。然后,我们提出了一种新的投机稳定互斥协议。我们的协议是自稳定的任何异步执行。我们证明了它的同步执行的稳定时间是diam(g)/2步(其中diam(g)表示系统的直径)。这个复杂性结果是独立的利益。著名的Dijkstra互斥协议在同步执行中稳定了n步(其中n是进程的数量),从那时起(近40年),稳定时间是否可以严格小于直径的问题一直是开放的。我们表明,这确实是可能的任何底层拓扑结构。我们还提供了一个下限证明,表明我们的新的稳定时间的直径(g)/2步骤是最佳的同步执行,即使异步稳定是不需要的。
2013-02-09 cs.DC
Memory Reclamation for Recoverable Mutual Exclusion
互斥是并发系统中处理冲突的一种常用技术。随着非易失性存储器技术的最新发展,可恢复互斥(RME)问题越来越受到关注,RME是进程可以失败并恢复的ME的特殊情况。然而,为了确保RME的问题也是实际的利益,而不仅仅是一个理论,内存回收构成了一个主要的障碍,在几个RME算法。RME算法通常需要动态分配内存,这会随着时间的推移增加算法的内存占用。由于并发性和故障,这些算法通常没有配备合适的垃圾回收。在这项工作中,我们提出了第一个“一般”可恢复的内存回收算法的背景下,可恢复的互斥。我们的算法可以很容易地插入到任何RME算法,并保持所有的正确性属性和最理想的性能的算法。我们的算法的空间开销是$\mathcal{O}(n^2 * sizeof(node)\ )$,其中$n$是系统中的进程总数。在远程内存引用(RMR)方面,我们的算法是RMR最优的,即它有一个恒定的RMR开销每通道。我们的RMR和空间复杂度适用于$CC$和$DSM$内存模型。
2021-03-02 cs.DC
Local Mutual Exclusion for Dynamic, Anonymous, Bounded Memory Message Passing Systems
Arizona State University(亚利桑那州立大学);Paderborn University(帕德博恩大学)
针对动态匿名消息传递系统,提出一种局部互斥算法,保证互斥和无锁自由,每节点内存O(Δ),消息大小Θ(1)。
2022-02-24 cs.DC
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复杂度。我们的算法是短而实用的,不到十几行代码,并伴随着严格的证明互斥通过不变量和饥饿自由和复杂性分析,通过距离和潜在的功能。因此,模摊销,我们的结…
2018-09-12 cs.DC
Memory-Anonymous Starvation-Free Mutual Exclusion: Possibility and Impossibility Results
本文研究匿名共享内存系统中的无饥饿互斥问题,针对无记忆算法证明:两进程使用m≥7个匿名寄存器可实现无饥饿互斥当且仅当m为奇数,而三进程及以上则不可能实现,揭示了无故障系统中全局进展与个体进展之间的根本性差异。
2023-09-20 cs.DC
Tight Lower Bounds for the RMR Complexity of Recoverable Mutual Exclusion
我们提出了一个严格的RMR复杂性下界的可恢复互斥(RME)问题,定义Golab和Ramaraju \cite{GR2019a}。特别是,我们证明了仅使用原子读、写、获取和存储、获取和增量以及比较和交换操作的任何$n$进程RME算法在CC和DSM模型上的RMR复杂度为$Ω(\log n/\log\log n)$。该下限覆盖了已经在RME算法中使用的所有实际同步原语,并且与采用交换对象的算法的最佳上限(例如,[5,6,10])。具有更好的RMR复杂度的算法仅通过以下方式获得:(i)假设所有故障都是系统范围的[7],(ii)采用大小为$(\log n)^{ω(1)}$的取加对象[12],或(iii)使用实际系统中不可用的人工定义的同步原语[6,9]。
2021-06-06 cs.DC
Adaptive and Fair Transformation for Recoverable Mutual Exclusion
互斥是处理并发系统中竞争的最常用技术之一。传统上,互斥算法是在假设进程在获取/释放锁或执行其临界区时不会失败的情况下设计的。但是,在现实生活中确实会发生故障,可能会使锁处于不一致的状态。这就产生了可恢复互斥(RME)的问题,涉及到设计一个互斥(ME)算法,可以容忍故障,同时保持安全性和活性属性。在这项工作中,我们提出了一个框架,将任何解决RME问题的算法转换为一个算法,该算法还可以同时适应(1)竞争锁的进程数量,以及(2)最近发生的故障数量,同时保持底层RME算法的正确性和性能属性。此外,作为这种转换的结果构造的算法增加了某些期望的属性,如公平性(FCFS的变体)和有界恢复。假设在底层RME算法中临界区请求的最差情况RMR复杂度是$R(n)$。然后,我们的框架产生一个RME算法的最坏情况下的RMR的关键部分请求的复杂性是由$\mathcal{O}(\min \{\ddot{c}, \sqrt{F+1}, R(n)\})$,其中$\ddot{c}$表示点竞争的请求和$F$表示在最近的过去的请求失败的数量。我们进一步扩展我们的框架,提出了一种新的内存回收算法,以限制最坏情况下的空间复杂度的RME算法。内存回收技术保持了我们的转换的公平性,性能和正确性的属性,是足够的一般性,以约束其他RME算法的空间。
2021-10-15 cs.DC
Recoverable Mutual Exclusion with Abortability
非易失性主存储器(NVRAM)技术的最新进展促进了对设计具有进程崩溃弹性的算法的研究。本文是我们的会议论文\cite{jayanti:rmeabort}的完整版本,它提出了第一个可恢复的互斥(RME)算法,支持可中止性。我们的算法只使用读,写和CAS操作,这是通常支持的多处理器。它满足FCFS和其他标准属性。我们的算法也是自适应的。在DSM和Relaxed-CC多处理器上,进程在一个通道中产生$O(\min(k, \log n))$ RMR,在一次尝试中产生$O(f+ \min(k, \log n))$ RMR,其中$n$是算法设计用于的进程数,$k$是通道或尝试的点争用,$f$是$p$在尝试期间崩溃的次数。在严格CC多处理器上,通道和尝试复杂度分别为$O(n)$和$O(f+n)$。Attiya等人证明,对于任何互斥算法,如果算法只使用读、写和CAS操作\cite{Attiya:lbound},则进程在一个通道中至少会导致$Ω(\log n)$ RMR。这个下限意味着,我们的算法的最坏情况下的RMR复杂度是最佳的DSM和松弛CC多处理器。
2020-12-05 cs.DC
On the Runtime of Local Mutual Exclusion for Anonymous Dynamic Networks
Arizona State University(亚利桑那州立大学)
针对匿名动态网络中的局部互斥问题,本文证明了任何节点在发出锁请求后,期望在O(nΔ^3)个开放轮次内成功锁定自身及其持久邻居。
2025-05-22 cs.DC
Hapax Locks : Value-Based Mutual Exclusion
Oracle Labs(甲骨文实验室)
Hapax锁通过简单且高效的算法,在保证性能的同时减少了对运行时环境的依赖,实现了低延迟和高可扩展性的互斥机制。
2026-10-27 cs.DC
Neighborhood Mutual Remainder: Self-Stabilizing Implementation of Look-Compute-Move Robots (Extended Abstract)
局部互斥保证没有两个相邻进程同时进入临界区,同时满足互斥和无饥饿特性。另一方面,进程可能希望与邻居同时执行某些操作。当然,我们可以使用全局同步的时钟来实现这个任务,但是在一般的分布式系统中实现它是非常昂贵的。本文定义了邻域互余的新概念。满足邻域互余要求的分布式算法应满足全局公平性、l-排斥性和重复局部会合要求。全局公平性是满足当每个进程(请求进入临界区无限频繁)执行的临界区无限频繁,l-排除是满足当最多l个相邻进程进入临界区在同一时间,和重复的局部会合是满足当每个进程无限频繁的封闭的邻居没有进程在临界区或尝试区。我们首先形式化了邻域互余的概念,并给出了一个简单的自稳定算法来演示实现邻域互余的设计范式。我们还提出了两个应用程序的邻域相互剩余的Look-Compute-Move机器人系统。一个是用于实现移动原子属性,另一个是用于实现FSYNC调度器,其中机器人拥有以相同速度前进的独立时钟。这些是LCM同步的第一个自稳定实现。
2019-03-07 cs.DC
Hemlock : Compact and Scalable Mutual Exclusion
University of Waterloo(滑铁卢大学);Oracle Labs(甲骨文实验室)
介绍Hemlock这种新颖互斥锁定算法,它紧凑,每个线程和锁只需少量字,多数情况能本地自旋,竞争时吞吐量高、无竞争时延迟低,无上下文且FIFO,性能与最佳可扩展自旋锁有竞争力甚至更优。
2026-07-28 cs.DC cs.OS
Analysis of an Efficient Distributed Algorithm for Mutual Exclusion (Average-Case Analysis of Path Reversal)
Naïmi、Trehe和Arnold分析的算法是第一个解决完全网络中互斥问题的分布式算法,它使用动态逻辑树结构作为其基本分布式数据结构,即根节点树中的路径反转变换;此外,它也是第一个实现对数平均情况消息复杂度的算法。本文提出了一种计算路径反转代价矩的直接而通用的方法。它基本上使用组合结构和相关的概率生成函数之间的一一对应关系:路径反转的期望成本因此被证明是精确的$H_{n-1}$。此外,还给出了算法的时间复杂度和消息复杂度,以及算法在任意网络中最坏情况消息复杂度的随机界。完成了路径反转的平均情况分析和分布式互斥算法的分析。所使用的一般技术也应该证明是可用的和富有成效的,当适应最有效的最近的基于树的分布式算法互斥需要强大的工具,特别是平均情况下的分析。
2006-11-20 cs.DC cs.DS
Just Verification of Mutual Exclusion Algorithms
本文通过模型检测验证多种互斥算法的正确性,以公正性作为完备性准则消除虚假反例,并基于不同并发关系建模共享寄存器假设,揭示若干算法的正确性违规并给出改进建议。
2025-07-17 cs.DC cs.LO
Optimal Memory-Anonymous Symmetric Deadlock-Free Mutual Exclusion
匿名共享内存的概念(最近在PODC 2017中引入)认为进程对同一内存位置使用不同的名称。因此,进程之间在地点名称上存在永久性的分歧。在这种情况下,PODC论文提出了一个对称的无死锁互斥(互斥)算法的两个进程和一个必要条件的大小$m$的匿名存储器的存在对称的无死锁互斥算法在$n$进程系统。这个条件声明$m$必须大于$1$,并且属于集合$M(n)=\{m:\forall~\ell:1<\ell\leq n:~\gcd(\ell,m)=1\}$(对称意味着,虽然每个进程都有自己的标识,但进程标识只能与相等进行比较)。本文回答了几个公开的问题有关的对称无死锁互斥的$n$进程系统($n\geq 2$),其中进程通过$m$寄存器进行通信。首先提出了两种算法。第一种认为寄存器是匿名读/写原子寄存器,并且适用于任何大于$1$并且属于集合$M(n)$的$m$。因此,它表明,这个条件对$m$是必要的和充分的。第二个算法考虑匿名读/修改/写原子寄存器。它假定$m\in M(n)$。这些算法在设计原则和成本上有所不同(以必须包含进程标识以允许其进入临界区的寄存器数量来衡量)。本文还证明了条件$m\in M(n)$是在匿名读/修改/写原子寄存器上实现无死锁互斥的必要条件。因此,当$m>1$,$m\in M(n)$是解决无死锁互斥所需的匿名共享内存大小的严格表征时,匿名寄存器读/写或读/修改/写。
2018-10-08 cs.DC
Two Mutual Exclusion Algorithms for Shared Memory
在本文中,我们介绍了两个算法,解决了通过共享变量通信的并发进程的互斥问题,[2]。我们的算法保证任何试图进入临界区的进程最终都能进入临界区,并被正式证明是正确的。第一个算法使用一个特殊的协调进程,以确保平等的机会,以等待临界区的进程。在第二个算法中,没有协调器,退出临界区的进程负责公平地选择下一个进程。在没有进程等待的情况下,该回合被标记为空闲,并将由未来的等待进程确定。使用的共享变量类型是一个turn变量,所有进程都可读和可写;和一个flag数组,所有进程都可读,flag[i]只能由进程i写。第一种算法有一个版本,其中没有使用所有变量都可写。本文所参考的文献为[4]和[3],其余均为原创性工作。
2019-03-25 cs.DC cs.DS
Survey on Token-Based Distributed MutualExclusion Algorithms
本文综述了基于令牌的分布式互斥算法,涵盖多种网络模型、性能指标、容错策略及k-互斥等变体,并展望了机器学习预测路由和区块链抗对抗等未来方向。
2025-02-07 cs.DC
Recoverable, Abortable, and Adaptive Mutual Exclusion with Sublogarithmic RMR Complexity
本文提出首个同时具备可中止性、点争用自适应性和亚对数RMR复杂度的可恢复互斥算法,基于FAA原语和通用转换技术,在最坏情况下实现O(log N / log log N)的通过复杂度。
2023-07-08 cs.DC
Avoiding Register Overflow in the Bakery Algorithm
计算机系统被设计为使资源对用户可用,并且用户可能对某些资源比其他资源更感兴趣,因此,需要协调方案来满足用户的需求。该方案可以实现某些策略,诸如“从不分配多于X个单元的资源Z”。一个特别令人感兴趣的策略是用户不能同时访问单个资源,这被称为互斥问题。资源管理涉及用户的协调和协作,通常基于决策。在互斥的情况下,这个决定是关于授予对资源的访问权。因此,互斥对于支持资源访问管理是有用的。互斥问题的第一个真正的解决方案被称为面包房算法,它不依赖于任何低级互斥。我们研究的问题寄存器溢出在现实世界中实现的面包店算法,并提出了一个变种算法面包店++,防止溢出发生。Bakery++避免了溢出,不允许一个进程写入其他进程的内存,也不需要使用额外的内存或复杂的算术或重新定义Bakery中使用的操作和函数。Bakery++几乎和Bakery一样简单,并且可以直接在实际系统中实现。使用Bakery++,没有理由在真实的计算机中继续实现Bakery,因为Bakery++消除了溢出的可能性,因此它比Bakery更实用。以前规避寄存器溢出问题的方法包括引入新变量或重新定义原始Bakery算法中使用的操作或函数,而Bakery++通过使用简单的条件语句来避免溢出。(the抽象并没有在这里结束)。
2020-07-04 cs.DC
RMR-Efficient Randomized Abortable Mutual Exclusion
最近的研究互斥共享内存系统集中在“本地自旋”算法。性能是使用“远程内存引用”(RMR)度量来衡量的。在最近的文献中,我们考虑一个标准的异步共享内存模型与N个进程,它允许原子读,写和比较和交换(简称:CAS)操作。在这样的模型中,对于最优确定性算法,每次通过临界区的RMR数量的渐近紧上限和下限是Theta(log N)(参见Yang和Anderson,1995,以及Attiya,Hendler和Woelfel,2008)。最近,已经设计了几种随机算法,其打破了Omega(log N)屏障,并且预期每次传代仅需要o(log N)RMR(参见Hendler和Woelfel,2010,Hendler和Woelfel,2011,以及Bender和Gilbert,2011)。在本文中,我们提出了第一个随机的“可中止”互斥算法,实现了一个子对数预期的RMR复杂度。更准确地说,对于一个弱对手(它可以根据整个过去的历史,但不是每个进程的最新硬币翻转来做出调度决策),每个进程都需要一个预期的O(log N/ log log N)RMR来进入和退出临界区。如果一个进程收到一个中止信号,它可以在有限的步骤内中止进入临界区的尝试,并导致O(log N/ log log N)的RMR。
2012-08-08 cs.DC cs.DS
Fair Mutual Exclusion for N Processes (extended version)
本文研究 Peterson 互斥算法到 N 进程的锦标赛树推广,证明其非无饥饿,并提出公平版本,证明对任意 N≥4 时其他进程最多先进入 (N-1)(N-2) 次。
2021-11-03 cs.DC cs.LO
Spéculation et auto-stabilisation
自稳定确保在任何瞬时故障之后,系统在有限时间内恢复并最终表现出正确的行为。推测在于保证系统满足其对任何执行的要求,但对于更可能的执行子集表现出更好的性能。从这个意义上说,推测协议在实践中应该是健壮和有效的。我们引入投机稳定的概念,我们说明通过互斥问题。然后,我们提出了一种新的投机稳定互斥协议。我们的协议是自稳定的任何异步执行。我们证明了它的同步执行的稳定时间是diam(g)/2步(其中diam(g)表示系统的直径)。这个复杂性结果是独立的利益。著名的Dijkstra互斥协议在同步执行中稳定了n步(其中n是进程的数量),从那时起(近40年),稳定时间是否可以严格小于直径的问题一直是开放的。我们表明,这确实是可能的任何底层拓扑结构。我们还提供了一个下限证明,表明我们的新的稳定时间的直径(g)/2步骤是最佳的同步执行,即使异步稳定是不需要的。
2013-04-25 cs.DC
An Adaptive Approach to Recoverable Mutual Exlcusion
互斥是并发系统中处理冲突最常用的技术之一。传统上,互斥算法是在假设进程在获取/释放锁或执行其临界区时不会失败的情况下设计的。但是,在现实生活中确实会发生故障,可能会使锁处于不一致的状态。这就产生了\emph{recoverable mutual exclusion (RME)}的问题,它涉及到设计一个互斥算法,可以容忍故障,同时保持安全性和活性属性。任何ME算法(包括RME算法)的性能的重要度量之一是由进程产生的\emph{remote memory references (RMRs)}的数量(用于获取和释放锁以及在故障后恢复锁结构)。最著名的RME算法解决了$n$过程中的RMR的亚对数数量的问题,由$\mathcal{O}(\frac{\log n}{\log \log n})$给出,而不管系统中的故障数量。在这项工作中,我们提出了一个新的算法来解决RME问题,其RMR复杂性逐渐\emph{adapts}的故障发生在系统中的数量“最近”。在没有故障的情况下,我们的算法只生成$\mathcal{O}(1)$ RMR。此外,其RMR复杂度由$\mathcal{O}(\min\{ \sqrt{F}, \frac{\log n}{\log \log n} \})$给出,其中$F$是“最近”过去的故障总数。除了读和写指令,我们的算法使用比较和交换(\CAS{})和提取和存储(\FAS{})…
2020-08-03 cs.DC cs.DS cs.OS
An asynchronous message-passing distributed algorithm for the global critical section problem
本文考虑全局$(l,k)$ -CS问题,它是控制系统的问题,使得在网络中,每次至少有$l$和至多有$k$进程处于CS中.在本文中,提出了一种分布式解决方案中的异步消息传递模型。我们的解决方案是一个通用的组合方法的算法$l$ -相互包含和$k$ -互斥。它的消息复杂度是$O(|Q|)$,其中$|Q|$是算法所使用的小圈子的仲裁的最大大小,通常是$|Q| = \sqrt{n}$。
2018-07-16 cs.DC
Fully Anonymous Shared Memory Algorithms
进程匿名性已经研究了很长时间。记忆匿名是最近才出现的。在匿名内存系统中,进程之间对它们访问的共享寄存器的名称没有先验协议。本文介绍了完全匿名模型,即进程和内存都是匿名的模型。结果表明,基本问题,如互斥,共识,其弱版本称为集协议,可以解决,尽管完全匿名,第一个在一个无故障的系统,其他人在存在的任何数量的进程崩溃。
2019-11-02 cs.DC
Better Sooner Rather Than Later
本文统一推广了异步崩溃易发分布式计算中的基本结果,证明当进程故障仅发生在参与进程数超过阈值 n-k 之前时,存在异步算法当且仅当 f≤k 时能解决 n 进程共识问题,并统一了 FLP 不可能性结果与 Dijkstra 互斥结果,揭示故障发生越早可容忍越多。
2023-09-20 cs.DC