Anonymous Obstruction-free $(n,k)$-Set Agreement with $n-k+1$ Atomic Read/Write Registers
$k$ -集合一致性问题是一致性问题的推广。即,假设每个过程提出一个值,每个非故障过程必须决定一个值,使得每个决定的值被提出,并且不超过$k$不同的值被决定。这是一个难题,因为在异步系统中,一旦$k$或多个进程崩溃,就无法解决这个问题。规避这种不可能性的一种方法是削弱其终止属性,要求进程只有在足够长的时间内单独执行时才终止(决定)。这就是著名的无障碍进展条件。考虑一个由$n$ { \it anonymous asynchronous}进程组成的系统,其中进程之间通过原子寄存器进行通信,并且其中任意数目的进程都可能崩溃,本文提出并解决了一个具有挑战性的公开问题:设计一个仅使用$(n-k+1)$原子寄存器的无障碍$k$ -集合协商算法.从共享内存成本的角度来看,该算法是迄今为止已知的最佳算法,从而建立了解决问题所需的寄存器数量的新上限(相对于先前的上限,其增益为$(n-k)$)。该算法,然后扩展到解决重复版本的$(n,k)$ -集协议。由于它是最佳的原子读/写寄存器的数量,该算法关闭了以前建立的下/上界的差距为匿名和非匿名版本的重复$(n,k)$ -集协议问题。最后,对于$1 \leq x\leq k \textless{} n$,还描述了适合于$x$的推广--无障碍,其仅需要$(n-k+x)$原子寄存器。
2015-07-02 cs.DC
A Wait-free Multi-word Atomic (1,N) Register for Large-scale Data Sharing on Multi-core Machines
我们提出了一个多字原子(1,N)寄存器的多核机器利用读-修改-写(RMW)指令协调的作家和读者在一个等待的方式。我们的建议,称为匿名读者计数(ARC),使大规模的数据共享,承认高达$2^{32}-2$并发读者在现成的64位机器,而不是最先进的RMW为基础的方法,这是有限的58读者。此外,ARC在访问寄存器内容时避免了寄存器内容的多个副本--这影响了基于单个字的原子读/写操作的经典寄存器算法。因此,它允许在寄存器大小方面具有更高的可扩展性。此外,ARC通过在读操作的情况下对RMW指令的适当限制,以及通过支持读操作的恒定时间和写操作的摊销恒定时间,显式地减少和提高性能。我们的寄存器算法的正确性的证明也提供了,连同实验数据与文献建议的比较。除了在物理平台上评估ARC之外,我们还在虚拟化基础设施上进行了实验,这表明ARC提供的无等待同步相对于CPU窃取时间的弹性,适合于更现代的范例,如云计算。
2017-07-24 cs.DC
Mutex-based Desanonymization of an Anonymous Read/Write Memory
匿名共享内存是一种内存,其中进程对同一个共享读/写寄存器使用不同的名称。作为示例,由进程$p$命名为$A$的共享寄存器和由另一进程$q$命名为$B$的共享寄存器可以对应于完全相同的寄存器$X$,并且类似地,对于可以对应于相同寄存器$Y\neq X$的$p$处的名称$B$和$q$处的名称$A$。因此,各进程在登记册名称上始终存在分歧。这种新的匿名概念最近由G. Taubenfeld(PODC 2017),他提出了几种内存匿名算法和不可能性结果。本文介绍了一个新的问题(新的我们的知识),包括在“去匿名化”的匿名共享内存。为此,提出了一种算法,该算法从由$m$匿名读/写原子寄存器(即,在它们的名称上没有先验的一致性),允许每个进程计算局部寻址映射,使得所有进程在每个寄存器的名称上一致。所提出的构造是基于一个底层的死锁无互斥算法$n\geq 2$进程(最近提出的一份文件中合著的本文的一些作者),因此继承了其必要和充分条件的大小$m$的匿名存储器,即$m$必须属于集合$M(n)=\{m:~$,使$\forall~ \ell: 1<\ell \leq n:~ \gcd(\ell,m)=1\}\setminus \{1\}$。这个算法也是对称的,因为进程标识只能通过相等来比较,它需要所有进程的参与,因此它可以是系统初始化的一部分。最后但并非最不重要的是,该算法具有一流的值得注意的属性,即,它的简…
2019-03-28 cs.DC
The Life in 1-Consensus
本文介绍了一种确定性共享内存对象--原子写入和下一次读取($\text{WRN}_{k}$),它对任何$k\ge3$都比读写寄存器强,但不能实现$2$ -处理器一致性。特别是,它驳斥了猜想声称,每个确定性对象的共识数$1$是计算等价于读写寄存器。
2017-09-27 cs.DC
Inversion-based Measurement of Data Consistency for Read/Write Registers
分布式存储服务的提供者和消费者都受益于一致性违规严重性的量化。然而,现有的方法无法捕捉到一个典型的违规模式-操作之间的混乱与理想的强原子执行。这种混乱经常出现在基于分布式存储服务的互联网应用中,例如即时消息。为此,我们使用一个置换中的逆相对于全序置换来度量数据的一致性。提出了$i$ -原子性模型,并提出了一种受限历史类型的(伪)多项式验证算法.验证算法的基本思想是对具有小于$i$逆的置换进行蛮力搜索,这需要指数代价。从应用场景中提取合理的假设,可以利用修剪的搜索空间,这产生了一个有效的多项式验证算法。
2019-02-18 cs.DC
Election in Fully Anonymous Shared Memory Systems: Tight Space Bounds and Algorithms
本文讨论由$n$异步进程组成的完全匿名系统中的选举,这些进程通过原子读写寄存器或原子读-修改-写寄存器进行通信。给定一个整数$d\in\{1,\dots, n-1\}$,考虑两个选举问题:$d$ -选举(至少一个且至多$d$进程被选举)和精确$d$ -选举(精确$d$进程被选举).完全匿名意味着进程和共享寄存器都是匿名的。内存匿名性意味着进程可能对共享寄存器的名称不一致。也就是说,相同的寄存器名$A$可以表示用于不同进程的不同寄存器,并且由进程使用的寄存器名$A$和由另一进程使用的寄存器名$B$可以寻址相同的共享寄存器。
2022-03-06 cs.DC
Reliable Self-Stabilizing Communication for Quasi Rendezvous
本文提出了三个基本的公平和可靠的链路通信原语的自稳定协议。我们假设一个链接寄存器通信模型下的读/写原子,其中每个进程可以读取,但不能写入其邻居的寄存器。第一个原语保证任何进程只有在其所有邻居都读取了前一个值之后才在其寄存器中写入新值,无论进程的动作的初始调度如何。第二个原语通过使用交替位协议实现了“弱会合”通信机制:每当一个进程连续将n个值(可能是相同的值)写入寄存器时,每个邻居都保证从寄存器中读取每个值至少一次。在前一个协议的基础上,第三个原语实现了一个“准会合”:换句话说,这个原语进一步确保了两个写操作之间只存在一个读操作所有协议都是自稳定的,并且在异步任意网络中运行。本文的目标是通过一个单独的过程来处理每个原语,这可以在更复杂的自稳定协议中用作“黑盒”。
2010-05-31 cs.DC
On Register Linearizability and Termination
在一项开创性的工作中,Golab等人表明,如果我们将原子对象替换为可线性化的对象,那么使用原子对象的随机算法可能会失去一些属性。不知道可能丧失的属性是否包括终止的重要属性(概率为1)。在本文中,我们首先表明,对于随机算法,终止确实可以丢失。Golab等人还引入了强线性化,并证明了强线性化对象可以像原子对象一样使用,即使对于随机算法也是如此:它们保持了算法的正确性,包括终止性。不幸的是,在一些重要的情况下,不可能实现强线性化。具体地,Helmi等人的MWMR寄存器不具有来自SWMR寄存器的强线性化实现。因此,我们提出了一种新的寄存器线性化,称为写强线性化,这是严格强于线性化,但严格弱于强线性化。我们证明了一些随机算法,未能终止与线性化寄存器,工作与写强线性化的。换句话说,存在可线性化性不足但可写入强线性化性的情况。与上述不可能性结果相反,我们证明了写强线性化MWMR寄存器是可以从SWMR寄存器实现的。实现写强线性化,但是,比实现线性化更难:我们给出了一个简单的实现MWMR寄存器从SWMR寄存器,我们证明了这种实现是线性化的,但不写强线性化。最后,我们证明了任何线性实现的SWMR寄存器一定写强线性化,这适用于共享内存,消息传递,和混合系统。
2021-02-26 cs.DC cs.DS
Efficient Wait-Free Linearizable Implementations of Approximate Bounded Counters Using Read-Write Registers
本文针对有界计数器提出三种基于读写寄存器的无等待线性化近似实现算法,通过放宽精度要求使读取步复杂度相较精确计数器实现获得指数级改进,其中两种算法达到渐近最优。
2024-02-21 cs.DC
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
The Synchronization Power of Auditable Registers
本文研究可审计寄存器的同步能力,证明原子审计可解决共识,并给出不同读者/审计者数量下的实现,同时提出可用普通读写实现的常规审计定义。
2023-08-31 cs.DC
Two-Bit Messages are Sufficient to Implement Atomic Read/Write Registers in Crash-prone Systems
原子寄存器无疑是计算科学中最基本的对象。它们在一个n进程异步消息传递系统上的实现受到了很多关注。已经表明,t \textless{} n/2(其中t是可能崩溃的进程的最大数量)是在易崩溃的异步消息传递系统之上构建原子寄存器的必要且充分的要求。考虑到这种情况,本文提出了一种算法,实现了一个单写多读原子寄存器只有四个消息类型,其中没有消息需要携带控制信息,除了它的类型。因此,两个比特足以捕获由所有实现消息携带的所有控制信息。此外,两种类型的消息需要携带数据值,而另外两种类型的消息根本不携带值。据我们所知,该算法是第一个具有这样的最优性质的消息携带的控制信息的大小。从时间复杂度的角度来看,它也特别有效。
2016-02-08 cs.DC cs.IT math.IT
Efficient and Modular Consensus-Free Reconfiguration for Fault-Tolerant Storage
仲裁系统是在出现故障时实现一致和可用存储的有用工具。这些系统通常包括一组静态服务器,其提供由一组客户端访问的容错读/写寄存器。我们考虑这些系统的动态变体,并提出FreeStore,一组容错协议,模拟在动态异步系统中的进程能够加入/离开服务器设置在执行过程中的寄存器。这些协议使用了一个新的抽象称为视图生成器,捕获协议的要求,重新配置,并可以在不同的系统模型实现不同的属性。特别有趣的是,我们提出了一个重新配置协议,是模块化的,高效的,无共识和松散耦合的读/写协议,提高整体系统的性能。
2016-07-18 cs.DC
You can lie but not deny: SWMR registers with signature properties in systems with Byzantine processes
本研究在存在拜占庭进程的系统中,基于原生SWMR寄存器实现了具备数字签名属性的SWMR寄存器,证明其在n>3f的条件下可行且容错性最优,可拓展至消息传递系统。
2025-06-13 cs.DC
Space Bounds for Reliable Multi-Writer Data Store: Inherent Cost of Read/Write Primitives
来自易出错组件的可靠存储仿真已经成为现代存储服务和应用程序的算法基础。大多数现有的可靠存储仿真都是从支持任意读-修改-写原语的存储服务构建的。由于这些原语通常不会被预先存在的或现成的组件(如云存储服务或网络连接磁盘)公开,因此很自然地会问它们是否确实对有效的存储仿真至关重要。在本文中,我们肯定地回答了这个问题。我们表明,放松底层存储,只支持读/写操作导致线性爆破仿真空间的要求。我们还表明,空间复杂度是不适应并发,这意味着存储不能可靠地回收,即使在顺序运行。在积极的一面,我们表明,比较和交换原语,这是常见的许多现成的存储服务,可以用来模拟一个可靠的多作家原子寄存器与恒定的存储和自适应时间复杂度。
2015-08-15 cs.DC
Atomic Read/Write Memory in Signature-free Byzantine Asynchronous Message-passing Systems
本文提出了一种无签名的分布式算法,它在一个$n$进程异步消息传递系统上建立一个原子读/写共享存储器,在该系统中,多达$t<n/3$进程可以提交Byzantine故障。从概念的角度来看,该算法被设计为尽可能接近Attiya,Bar-Noy和Dolev(JACM 1995)提出的算法,该算法在$n$进程异步消息传递系统中构建原子寄存器,其中多达$t<n/2$进程可能崩溃。所提出的算法特别简单。它不使用密码学来处理拜占庭进程,并且从$t$弹性的角度来看($t<n/3$)是最佳的。读操作需要$O(n)$消息,写操作需要$O(n^2)$消息。
2015-12-07 cs.DC
Modular Baskets Queue
本文给出了Hoffman,Shalev和Saught的篮子排队模型的一个模块化版本.它使用一个名为load-link/increment-conditional的新对象来操纵头部和尾部,该对象只能使用READ/WRITE指令来实现,并允许传播争用的实现。这表明,可能有一个替代方案,在以前的队列实现中,使用读-修改-写指令在单个共享寄存器上操纵头部和尾部的看似固有的瓶颈。
2022-05-12 cs.DC
Auditable Register Emulations
数据泄露的普遍存在增强了审计存储系统的重要性。在这项工作中,我们开始研究可审计的存储仿真,它提供了审计员报告以前执行的读取寄存器的能力。我们精确地定义了可审计寄存器的概念及其属性,并建立了严格的界限和不可能的结果,在存在故障的存储对象的可审计存储模拟。我们的配方考虑loggable读写寄存器,安全地存储数据,使用信息分散和支持快速读取。在这样的情况下,给定故障存储对象的最大数量~$f$和恢复存储值所需的数据块的最小数量~$τ$,我们证明了:(1)如果$τ\leq 2f $,则可扩展性是不可能的;(2)实现弱形式的可扩展性需要$τ\geq 3f+1$;以及(3)更强形式的可扩展性是不可能的。我们还表明,签名读取请求克服了弱可扩展性的下限,而完全排序操作或使用非快速读取可以实现强可扩展性。
2020-05-16 cs.DC
Tight Bounds on Channel Reliability via Generalized Quorum Systems (Extended Version)
本文提出广义仲裁系统框架,通过放宽经典仲裁系统的双向连通性约束并引入新型逻辑时钟,刻画了在任意进程-信道故障模式下实现原子寄存器、原子快照、格协议和共识的紧界条件。
2025-05-05 cs.DC
Relaxed Queues and Stacks from Read/Write Operations
考虑到异步共享内存系统中,任何数量的进程可能会崩溃,这项工作确定并正式定义放松队列和堆栈,可以是非阻塞或等待自由,同时只使用读/写操作实现。集合线性化和区间线性化被用来形式化地描述松弛,并精确地识别保持原始顺序行为的执行子集。松弛允许不同的操作多次返回一个项目,但仅限于并发的情况;我们称这样的属性为多重性。堆栈实现是无等待的,而队列实现是非阻塞的。区间线性化用来描述一个具有多重性的队列,另外一个放松是出队操作可以返回弱空,这意味着队列可能是空的。本文提出了一种并发队列的读/写无等待区间线性化算法。据我们所知,这项工作是第一个提供多重性和弱空性概念的形式化,只能在读/写寄存器上实现。
2020-11-04 cs.DC
Reducing Compare-and-Swap to Consensus Number One Primitives
一个对象的共识数是可以使用任意数量的对象实例和读写寄存器解决二进制共识的进程的最大数量。Herlihy [6]在他的开创性工作中表明,如果一个对象的共识数为n,那么对于任何非平凡的并发对象或在n个进程中共享的数据结构,都存在一个无等待和可线性化的实现的通用构造。因此,诸如具有无限一致性数和对应指令的比较和交换的同步对象可以被视为“强”。另一方面,诸如具有共识数2的取加和对应的取加指令的同步对象可以被视为“弱”。Ellen等人[2]最近观察到,支持两个弱指令的对象也可以像支持一个强指令的对象一样实现无限的共识数。使用Herlihy的通用构造,这意味着忽略对效率的关注,可以仅使用弱指令来设计任何并发数据结构或算法。然而,有没有可能弱指令的组合真的足够强大,可以有效地替换强指令,如比较和交换,而不会在时间或空间上产生很大的开销?在本文中,我们回答了这个问题,给出了一个O(1)时间等待免费和线性化的实现比较和交换寄存器共享n个进程使用读写寄存器和O(1)寄存器,支持两个同步原语半最大和最大写,每个有共识数1。因此,任何使用读写和比较交换寄存器解决任意同步问题的算法都可以转换为具有相同渐近时间复杂度且仅使用一致性1号指令的算法。
2018-08-20 cs.DC cs.DS
Randomized Consensus with Regular Registers
著名的随机共识算法由Aspnes和Herlihy异步共享内存系统被证明工作,即使对一个强大的对手,假设它使用的寄存器是原子寄存器。使用原子寄存器,每个读或写操作都是瞬时的(因此不可分割)。然而,正如Golab et al.(2011)所指出的,如果我们用寄存器的线性化实现替换它使用的原子寄存器,那么与原子寄存器一起工作的随机算法不一定工作。这就提出了以下问题:如果我们用可线性化的寄存器替换原子寄存器,Aspnes和Herlihy的随机共识算法是否仍然适用于强大的对手?我们的答案是肯定的,事实上,我们表明,即使是线性寄存器是不必要的。更确切地说,我们证明了该算法的Aspnes和Herlihy工程对一个强大的对手,即使该算法只使用常规寄存器。
2020-06-11 cs.DC cs.DS
Fast Concurrent Primitives Despite Contention
Stony Brook University(石溪大学);Carnegie Mellon University(卡内基梅隆大学);New York University(纽约大学);Tsinghua University(清华大学);VMware Research(VMware研究);Tel Aviv University(特拉维夫大学)
本文研究了在高竞争环境下构建并发对象的方法,提出了处理竞争的算法,并展示了在松散同步随机调度器下,读写寄存器和CAS寄存器的延迟为O(logP)。
2026-07-13 cs.DC cs.DS
Auditing without Leaks Despite Curiosity
本文提出一种改进的可审计性定义,关注读操作何时生效,并提出了无等待的多写者多读者寄存器实现,结合原子操作和一次性密码本加密防止未授权审计,扩展至可审计最大寄存器、快照对象及版本化类型。
2025-05-01 cs.CR cs.DC
On the Notions of Bounded Bypass, and How to Make any Deadlock-Free MUTEX Protocol Satisfy One of Them
School of Informatics, University of Edinburgh(爱丁堡大学信息学院);University of New South Wales(新南威尔士大学);Sapienza University of Rome(罗马智慧大学);Eindhoven University of Technology(埃因霍温理工大学)
本文形式化定义了有界旁路及其弱化版本(间歇有界旁路和门后有界旁路),并证明Bar-David算法可将任何无死锁互斥协议升级为满足有界旁路(或间歇有界旁路),界限为进程数的二次函数。
2026-06-18 cs.DC