Byzantine-linearizable Single-Writer Multi-Reader Register in the GPU-Inspired Shared Memory Model
University of Cyprus(塞浦路斯大学);IIT Hyderabad(海德拉巴印度理工学院)
该研究在GPU启发式共享内存模型中,针对任意线程可能表现拜占庭行为的问题,实现了两种拜占庭线性化SWMR寄存器,利用GPU锁步执行弥补访问控制缺失,为分布式容错寄存器提供了新方案。
2026-10-14 cs.DC
Simulating a Shared Register in a System that Never Stops Changing
模拟一个共享寄存器可以掩盖为异步消息传递系统设计算法的复杂性,因为它允许它们运行为更简单的共享内存模型设计的算法。通常,此类模拟会在多个服务器中复制寄存器的值,并要求读取器和写入器与大多数服务器进行通信。这种方法在静态系统中的成功,其中节点(读取器,写入器和服务器)的集合是固定的,已经激发了几个类似的动态系统的模拟,其中节点可以进入和离开。然而,现有的模拟需要假设系统最终停止变化足够长的时间,或者系统的大小是有界的。本文首次模拟了易崩溃的异步系统中的原子读/写寄存器,该寄存器可以改变大小并承受节点不断进出。模拟允许系统保持变化,前提是在固定时间间隔内进入和离开的节点数量至多是当前系统大小的恒定分数。只要系统中故障节点的数量至多是当前系统大小的一个常数,模拟也容忍节点崩溃。
2017-08-10 cs.DC
Impossibility of Strongly-Linearizable Message-Passing Objects via Simulation by Single-Writer Registers
构造复杂分布式系统的一个关键方法是通过可线性化并发对象的模块化组合。一个突出的例子是共享寄存器,它在消息传递系统之上有容错实现,允许共享内存的优点延续到消息传递。然而,线性寄存器在随机程序中使用时并不总是正确的。加强线性化,称为强线性化,已被证明可以保持概率行为,以及其他超安全属性。为了利用消息传递系统中的组合和抽象,了解消息传递中是否存在强线性化的寄存器实现是至关重要的。本文回答了这个问题的否定:有没有强线性化的容错消息传递实现的多写寄存器,最大寄存器,快照或计数器。这一结果证明了从Helmi等人的相应结果减少。减少是BG模拟的一种新的扩展,连接共享内存和消息传递,支持长寿对象,并保持强线性化。主要的技术挑战来自于在模拟消息传递算法中容忍的潜在极小部分故障和可能影响模拟共享存储器系统的大部分故障之间的差异。这种减少是通用的,可以看作是消息传递中共享内存的ABD模拟的逆。
2021-08-27 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
Lower Bounds for Shared-Memory Leader Election under Bounded Write Contention
针对随机无障碍算法,给出了具有单写多读(SWMR)寄存器的异步共享内存模型中leader选举的单步复杂度的严格对数下界.该方法扩展到下限的随机无障碍算法使用多写寄存器下有界写并发,显示之间的权衡的领导者选举算法的单步复杂性,和最坏情况下的竞争引起的处理器在执行。
2022-03-25 cs.DC
Byzantine-Tolerant Register in a System with Continuous Churn
共享读/写寄存器仿真在消息传递模型之上提供了共享内存的假象。这种仿真的主要障碍是处理系统中的服务器故障。静态系统中的几个容错寄存器仿真需要算法将共享寄存器的值复制到大多数服务器上。多数正确性对于这种模拟是必要的。拜占庭故障被认为是任何分布式系统中可能发生的最严重的故障。模拟拜占庭容错寄存器需要将寄存器值复制到超过三分之二的服务器上。在服务器和客户端可以进入和离开系统并出错的动态系统中模拟寄存器比在静态系统中更困难。有几种用于动态系统的容错寄存器仿真。本文提出了一个多读多写原子寄存器在系统中,可以承受节点不断进入和离开,没有上限的系统规模,并可以容忍拜占庭服务器的第一个仿真。只要在固定时间间隔内进入和离开的服务器数量最多是该间隔开始时系统大小的一个常数部分,并且只要系统中拜占庭服务器的数量最多为f,该算法就可以工作。虽然我们的算法要求有一个常数已知的上限上的拜占庭服务器的数量,这种限制是不可避免的,因为我们表明,它是不可能模拟原子寄存器,如果系统的大小和最大数量的服务器,可以在系统中的拜占庭是未知的节点。
2019-10-13 cs.DC
Checking Presence Reachability Properties on Parameterized Shared-Memory Systems
本文研究由任意数量异步进程组成的参数化共享内存系统的验证问题,证明基于轮次模型的存在性可达性质参数化验证是 PSPACE 完全的,而无轮次模型降至 NP 完全,并给出多项式时间可解的限制条件。
2023-07-31 cs.DC cs.FL cs.LO
Space Bounds for Adaptive Renaming
我们研究的空间复杂性,实现长寿和一次性的自适应重命名从多读多写寄存器,在一个异步分布式系统与$n$进程。作为$f$ -自适应重命名算法的结果,如果$k$进程参与,则每个参与进程在范围$\{1,\dots,f(k)\}$中获得不同的名称。设$f: \{1,\dots,n\} \rightarrow \mathbb{N}$是满足$f(1) \leq n-1$的非减函数,设$d = \max\{x ~|~ f(x) \leq n-1\}$。我们表明,任何非确定性的独奏终止长寿$f$自适应重命名对象需要$d + 1$寄存器。这意味着用于长期$(k+c)$自适应重命名的$n-c$寄存器的下限,我们观察到这是紧的。我们还证明了一个下界的$\lfloor \frac{2(n - c)}{c+2} \rfloor$寄存器实现任何非确定性的独奏终止单杆$(k+c)$自适应重命名。我们提供了两个一次性的重命名算法:等待免费算法和无障碍算法。每个算法都使用一个参数来描述空间和自适应性之间的权衡。当这些参数选择适当时,这将产生来自$\lceil \sqrt{n} \rceil + 1$寄存器的无等待单次$(\frac{3k^2}{2})$ -自适应重命名算法,以及仅来自$\min\{n, x ~|~ f(x) \geq 2n\} + 1$寄存器的无障碍单次$f$ -自适应重命名算法。
2016-05-15 cs.DC
Construction of a Byzantine Linearizable SWMR Atomic Register from SWSR Atomic Registers
本文指出现有拜占庭线性可化性定义的缺陷,提出了更强的定义,并基于公钥基础设施在 $n>3f$ 条件下从 SWSR 寄存器构建了拜占庭线性可化 SWMR 原子寄存器。
2024-05-29 cs.DC cs.DS
Upper and Lower Bounds for Deterministic Approximate Objects
放松共享对象的顺序规范已被提出作为一个有前途的方法,以获得更好的复杂性实现。在本文中,我们研究了两个共同的共享对象:最大寄存器和计数器的放松变种的步骤复杂性。特别地,我们考虑$k$ -乘法精确最大寄存器和$k$ -乘法精确计数器,其中允许读取操作以$k$的乘法因子出错(对于某些$k \in \mathbb{N}$)。更准确地说,允许读取分别返回先前写入最大寄存器的最大值$v$的近似值$x$,或者先前应用于计数器的增量的数目$v$的近似值$x$,使得$v/k \leq x \leq v \cdot k$。我们提供了在共享内存模型中以无等待方式实现这些对象的复杂性的上限和下限。
2021-04-20 cs.DC
Partially Replicated Causally Consistent Shared Memory: Lower Bounds and An Algorithm
本文的重点是在{ \em部分复制}分布式共享存储器(DSM)系统,提供了共享读/写寄存器的抽象的因果一致性。在分布式共享存储器系统中保持因果一致性在过去已经受到了极大的关注,主要是在{ \em完全复制}上,其中每个副本存储共享存储器中所有寄存器的副本。为了确保因果一致性,必须在任何给定副本执行更新之前执行所有因果在先更新。因此,需要一些用于跟踪因果依赖关系的机制,例如在完全复制的上下文中,向量元素的数量等于副本的数量的向量时间戳。在本文中,我们研究因果一致性{ \em部分复制系统},其中每个副本可以存储只有一个子集的共享寄存器。在前人工作的基础上,本文主要做了三个方面的工作:1.我们对元数据(我们称之为{ \em时间戳})提出了一个必要条件,每个副本必须维护该元数据才能准确地跟踪因果关系。必要条件标识副本的时间戳必须跟踪的{ \em共享图}中的一组有向边。2.我们提出了一个算法,用于实现因果一致性使用的时间戳,匹配上述必要条件,从而表明该条件是必要的和充分的。3.我们定义了时间戳空间大小的度量,并给出了时间戳大小的下限(以位为单位)。在几种特殊情况下,我们的算法的下限匹配。
2019-05-29 cs.DC
Single-Producer/Single-Consumer Queues on Shared Cache Multi-Core Systems
使用高效的点对点通信通道是在现代共享缓存多核架构上实现细粒度并行程序的关键。本文详细讨论了无等待单生产者/单消费者队列(SPSC)的几种实现方法,并提出了一种新颖有效的实现无界无等待SPSC队列(uSPSC)的算法。给出了新算法的正确性证明,并给出了基于简单综合基准测试和微基准测试的性能测试结果。
2010-12-08 cs.DC cs.DS
Asynchronous Exclusive Selection
我们考虑的任务分配唯一的整数到一组进程中的一个异步分布式系统的$n$进程容易崩溃,通过共享的读写寄存器进行通信。在重命名问题中,任意一组持有范围$[N]=\{1,\ldots,N\}$中的原始名称的$k\le n$进程使用一些$r$辅助共享寄存器竞争获取更小范围$[M]$中的唯一整数作为新名称。我们给出了一些无等待的重命名算法,特别是一个自适应的一个具有$M=8k-\lg k-1$作为一个约束的范围内的新名称,在$O(k)$本地步骤和使用$r=O(n^2)$寄存器。作为一个下限,我们表明,在最坏的情况下,一个无等待的解决方案,重命名需要$1+\min\{k-2,\lfloor\log_{2r} \frac{N}{M+k-1}\rfloor\}$步骤。我们应用重命名算法来获得存储和收集问题的解决方案,这是关于一组$k\le n$进程的原始名称在范围$[N]$提出个别值(操作存储)和返回所有建议值的视图(操作收集),同时使用一些$r$辅助共享读写寄存器。我们考虑一个问题Mining-Names,在这个问题中,进程可能会反复请求正整数作为新的名称,但要受到这样的约束,即没有整数可以分配给不同的进程,并且在无限次执行中,从未获得的整数作为名称的数量是有限的。我们给出了两个解决方案,挖掘名称在分布式系统中,有无限多个共享的读写寄存器可用。非阻塞解决方案最多保留$2n-2$非负整数不作为名称分…
2021-09-29 cs.DC
Space Complexity of Fault Tolerant Register Emulations
在云存储日益普及的推动下,从一组易出错的服务器中实现可靠的存储服务的相关成本最近已成为一个积极研究的问题。众所周知的ABD结果表明,可以使用2f + 1个易出错服务器的集合来模拟f容限寄存器,每个服务器存储单个读取-修改-写入对象类型,这是已知的最佳类型。在本文中,我们概括了这个界限:我们调查固有的空间复杂度的仿真可靠的多个作家寄存器作为一个函数的类型的基本对象暴露的底层服务器,作家的数量模拟寄存器,可用服务器的数量,和故障阈值。我们在寄存器、最大寄存器(ABD假设的基本对象类型)和CAS之间建立了一个严格的分离(即,相应类型的基本对象的数量),需要支持仿真;我们表明,没有这样的分离之间存在的最大寄存器和CAS。我们的主要技术贡献是在底层基础对象是容易出错的读/写寄存器的情况下所需的资源的下限和上限。我们表明,所需的寄存器的数量是成正比的作家和服务器的数量成反比。
2017-05-19 cs.DC
Stabilizing Server-Based Storage in Byzantine Asynchronous Message-Passing Systems
一个稳定的拜占庭单写单读(SWSR)定期寄存器,稳定后,第一次调用写操作,首先提出。然后,通过使用写入的(有界)序列号来消除新/旧排序倒置,从而获得实际稳定的SWSR原子寄存器。一个实际上稳定的拜占庭单写多读(SWMR)原子寄存器,然后通过使用几个副本的SWSR原子寄存器。最后,有界的时间戳,每个作家的时间戳,连同SWMR原子寄存器,被用来构建一个实际稳定的拜占庭多写多读(MWMR)原子寄存器。在实现原子寄存器的$n$服务器的系统中,并且除了瞬时故障之外,如果通信是异步的,则构造容忍t<n/8拜占庭服务器,并且如果通信是同步的,则构造容忍t<n/3拜占庭服务器。所提出的算法的值得注意的特点是,(据我们所知)这些是第一个建立一个原子读/写存储的异步服务器上容易出现短暂的故障,其中最多的t可以是拜占庭。
2015-02-28 cs.DC
Auditable Register Emulations
数据泄露的普遍存在增强了审计存储系统的重要性。在这项工作中,我们开始研究可审计的存储仿真,它提供了审计员报告以前执行的读取寄存器的能力。我们精确地定义了可审计寄存器的概念及其属性,并建立了严格的界限和不可能的结果,在存在故障的存储对象的可审计存储模拟。我们的配方考虑loggable读写寄存器,安全地存储数据,使用信息分散和支持快速读取。在这样的情况下,给定故障存储对象的最大数量~$f$和恢复存储值所需的数据块的最小数量~$τ$,我们证明了:(1)如果$τ\leq 2f $,则可扩展性是不可能的;(2)实现弱形式的可扩展性需要$τ\geq 3f+1$;以及(3)更强形式的可扩展性是不可能的。我们还表明,签名读取请求克服了弱可扩展性的下限,而完全排序操作或使用非快速读取可以实现强可扩展性。
2020-05-16 cs.DC
Simple Optimal Wait-free Multireader Registers
多读者共享寄存器是异步并发计算中用作通信媒介的基本对象。我们提出了一个令人惊讶的简单和自然的计划,以获得几个无等待的建设有界1-作家多读寄存器从原子1-作家1-读者寄存器,这是更容易证明正确的比任何以前的建设。我们的主要建设是第一个对称的纯时间戳一个是最优的最坏情况下的本地使用的控制位;另一个是最优的全局使用的控制位;都是最优的时间。
2005-12-15 cs.DC
Just Verification of Mutual Exclusion Algorithms
本文通过模型检测验证多种互斥算法的正确性,以公正性作为完备性准则消除虚假反例,并基于不同并发关系建模共享寄存器假设,揭示若干算法的正确性违规并给出改进建议。
2025-07-17 cs.DC cs.LO
Upper and Lower Bounds on the Space Complexity of Multi-word Single-Writer Registers
University of British Columbia(不列颠哥伦比亚大学)
该研究针对单写者多字寄存器,证明了其空间复杂度的匹配上下界,提出了渐近紧的无等待模拟算法,改进了此前的空间上界,提升了多字寄存器模拟的空间效率。
2026-08-20 cs.DC
The Space Complexity of Long-lived and One-Shot Timestamp Implementations
本文讨论了在具有不同标识符的n个处理器的异步分布式系统中,从多作者原子寄存器中实现无界时间戳对象的问题,其中时间戳取自任意论域。Ellen,Fatourou和Ruppert(2008)表明,sqrt{n}/2-O(1)寄存器是任何从原子寄存器无障碍实现长寿时间戳系统所必需的(这意味着处理器可以重复获得时间戳)。我们从两个方面改进了现有的下界。首先,我们建立了一个下限的n/6 - O(1)寄存器的无障碍长寿时间戳问题。以前这样的线性下限只知道时间戳问题的约束版本。这个界限是渐近紧的; Ellen,Fatourou和Ruppert(2008)构建了一个使用n-1个寄存器的无等待算法。其次,我们证明了sqrt{n} - O(1)寄存器是任何无障碍实现单次时间戳系统所必需的(这意味着每个处理器最多只能获得一次时间戳)。我们表明,这个界限也是渐近紧的,通过提供一个无等待的单次时间戳系统,使用少于2 sqrt{n}寄存器,从而建立一个空间复杂度单次和长寿的时间戳系统之间的差距。
2011-12-21 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
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
Memory-Anonymous Starvation-Free Mutual Exclusion: Possibility and Impossibility Results
本文研究匿名共享内存系统中的无饥饿互斥问题,针对无记忆算法证明:两进程使用m≥7个匿名寄存器可实现无饥饿互斥当且仅当m为奇数,而三进程及以上则不可能实现,揭示了无故障系统中全局进展与个体进展之间的根本性差异。
2023-09-20 cs.DC
Integrated Bounds for Disintegrated Storage
我们指出了一些令人惊讶的相似性之间的非认证拜占庭存储,编码存储,和某些模拟共享寄存器从较小的。所有这些的一个共同特征是读取无法安全地返回在对共享存储的单个原子访问中获得的值。我们将此类系统统称为分解存储,并在所有这些系统中显示了异步定期无等待模拟的集成空间下限。简而言之,如果读取器是不可见的,那么这种系统的存储成本在写入值的大小上本质上是指数的;否则,它至少在读取器的数量上是线性的。我们的界限是渐近紧已知的算法,从而证明他们的高成本。
2018-08-06 cs.DC cs.DS
On the Time and Space Complexity of ABA Prevention and Detection
我们调查的时间和空间复杂度的检测和防止ABA共享内存算法的系统与n个进程和有界的基础对象。为此,我们定义了ABA检测寄存器,它类似于普通的读/写寄存器,除了它们允许进程q用读操作检测自q的最后一次读取以来是否有进程写入寄存器。ABA检测寄存器可以实现平凡的从一个单一的无界寄存器,但我们表明,他们有很高的复杂性,如果基础对象是有界的:一个障碍的自由实现的ABA检测单比特寄存器不能实现从少于n-1有界寄存器。此外,有界CAS对象(或更一般地说,有条件的读-修改-写原语)提供很少的帮助,实现ABA检测单比特寄存器:我们证明了这样的实现线性时空权衡。我们表明,相同的时间-空间的权衡持有的实施单位LL/SC原语从有界可写CAS对象。这证明了Anderson和Moir(1995)以及Jayanti和Petrovic(2003)的LL/SC/VL实现是最优的。我们用严格的上界来补充我们的下界:我们给出了一个从n+1个有界寄存器中检测ABA寄存器的实现,其步长复杂度为O(1)。我们还表明,(有界)LL/SC/VL可以实现从一个单一的有界CAS对象和O(n)步的复杂性。这两个上界是渐近最优的时间-空间积。这些结果给出了正式的证据表明,ABA的问题本质上是困难的,即使是可写的CAS对象不提供显着的好处超过寄存器处理ABA的问题本身,并没有希望找到一个更有效的实现LL/SC/VL从有界CAS对象和寄存器…
2015-07-09 cs.DC
Model Checking Parameterized Asynchronous Shared-Memory Systems
我们描述了参数化系统的活性验证的复杂性,由一个领导者进程和任意多个匿名和相同的贡献者进程。进程通过共享的有界值寄存器进行通信。虽然寄存器上的每个操作都是原子的,但是没有同步原语来原子地执行操作序列。我们分析的情况下,过程中建模的有限状态机或下推机和属性是由一个Büchi自动机的字母表的读取和写入行动的领导者。我们证明了这个问题是可判定的,并且具有令人惊讶的低复杂性:当所有进程都是有限状态机时,它是NP完全的,并且当它们是下推机时,它是PSPACE-hard和NEXPTIME。这种复杂性低于非参数化的情况:多个有限状态机的活性验证是PSPACE完全的,并且对于两个下推机是不可判定的。对于有限状态机,我们的证明使用存在性抽象和半线性约束来表征无限行为。对于下推机,我们展示了如何贡献者计算高栈高可以模拟计算的许多贡献者,每个低栈高。总之,我们的研究结果特征的匿名性和匿名性的假设下,参数化系统的验证的复杂性。
2015-05-25 cs.DC cs.FL cs.LO
Progress-Space Tradeoffs in Single-Writer Memory Implementations
为共享内存分布式系统设计的大多数算法都假定为单写入器多读取器(SWMR)设置,其中每个进程都提供了一个唯一的所有进程都可读的寄存器。在一个系统中,计算是由来自一个非常大的(可能是无界的)潜在参与者的集合的有限数量的进程来执行的,SWMR内存的假设不再是合理的。如果只提供有限数量的多写多读(MWMR)寄存器,我们不能依赖于一个先验的进程分配寄存器。在该设置中,模拟SWMR存储器,或等同地,确保稳定写入(即,每个写入的值都保持在存储器中)。在本文中,我们提出了一个SWMR模拟,适应所需的进展条件的MWMR寄存器的数量。对于任何给定的k从1到n,我们提出了一种算法,只使用n+k-1寄存器来模拟一个k锁自由SWMR存储器。我们还给出了2-锁自由情况下所需的n+1个寄存器的匹配下界,这支持了我们的假设,该算法是空间最优的。我们的下界对于2-障碍自由的严格较弱的进展条件成立,这表明k-障碍自由和k-锁自由SWMR模拟的空间复杂度可能一致。
2017-11-27 cs.DC
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
Efficient and Modular Consensus-Free Reconfiguration for Fault-Tolerant Storage
仲裁系统是在出现故障时实现一致和可用存储的有用工具。这些系统通常包括一组静态服务器,其提供由一组客户端访问的容错读/写寄存器。我们考虑这些系统的动态变体,并提出FreeStore,一组容错协议,模拟在动态异步系统中的进程能够加入/离开服务器设置在执行过程中的寄存器。这些协议使用了一个新的抽象称为视图生成器,捕获协议的要求,重新配置,并可以在不同的系统模型实现不同的属性。特别有趣的是,我们提出了一个重新配置协议,是模块化的,高效的,无共识和松散耦合的读/写协议,提高整体系统的性能。
2016-07-18 cs.DC
Deterministic and Fast Randomized Test-and-Set in Optimal Space
test-and-set对象是共享内存系统的基本同步原语。一个test-and-set对象存储一个位,初始化为0,并支持一个操作test&set(),该操作将位的值设置为1并返回其先前的值。本文研究了在具有n个进程的标准异步共享内存模型中,实现测试和设置对象所需的原子寄存器数量。对于无障碍(Giakkoupis和Woelfel,2012)和无死锁(Styer和Peterson,1989)实现,最佳下限是log(n)-1。最近提出了一种使用O(sqrt(n))寄存器的确定性无障碍实现(Giakkoupis,Helmi,Higham和Woelfel,2013)。本文关闭了这些已知的上限和下限之间的差距,提出了一个确定性的无障碍实现的测试和设置对象从Theta(log n)寄存器的大小Theta(log n)位。我们还提供了一种技术来转换任何确定性的无障碍算法,其中,从任何配置,任何过程都可以完成,如果它运行了b个步骤没有干扰,到一个随机的无等待算法的不经意的对手,其中预期的步骤复杂度是多项式在n和b。这种转换允许我们将我们的无障碍算法与Giakkoupis和Woelfel(2012)的随机测试和设置算法相结合,以从Theta(log n)寄存器获得随机无等待的测试和设置算法,具有针对遗忘对手的预期步骤复杂度Theta(log* n)。
2016-08-22 cs.DC
Strongly Linearizable Implementations of Snapshots and Other Types
线性化是共享内存算法正确性条件的黄金标准,历史上被认为是原子性的实际等价物。然而,[1]已经表明,用可线性化的实现替换原子对象会影响随机算法中执行结果的概率分布。因此,可线性化对象并不总是原子对象的合适替代品。一个更严格的正确性条件,称为强线性化已经被开发出来,并证明是适当的随机算法在一个强自适应对手模型[1]。我们从原子寄存器设计了几个新的无锁强线性化实现。特别是,我们给出了第一个强线性化的无锁快照实现,使用有界空间。这改进了Denysyuk和Woelfel [2]的无界空间解。作为一个构建块,我们的算法使用一个无锁的强线性化的ABA检测寄存器。我们通过修改Aghazadeh和Woelfel [3]的无等待可线性化的ABA检测寄存器来实现这个目标,正如我们所示,它不是强线性化的。Aspnes和Herlihy [4]确定了一个广泛的类类型,这些类型具有来自原子寄存器的无等待线性化实现。这些类型要求任何一对操作要么可交换,要么一个覆盖另一个。Aspnes和Herlihy给出了此类类型的一般无等待线性化实现,采用了无等待线性化快照对象。用我们的无锁强线性化对象替换快照对象,我们证明了这个类中的所有类型都有一个来自原子寄存器的无锁强线性化实现。
2019-08-28 cs.DC
Auditing without Leaks Despite Curiosity
本文提出一种改进的可审计性定义,关注读操作何时生效,并提出了无等待的多写者多读者寄存器实现,结合原子操作和一次性密码本加密防止未授权审计,扩展至可审计最大寄存器、快照对象及版本化类型。
2025-05-01 cs.CR cs.DC
On the Optimal Space Complexity of Consensus for Anonymous Processes
共享内存中共识的最优空间复杂度是一个几十年前的开放问题。对于$n$过程的系统,没有已知的使用次线性数量的寄存器的算法。然而,由于Fich、Herlihy和Switt的最著名的下限需要$Ω(\sqrt{n})$寄存器。进程匿名(运行相同算法)的特殊对称情况也引起了人们的注意。即使在这种情况下,最佳的下限和上限仍然是$Ω(\sqrt{n})$和$O(n)$。此外,Fich,Herlihy,和Saught首先证明了他们的匿名过程的下界,然后将其推广到一般情况。因此,解决匿名案件可能是理解和解决一般问题的重要一步。在这项工作中,我们表明,在一个系统的匿名进程,任何共识算法满足非确定性独奏终止使用$Ω(n)$读写寄存器在某些执行。这意味着确定性无障碍和随机无等待共识的空间复杂度的$Ω(n)$下限,与上限匹配并关闭了开放问题的对称情况。
2015-08-17 cs.DC