LeaseGuard: Raft Leases Done Right
MongoDB Research(MongoDB 研究);MongoDB, Inc.(MongoDB 公司)
本文提出LeaseGuard,一种基于Raft选举特性的新型租约算法,通过两个优化提升可用性,减少读一致性开销并提高写吞吐量。
2025-12-19 cs.DC
Probabilistically Bounded Staleness for Practical Partial Quorums
数据存储区复制会导致操作延迟和数据一致性之间的根本权衡。在本文中,我们研究这种权衡的情况下,法定人数复制的数据存储。在部分或非严格仲裁复制下,数据存储在回答查询之前等待来自副本子集的响应,而不保证读取和写入副本集相交。在实际部署中,这些配置只提供基本的最终一致性保证,对返回的数据的最近性没有限制。然而,有趣的是,部分法定人数通常对从业者来说“足够好”,因为它们具有潜在的好处。在这项工作中,我们解释了为什么部分法定人数在实践中是经常可以接受的,分析他们返回的数据的陈旧性和他们提供的延迟好处。我们引入概率有界陈旧性(PBS)的一致性,它提供了预期的界限陈旧的版本和挂钟时间。我们得出一个封闭形式的解决方案版本陈旧,以及模型实时陈旧的代表性发电机风格的系统下,互联网规模的生产工作负载。使用PBS,我们衡量延迟一致性权衡部分定额系统。我们定量地展示了最终一致的系统如何在几十毫秒内频繁地返回一致的数据,同时提供显着的延迟优势。
2012-04-26 cs.DB cs.DC
Efficient Consensus-Free Weight Reassignment for Atomic Storage (Extended Version)
加权投票是一种传统的方法,以提高性能的复制系统的基础上,常用的多数法定系统在异构环境中。在长寿命系统中,需要权重重新分配协议来随着时间重新分配权重,以便相应地适应性能变化。权重重分配协议在异步故障倾向系统中应该是无共识的,因为在这样的系统中不可能解决共识。本文提出了一个有效的共识自由的原子存储系统中的异构,动态,异步消息传递系统的重量重分配协议。实验评估表明,该协议提高了性能的原子读/写存储实现的多数仲裁系统相比,以前的解决方案。
2021-12-02 cs.DC
Extending Classic Paxos for High-performance Read-Modify-Write Registers
在这项工作中,我们提供了一个详细的规范,我们如何扩展和实现经典Paxos(CP)执行读-修改-写。此外,我们还详细说明了如何在CP上实现All-aboard Paxos,以及如何使用carstamps来添加ABD读写,以加速不需要RMW的常见情况。我们的规范针对的是部署在数据中心内的键值存储,可以在3到7台机器上复制,并支持读、写和RMW。
2021-03-26 cs.DC
Distributed Multi-writer Multi-reader Atomic Register with Optimistically Fast Read and Write
本文提出 Gus,一种在最多 5 个节点下实现最优弹性与乐观快速读写的 MWMR 原子寄存器仿真,并证明节点数超过 5 时无法同时满足两种性质,实验显示其尾部延迟优于现有系统。
2023-04-19 cs.DC
Read-Modify-Writable Snapshots from Read/Write operations
Universidad Nacional Autónoma de México (UNAM)(墨西哥国立自治大学)
本文提出两种仅使用读/写操作的可读写快照算法,分别适用于有限和无限并发性模型。
2026-02-18 cs.DC
Space Bounds for Reliable Multi-Writer Data Store: Inherent Cost of Read/Write Primitives
来自易出错组件的可靠存储仿真已经成为现代存储服务和应用程序的算法基础。大多数现有的可靠存储仿真都是从支持任意读-修改-写原语的存储服务构建的。由于这些原语通常不会被预先存在的或现成的组件(如云存储服务或网络连接磁盘)公开,因此很自然地会问它们是否确实对有效的存储仿真至关重要。在本文中,我们肯定地回答了这个问题。我们表明,放松底层存储,只支持读/写操作导致线性爆破仿真空间的要求。我们还表明,空间复杂度是不适应并发,这意味着存储不能可靠地回收,即使在顺序运行。在积极的一面,我们表明,比较和交换原语,这是常见的许多现成的存储服务,可以用来模拟一个可靠的多作家原子寄存器与恒定的存储和自适应时间复杂度。
2015-08-15 cs.DC
Fully Read/Write Fence-Free Work-Stealing with Multiplicity
工作窃取是一种以分布式方式实现动态负载均衡的流行技术。在这种方法中,每个进程都拥有一组必须执行的任务。集合的所有者可以将任务放入其中,也可以从其中获取任务来执行它们。当一个进程的任务用完时,它不是处于空闲状态,而是成为一个小偷,从受害者那里窃取任务。因此,工作窃取算法提供了三个高级操作:Put和Take,只能由所有者调用,以及Steal,可以由小偷调用。设计工作窃取算法的主要目标之一是使Put和Take尽可能简单和高效。不幸的是,已经表明,标准异步模型中的任何工作窃取算法必须使用昂贵的写后读同步模式或原子读-修改-写指令,这在实践中可能是昂贵的。因此,先前的研究已经提出了幂等工作窃取,一种放松,其中有没有读-修改-写原子指令和写后读同步模式的Put和Take算法;然而,Put在写指令之间使用围栏,Steal在读指令之间使用比较和交换和围栏。在TSO模型中,其中Write(resp.读)指令不能被重新排序,已经提出了完全无围栏的工作窃取算法,其Put和Take具有类似的属性,但Steal使用Compare&Swap或锁。
2021-02-22 cs.DC
Efficient and Modular Consensus-Free Reconfiguration for Fault-Tolerant Storage
仲裁系统是在出现故障时实现一致和可用存储的有用工具。这些系统通常包括一组静态服务器,其提供由一组客户端访问的容错读/写寄存器。我们考虑这些系统的动态变体,并提出FreeStore,一组容错协议,模拟在动态异步系统中的进程能够加入/离开服务器设置在执行过程中的寄存器。这些协议使用了一个新的抽象称为视图生成器,捕获协议的要求,重新配置,并可以在不同的系统模型实现不同的属性。特别有趣的是,我们提出了一个重新配置协议,是模块化的,高效的,无共识和松散耦合的读/写协议,提高整体系统的性能。
2016-07-18 cs.DC
Another Look at the Implementation of Read/write Registers in Crash-prone Asynchronous Message-Passing Systems (Extended Version)
另一篇论文是关于“在易崩溃的异步消息传递系统中实现读/写寄存器“!是的,但是,与前人不同的是,本文寻找一种通信抽象,它捕捉了这种实现的本质,就像全序广播可以与共识相关联,或者消息因果传递可以与因果关联一样。读/写寄存器。为此,本文介绍了一种新的通信抽象,名为SCD-广播(SCD代表“设置约束交付”),而不是一个单一的消息,提供给进程的消息集(其大小可以是任意的),这样的消息集的序列提供给任何两个进程满足一些约束。该文件然后表明:(a)SCD广播允许非常简单地实现快照对象(因此也包括原子读/写寄存器),(b)SCD广播可以从快照对象构建(因此SCD广播和快照对象--或读/写寄存器--是“计算等效的“),(c)SCD广播可以建立在任何少数进程可能崩溃的消息传递系统中(这是对实现读/写寄存器所需的可能进程崩溃数量的最弱假设)。
2017-02-27 cs.DC
Quorum Sensing for Regenerating Codes in Distributed Storage
具有复制的分布式存储系统以存储大量数据而闻名。为了提供可靠性,进行了大量的复制。这使得系统昂贵。随着时间的推移,已经提出了各种方法来降低复制程度,但提供相同的可靠性水平。最近提出的一个方案是再生代码,其中文件被分成多个部分,然后通过编码机制和网络编码来处理这些部分,以提供大量的部分。这些存储在各个节点上,每个节点上有多个部分。这些代码可以生成整个文件,并可以通过联系一些现有的节点来修复故障节点。此属性可确保节点故障时的可靠性,并使用智能复制。这也优化了带宽使用。在实际场景中,原始文件将被多次读取和更新。每次更新,我们都必须更新存储在许多节点上的数据。同时处理多个请求会带来很大的复杂性。还应防止同时对同一数据进行读写或多次写入。在本文中,我们提出了一个算法,管理和执行所有的用户的请求,降低了更新的复杂性。同时,我们也在努力保持足够的可用性。我们使用基于投票的机制,并形成读,写和修复法定人数。我们还对再生码进行了概率分析。
2013-09-28 cs.DC cs.IT math.IT
Read-Write Memory and k-Set Consensus as an Affine Task
无等待读写存储器模型的特征在于迭代的\emph{Immediate Snapshot}(IS)任务。IS任务是\emph{affine} -它可以被定义为标准色细分的单形(子)集。已知\emph{Weak Symmetry Breaking}(WSB)的任务不能被表示为仿射任务。在本文中,我们强调的现象,一个“自然”的模型,可以捕获的迭代仿射任务,因此,由一个子集运行的迭代立即快照模型。我们表明,读写内存模型,其中,另外,$k$ -集共识对象可以使用的是,不像WSB,“自然”提出相应的简单的仿射任务捕获的一个子集的$2$轮IS运行。我们的研究结果意味着第一个组合特征的模型配备了抽象的读写内存,适用于通用的任务。
2016-10-05 cs.DC
The read/write protocol complex is collapsible
著名的\emph{asynchronous computability theorem}提供了一类决策任务的特征,这些任务可以通过异步进程以无等待的方式解决,这些进程通过写入和获取共享内存的原子快照进行通信。已经提出了几种变化的模型(即时快照和迭代即时快照),所有等同的决策任务的无等待解决方案,尽管事实上,从不同的模型产生的协议复杂的结构上是不同的。这些快照协议复合物的拓扑和组合特性进行了详细的研究,提供了解释为什么异步可计算性定理在所有的模型。在现实中,并发系统不提供具有快照操作的进程。相反,快照是使用读写单个共享内存位置的操作(通过无等待协议)实现的。因此,读/写协议在计算上也等同于快照协议。然而,读/写协议复合体的结构尚未被研究。在本文中,我们表明,读/写迭代协议复杂的是可折叠的(因此收缩)。此外,我们证明了一个分布式协议,等待免费实现原子快照的效果是执行崩溃。
2015-12-17 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
Relaxed Queues and Stacks from Read/Write Operations
考虑到异步共享内存系统中,任何数量的进程可能会崩溃,这项工作确定并正式定义放松队列和堆栈,可以是非阻塞或等待自由,同时只使用读/写操作实现。集合线性化和区间线性化被用来形式化地描述松弛,并精确地识别保持原始顺序行为的执行子集。松弛允许不同的操作多次返回一个项目,但仅限于并发的情况;我们称这样的属性为多重性。堆栈实现是无等待的,而队列实现是非阻塞的。区间线性化用来描述一个具有多重性的队列,另外一个放松是出队操作可以返回弱空,这意味着队列可能是空的。本文提出了一种并发队列的读/写无等待区间线性化算法。据我们所知,这项工作是第一个提供多重性和弱空性概念的形式化,只能在读/写寄存器上实现。
2020-11-04 cs.DC
A Software-based NVM Emulator Supporting Read/Write Asymmetric Latencies
非易失性存储器(NVM)是一种很有前途的低能耗、大容量计算机主存技术。然而,NVM装置的特性往往与DRAM的特性根本不同(即,当前用于主存储器的存储器件),这是因为存储单元的原理不同。通常,诸如PCM和ReRAM的NVM设备的写入延迟比其读取延迟高得多。读/写延迟的不对称性可能会显著影响应用程序的性能。为了分析运行在基于NVM的主存上的应用程序的行为,由于商业NVM产品的数量有限,大多数研究人员使用基于软件的仿真工具。然而,这些现有的仿真工具太慢,无法仿真大规模的,现实的工作负载或过于简单,调查的细节,应用程序的行为与非对称读/写延迟的NVM上。因此,本文提出了一种新的NVM仿真机制,不仅重量轻,但也知道在基于NVM的主存储器的读/写延迟间隙。我们实现了所提出的机制的原型为英特尔CPU处理器的Haswell架构。我们还评估了其准确性,并进行了实际基准的案例研究。实验结果表明,该原型系统能够准确地模拟NVM主存的写延迟,其写延迟范围为200 ~ 1000 ns,误差范围为0.2%~ 1.1%。我们证实,使用我们的仿真器使我们能够成功地估计基于NVM的主存的实际工作负载的性能,而现有的轻量级仿真模型则会错误估计。
2019-08-02 cs.DC
Fine-grained Analysis on Fast Implementations of Distributed Multi-writer Atomic Registers
分布式多写入器原子寄存器是大量分布式算法的核心。在享受原子性的好处的同时,研究人员进一步探索原子寄存器的快速实现,这在数据访问延迟方面是最佳的。虽然已经证明,当读写都要求快时,多写入器原子寄存器的实现是不可能的,但当只要求写或读快时,实现是否是不可能的仍然是开放的。这项工作证明了不可能的快速写实现的基础上一系列的链参数indistiguishable执行。我们还显示了快速读取实现的必要和充分条件,通过扩展的结果在单作家的情况下。本文的工作是对分布式原子寄存器快速实现的一系列研究的总结。
2020-06-25 cs.DC
Oh-RAM! One and a Half Round Atomic Memory
在消息传递系统中模拟原子读/写共享对象是分布式计算中的一个基本问题。考虑到网络通信是最昂贵的资源,效率首先根据实现读写操作所需的通信来衡量。众所周知,涉及总共4个消息交换的2个通信往返阶段足以实现原子操作。还已知的是,在相对于副本服务器和故障的数量对读取器的数量的某些约束下,可以实现单写入器原子对象,使得每个操作涉及一个往返阶段。我们提出的算法,允许操作完成3通信交流,而不施加任何限制的读者和作家的数量。具体来说,我们提出了一个原子内存实现的SWMR设置,其中读取完成3个通信交换和写入完成2个交换。我们提出的问题是,是否有可能实现MWMR存储器的操作完成在最多3个通信交换。我们回答这个问题的否定表明,原子内存的实现是不可能的,如果读取和写入操作都需要3个通信交换,即使假设两个作家,两个读者,和一个单一的副本服务器故障。出于这种不可能的结果,我们提供了一个MWMR原子内存实现,其中读取涉及3和写入4通信交换。根据我们的不可能性结果,这些算法在通信交换的数量方面是最优的。我们对算法的正确性进行严格的推理。
2020-11-16 cs.DC
Time-Efficient Read/Write Register in Crash-prone Asynchronous Message-Passing Systems
原子寄存器无疑是计算科学最基本的对象。它在一个n进程异步消息传递系统上的实现已经受到了很多关注。已经表明,t \textless{} n/2(其中t是可能崩溃的进程的最大数量)是在易崩溃的异步消息传递系统之上构建原子寄存器的必要且充分的要求。考虑到这样的背景下,本文访问的概念,原子寄存器的快速实现,并提出了一个新的时间有效的异步算法。它的时间效率是根据两个不同的基本同步假设来衡量的。无论这个假设是什么,写操作总是要花费一个往返延迟,而读操作在有利的情况下(直观地说,当它与写操作不并发时)总是要花费一个往返延迟。在设计该算法时,设计精神是尽可能接近著名的ABD算法(由Attiya,Bar-Noy和Dolev提出)。
2016-01-19 cs.DC
The Life in 1-Consensus
本文介绍了一种确定性共享内存对象--原子写入和下一次读取($\text{WRN}_{k}$),它对任何$k\ge3$都比读写寄存器强,但不能实现$2$ -处理器一致性。特别是,它驳斥了猜想声称,每个确定性对象的共识数$1$是计算等价于读写寄存器。
2017-09-27 cs.DC
Unleashing and Speeding Up Readers in Atomic Object Implementations
在异步、易崩溃的消息传递系统中提供原子读/写对象的有效仿真是分布式计算中的一个重要问题。通信延迟是通常支配消息传递系统的性能的因素,因此实现原子对象的算法的效率是根据每个读写操作中涉及的通信交换的数量来测量的。Attiya、Bar-Noy和Dolev的开创性成果确定了两对通信交换,或者等价地两次往返通信,就足够了。随后的研究探讨了实施的可能性,涉及不到四个交换。Dutta等人的工作表明,对于单写入器/多读取器(SWMR)设置,两个交换是足够的,只要读取器的数量相对于系统中对象副本的数量和副本失败的数量受到严格限制,并且还表明,多写入器/多读取器(MWMR)对象的两个交换实现是不可能的。后来的研究集中在提供消除对读取器数量的限制的实现,同时具有使用可变数量的通信交换(具体地,两个、三个或四个交换)的读取和写入操作。这项工作提出了两个国家的最先进的在这一领域的进展。具体而言,对于SWMR和MWMR系统的算法,其中读取操作需要两个或三个交换。这改进了先前的工作,其中读取操作需要(a)三次交换,或者(b)两次或四次交换。新算法中的读取器数量不受约束,并且写入操作与先前工作中的交换次数相同(SWMR设置为2次,MWMR设置为4次)。算法的正确性是严格论证的。
2018-03-29 cs.DC
Asynchrony from Synchrony
我们认为同步动态网络,如无线电网络可能有不对称的通信链路,并受通信,而不是处理器故障。在本文中,我们研究了最小的消息生存性,在每一轮的基础上,允许最小的全球合作,即,允许解决任何无等待读写可解决的任务。该文件完全描述了这种生存能力的要求。通过考虑在一轮中删除消息的能力有限的对手,形式化了消息的生存性。在一个方向上删除链接上的消息并不一定意味着在另一个方向上删除该链接上的消息。令人惊讶的是,存在一个最强大的对手,可以解决任何无等待的读/写任务。解决任何无等待读/写任务的任何不同的对手都是较弱的,并且任何较强的对手都不会解决任何无等待读/写任务。ABD \cite{ABD}考虑了处理器故障,得到了一个具有$n/2$弹性的对手,从而可以解决诸如$n/2$ -set-consensus等非读/写等待可解的任务。对于消息对手,我们到达了一个完全具有读写无等待能力的对手。此外,这个对手允许一个相当简单的(我们所知道的最简单的)证明,任何读/写无等待任务的协议复合体是一个细分的单纯形,最后使这个证明对没有代数拓扑先决条件的学生来说是容易获得的,或者免除立即快照复合体是一个细分的单纯形的假设。
2012-03-27 cs.DC
Local Read-Write Operations in Sensor Networks
由于通信错误和平台限制,设计传感器网络的协议和制定方便的编程抽象单元是具有挑战性的。本文研究了\emph{local read-write}抽象的属性和实现可靠性。本地读写的灵感来自于为共享内存多处理器架构定义的读-修改-写操作类。读-修改-写操作类在解决并发控制的一致性和相关的同步问题中是很重要的。本地读写被证明是一个原子抽象的传感器网络中的邻居状态同步。本文比较了本地读写在无线传感器网络中类似的轻量级操作,如读所有,写所有,和基于事务的抽象:对于一些乐观的情况下,本地读写是一个更有效的邻域操作。描述了一个部分实现,它表明三个结果表征操作响应:成功,失败和取消。失败响应指示操作结果可能不一致,这是操作发起方的超时事件的结果。本文提出了不同的超时值和无争用的情况下的操作性能的实验结果,一些测试也对不同的邻域大小。
2008-06-11 cs.DC cs.OS
Efficient Wait-Free Linearizable Implementations of Approximate Bounded Counters Using Read-Write Registers
本文针对有界计数器提出三种基于读写寄存器的无等待线性化近似实现算法,通过放宽精度要求使读取步复杂度相较精确计数器实现获得指数级改进,其中两种算法达到渐近最优。
2024-02-21 cs.DC
Storage-Efficient Shared Memory Emulation
我们研究的设计存储效率的算法模拟原子共享内存的异步,分布式消息传递系统。我们的第一个算法是一个原子的单写多读算法的基础上一种新的擦除编码技术,称为\emph{multi-version code}。接下来,我们提出了一个扩展,我们的单作家算法的多作家多读者的环境。我们的第二个算法结合了复制和多版本代码,并且适合于我们期望大量并发写入的情况。此外,当并发写的数量是有界的,我们提出了一个简化的第二个算法,具有一个简单的结构类似于单作家算法的变体。假设$N$是服务器的数量,共享内存变量的大小为1个单位。我们的算法具有以下性质:(i)写操作终止,如果服务器故障的数量是由一个参数$f$的限制。只要与读取并发的写入的数量小于设计参数$ν$,并且服务器故障的数量由$f$限制,则算法还保证读取的终止。(ii)第一种算法的总存储大小和第二种算法的稳态存储大小都是$N/\lceil \frac{N-2f}ν \rceil$单位。此外,我们的第二种算法的简化变体实现了$N/\lceil \frac{N-2f}ν \rceil$的最坏情况下的存储成本,渐近匹配Cadambe等人的下限。$N \gg f, ν\le f+1$。(iii)写和读操作仅由少量(2到3)通信轮组成。(iv)对于所有算法,服务器维护一个简单的数据结构。服务器只需要存储与它观察到的最新值相关联的信息,类似于基于复制的算法。
2018-06-26 cs.DC
Inversion-based Measurement of Data Consistency for Read/Write Registers
分布式存储服务的提供者和消费者都受益于一致性违规严重性的量化。然而,现有的方法无法捕捉到一个典型的违规模式-操作之间的混乱与理想的强原子执行。这种混乱经常出现在基于分布式存储服务的互联网应用中,例如即时消息。为此,我们使用一个置换中的逆相对于全序置换来度量数据的一致性。提出了$i$ -原子性模型,并提出了一种受限历史类型的(伪)多项式验证算法.验证算法的基本思想是对具有小于$i$逆的置换进行蛮力搜索,这需要指数代价。从应用场景中提取合理的假设,可以利用修剪的搜索空间,这产生了一个有效的多项式验证算法。
2019-02-18 cs.DC
Verifying PRAM Consistency over Read/Write Traces of Data Replicas
数据复制技术能够实现高效、高可用的数据访问,因此越来越受到学术界和工业界的关注。然而,数据复制引入了数据一致性的问题。现代商业数据复制系统通常在某些故障场景下为高可用性提供弱一致性。一个重要的弱一致性是流水线RAM(PRAM)一致性。它允许不同的进程持有不同的数据视图。为了确定数据复制系统是否确实提供PRAM一致性,我们研究了在读/写跟踪(或简称VPC)上的PRAM一致性问题。我们首先根据a)是否存在多个共享变量(或一个单个变量)以及b)写入操作是否可以为每个共享变量分配重复值(或仅唯一值)来识别VPC的四种变体;这四种变体被标记为VPC-SU,VPC-MU,VPC-SD和VPC-MD。其次,我们提出了一个简单的VPC-MU算法,称为RW-CLOSURE。它根据三条规则迭代添加边来构造操作图$\mathcal{G}$。它的时间复杂度是$O(n^5)$,其中n是跟踪中的操作数。第三,我们提出了一种改进的VPC-MU算法,称为READ-CENTRIC,时间复杂度为$O(n^4)$。基本上,它试图以增量和有效的方式构造操作图$\mathcal{G}$。它的正确性是基于RW-CLOSURE。最后,通过将强$\sf{NP}$ -完全问题3-PARTITION约化为它,证明了VPC-SD(VPC-MD也是)是$\sf{NP}$ -完全的.
2013-11-29 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
Understanding Read-Write Wait-Free Coverings in the Fully-Anonymous Shared-Memory Model
本文研究全匿名共享内存模型中的根本问题,提出群可解性概念以支持任意任务在处理器匿名模型中的迁移,并通过分析无限读写下的稳定配置获得快照任务的无等待解法,进而解决重命名与免阻塞共识。
2024-05-07 cs.DC
Latency-Redundancy Tradeoff in Distributed Read-Write Systems
数据在多个服务器上进行冗余复制和存储,以确保分布式数据库中的可用性。我们关注的是具有频繁读写的数据库,在这些数据库中,读写延迟都很重要。这与主要为读或写应用程序设计的数据库相反。Reddit对读取和写入延迟的影响截然不同。读延迟可以通过来自多个服务器的潜在并行访问来减少,而写延迟则会随着必须更新大量副本而增加。我们量化的读和写延迟之间的权衡作为冗余的函数,并提供了一个封闭的形式近似时,请求到达是泊松和服务是无记忆的。我们的经验表明,这种近似是紧在所有范围内的系统参数。从而为分布式数据库的冗余选择提供了指导。
2021-11-27 cs.DB cs.DC cs.NI
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
Reliable Self-Stabilizing Communication for Quasi Rendezvous
本文提出了三个基本的公平和可靠的链路通信原语的自稳定协议。我们假设一个链接寄存器通信模型下的读/写原子,其中每个进程可以读取,但不能写入其邻居的寄存器。第一个原语保证任何进程只有在其所有邻居都读取了前一个值之后才在其寄存器中写入新值,无论进程的动作的初始调度如何。第二个原语通过使用交替位协议实现了“弱会合”通信机制:每当一个进程连续将n个值(可能是相同的值)写入寄存器时,每个邻居都保证从寄存器中读取每个值至少一次。在前一个协议的基础上,第三个原语实现了一个“准会合”:换句话说,这个原语进一步确保了两个写操作之间只存在一个读操作所有协议都是自稳定的,并且在异步任意网络中运行。本文的目标是通过一个单独的过程来处理每个原语,这可以在更复杂的自稳定协议中用作“黑盒”。
2010-05-31 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 Synchronization Power of Auditable Registers
本文研究可审计寄存器的同步能力,证明原子审计可解决共识,并给出不同读者/审计者数量下的实现,同时提出可用普通读写实现的常规审计定义。
2023-08-31 cs.DC
Proofs of Writing for Efficient and Robust Storage
我们提出PoWerStore,第一个有效的强大的存储协议,实现最佳的延迟,而不使用数字签名。PoWerStore的鲁棒性包括容忍冗余、最大数量的拜占庭存储服务器、任意数量的拜占庭读取器和崩溃故障写入器,并保证读/写操作的等待自由度和线性化。PoWerStore的效率源于结合轻量级身份验证,擦除编码和元数据回写,其中读取器只回写元数据以实现线性化。PoWerStore的核心是写作证明(PoW):一种基于轻量级密码学的新型存储技术。PoW使PoWerStore的单写入器变体中的读取和写入在最坏情况下(我们显示为最佳情况)在客户端和存储服务器之间具有2轮通信的延迟。我们进一步提出并实现了一个多作家PoWerStore变体,具有3轮写/读,其中第三轮读仅在主动攻击下调用,并表明它优于现有的强大的存储协议,包括容错的。
2012-12-24 cs.CR cs.DC
$t$-Resilient $k$-Immediate Snapshot and its Relation with Agreement Problems
即时快照对象是一种高级通信对象,建立在读/写分布式系统之上,其中除了一个进程之外的所有进程都可能崩溃。它允许进程写入一个值并获得一组值,这些值表示写入对象的值的快照,这些快照在写入步骤之后立即发生。考虑到$n$ -进程模型,其中多达$t$进程可能崩溃,本文首先介绍了$k$ -弹性立即快照对象,它是基本立即快照(对应于$k=t=n-1$情况)的自然推广。除了基本立即快照的集合包含属性之外,$k$弹性立即快照对象还要求返回到进程的每个集合至少包含$(n-k)$对。本文首先指出,对于$k,t<n-1$,在异步读写系统中不可能实现$k$ -弹性立即快照.然后研究了在$n$ -进程$t$ -崩溃读写系统中不可能解决的对象空间。然后,本文研究了一种计算模型,其中进程通过访问$k$ -即时快照对象相互通信,并表明该模型比$t$ -崩溃模型更强大。考虑到空间的$x$ -集协议问题(这是不可能解决的系统,如$x\leq t$),本文表明,$x$ -集协议可以解决在读/写系统丰富的$k$ -立即快照对象$x=\max(1,t+k-(n-2))$。它还表明,在这些系统中,$k$ -弹性即时快照和共识是等效的,当$1\leq t<n/2$和$t\leq k\leq (n-1)-t$。因此,%感谢它提供的问题图,本文建立了强大的关系,连接基本的分布式计算对象(一个与通信有关,另一个与协议有关),这是不可能在…
2020-09-30 cs.DC
Modular Baskets Queue
本文给出了Hoffman,Shalev和Saught的篮子排队模型的一个模块化版本.它使用一个名为load-link/increment-conditional的新对象来操纵头部和尾部,该对象只能使用READ/WRITE指令来实现,并允许传播争用的实现。这表明,可能有一个替代方案,在以前的队列实现中,使用读-修改-写指令在单个共享寄存器上操纵头部和尾部的看似固有的瓶颈。
2022-05-12 cs.DC
Standard protocol complexes for the immediate snapshot read/write model
在本文中,我们考虑一族抽象单纯复形,我们称之为立即快照复形。它们的定义是由理论上的分布式计算激发的。具体而言,这些复合体在一般即时快照执行模型中作为协议复合体出现。为了定义和分析即时快照复合物,我们使用见证结构的新语言。我们发展了严格的数学理论的见证结构,并用它来证明几个组合以及拓扑性质的即时快照复合物。特别地,我们证明了这些复合物是单纯同胚的单纯。
2014-02-19 cs.DC math.AT
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
Efficient means of Achieving Composability using Object based Conflicts on Transactional Memory
将并发数据结构(cds)的各个原子方法组合在一起,提出了多个设计和一致性挑战。在这种情况下,由软件事务存储器(STM)中的事务提供的组合可能很方便。然而,大多数STM提供读/写原语来访问共享CD。这些读/写原语会导致不必要的中止。相反,底层cds的语义丰富的高级方法,如查找、插入或删除(在哈希表或列表的情况下),有助于忽略不重要的低级读/写冲突,并允许更好的并发性。在本文中,我们适应数据库中的事务树模型,提出OSTM,使高效的组合在CDS。我们将传统的冲突和合法性概念扩展到使用STM的更高级别的CDS方法,并给出详细的正确性证明,以表明它是共同不透明的。我们实现了OSTM与并发闭地址哈希表(HT-OSTM)和列表(list-OSTM),其中出口作为事务接口的高层操作。在我们的实验中,不同的工作负载和随机生成的事务操作,HT-OSTM显示3到6倍的加速和w.r.t中止HT-OSTM是3到7倍,分别优于ESTM和基于读/写的STM。其中,list-OSTM在所有工作负载和场景中的性能都优于最先进的无锁事务列表,NOrec STM列表和boosted list,提高了30%到80%。此外,列表-OSTM与本文中考虑的其他技术相比,产生了可以忽略不计的中止。
2018-05-26 cs.DC
Operation-Type-Aware Client Routing for Leader-Based Consensus Datastores
Amazon Web Services(亚马逊云服务);NVIDIA(英伟达)
针对基于领导者的共识数据存储,提出操作感知客户端路由策略,将写操作固定至领导者、读操作分发至健康读池,可显著降低延迟并提升吞吐量,且在etcd与ZooKeeper上均有效。
2026-09-02 cs.DC cs.SE
On the energy efficiency of client-centric data consistency management under random read/write access to Big Data with Apache HBase
2010年,数据中心的总能源费用估计为115亿美元,专家估计,典型数据中心的能源成本每五年翻一番。另一方面,计算的发展已经开始落后于存储的进步,成为未来数据增长的瓶颈,数据增长已经接近Exascale级别。我们调查的数据吞吐量和能源足迹之间的关系在一个大型存储集群,其目标是正式作为一个指标,反映一致性和能源之间的交易。采用以客户端为中心的一致性方法,同时尊重ACID属性的案例研究(Apache HBase)所选择的柱状存储,我们提出的系统的能源消耗所涉及的因素,以及经验教训,以支持进一步设计的节能集群规模的存储系统。
2016-11-30 cs.DC cs.PF
Ditto: Generalized Reconfigurable Linearizable Reads
University of Toronto(多伦多大学)
针对分布式存储线性化读取算法在权衡空间中无法兼顾延迟与网络容忍度的问题,提出Pairwise Quorums及可运行时重配置的Ditto,覆盖并优于现有算法。
2026-10-02 cs.DB 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
SketchSSM: Write to the Full State, Read from a Compact Sketch
SketchSSM通过离线固定基向量预计算状态读取输出并存储为紧凑草图,在解码时用查询系数重建结果,减少约10倍状态访问流量,同时保持准确率,并在NVIDIA B300上实现最高7.78倍内核加速。
2026-10-07 cs.DC cs.LG