ezBFT: Decentralizing Byzantine Fault-Tolerant State Machine Replication
我们提出ezBFT,一种新的无领导,分布式共识协议能够容忍拜占庭故障。ezBFT的主要目标是最大限度地减少WAN部署中的客户端延迟。它通过以下方式实现这一点:(i)没有指定的主副本,而是使每个副本能够对其从客户端接收的请求进行排序;(ii)在常见情况下仅使用三个通信步骤来排序请求;以及(iii)让客户端积极参与共识过程。此外,ezBFT最大限度地减少了拜占庭副本对整体系统性能的潜在负面影响。我们在TLA+中开发了ezBFT的形式化规范,表明它提供了BFT协议的经典属性,包括一致性,稳定性和活性,并开发了一个实现。我们的实验评估表明,ezBFT将客户端延迟提高了40%,超过了最先进的拜占庭容错协议,包括PBFT,Fab和Zyzzyva。
2019-04-12 cs.DC
Fault Tolerant Leader Election in Distributed Systems
有许多分布式系统在其逻辑中使用领导者。当系统需要容错时,当前的领导者遇到了技术问题,这是必要的应用一个特殊的算法,以选择一个新的领导者。在本文中,我提出了一个新的容错算法,选举一个新的领导者的基础上随机轮盘赌轮选择。
2017-03-07 cs.DC
Strengthened Fault Tolerance in Byzantine Fault Tolerant Replication
拜占庭容错(BFT)状态机复制(SMR)是构建许可区块链系统的重要构建块。与Nakamoto Consensus相比,任何区块都可以在区块链中获得更高的保证,在BFT SMR中,任何提交的区块都是安全的,具有固定的弹性阈值。在本文中,我们研究加强容错(SFT)在BFT SMR部分同步下,它提供了逐渐增加的弹性保证(如中本共识)在一个乐观的时期,当网络同步和拜占庭故障的数量是小的。此外,即使在乐观期之后,已提交的块也可以容忍超过三分之一(高达三分之二)的腐败。与需要二次消息复杂度的现有最佳解决方案灵活BFT相比,我们的解决方案保持了最先进的BFT SMR协议的线性消息复杂度,并且只需要边际簿记开销。我们实现了我们的解决方案在开源的Diem项目,并给出实验结果,证明其效率在现实世界的情况下。
2021-01-11 cs.CR cs.DC
Checkpoint-Restart Libraries Must Become More Fault Tolerant
生产MPI代码需要检查点重启(CPR)支持。显然,检查点重启库必须是容错的,以免它们为拜占庭式的失败打开一扇脆弱的窗口。但是,某些利用MPI的流行库显然不是容错的。如今,具有自动恢复而无需批量重新排队的故障检测是生产环境的强烈需求。因此,即使与从倒数第二个检查点的保守恢复配对,允许死锁和设置长超时对于故障检测也是次优的。当MPI用作CPR库内的通信机制时,这样的库必须提供具有最小检测、隔离、缓解和潜在恢复语义的容错扩展,以帮助CPR的库故障后向。MPI和检查点库之间关于系统健康的通信可能是有价值的。对于容错MPI程序(例如,使用像FA-MPI、Stages/Reinit或ULFM这样的API),检查点库必须与扩展模型协作,否则使容错操作无效。
2021-12-20 cs.DC
Recent Results on Fault-Tolerant Consensus in Message-Passing Networks
容错一致性是分布式系统中最重要的原语之一,在实际应用中有着广泛的应用,因此得到了广泛的研究。本文综述了消息传递网络中容错共识的重要结果,重点是过去十年的结果。特别是,我们将结果分为两组:新的问题配方和实际应用。在第一部分中,我们讨论了新的方法来定义一致性问题,其中包括更大的输入域,链路故障模型,不同的网络模型。. .等,并简要讨论了重要的技术。在第二部分中,我们专注于使用Paxos或Raft的崩溃容错(CFT)系统和拜占庭容错(BFT)系统。我们还讨论了比特币,这可能与解决匿名系统中的拜占庭共识有关,并将比特币与BFT系统和拜占庭共识进行了比较。
2016-08-29 cs.DC
How Machine Learning-Data Driven Replication Strategies Enhance Fault Tolerance in Large-Scale Distributed Systems
Kabarak University(卡巴拉克大学);Carnegie Mellon University(卡内基梅隆大学)
针对传统静态配置复制方法难以适应动态负载与故障的问题,本研究提出集成预测分析和强化学习的自适应复制机制,通过对比评估证明其能提升系统弹性与自优化能力,为分布式系统容错提供新方向。
2025-11-13 cs.DC
What does fault tolerant Deep Learning need from MPI?
深度学习(DL)算法已经成为用于大规模数据分析的事实上的机器学习(ML)算法。DL算法在计算上是昂贵的-即使是使用MPI的分布式DL实现也需要在通常研究的数据集上进行数天的训练(模型学习)时间。长时间运行的DL应用程序变得容易受到故障的影响-除了容错DL算法之外,还需要开发容错系统基础设施。这就提出了一个重要的问题:设计容错DL实现需要MPI提供什么?在本文中,我们解决这个问题的永久故障。我们激励需要一个容错MPI规范的DL算法和它们的属性,驱动需要特定的容错功能的最近的创新的深入考虑。我们提出了一个深入的讨论不同的并行类型(模型,数据和混合)的适用性;需要(或缺乏)的任何关键数据结构的检查点;最重要的是,考虑几个容错建议(用户级故障缓解(ULFM),Reinit)在MPI和它们的适用性容错DL实现。我们利用Caffe的分布式内存实现,目前可在机器学习工具包极端规模(MaTEx)。我们通过扩展MaTEx-Caffe来实现我们的方法,以使用基于ULFM的实现。我们使用ImageNet数据集和AlexNet以及GoogLeNet神经网络拓扑进行的评估证明了使用基于OpenMPI的ULFM的容错DL实现的有效性。
2017-09-11 cs.DC
FASTEN: Towards a FAult-tolerant and STorage EfficieNt Cloud: Balancing Between Replication and Deduplication
针对云存储中冗余保障高可用性与重复数据删除节省空间之间的矛盾,提出分布式方案 FASTEN,通过最优分散数据子集实现容错并保持冗余,实验证明其在低成本、审计和去重性能上优于现有系统。
2023-12-13 cs.DC
Fault Tolerant Consensus Agreement Algorithm
最近,一种新的容错和简单的机制被设计用于解决提交一致性问题。它基于对在事务参与者和一个特殊的调度器验证器管理器节点之间发送的消息的复制验证。本文给出了该算法的正确性、安全性证明和性能分析。
2017-06-11 cs.DB cs.DC
A Game-theoretic Approach for Synthesizing Fault-Tolerant Embedded Systems
在本文中,我们提出了一种容错合成的方法相结合的预定义模式的容错算法游戏解决。一个非容错系统,连同相关的故障假设和容错机制的模板在一个池中被翻译成一个分布式的游戏,我们执行一个不完全的搜索策略,以应付不可判定性。游戏的结果被翻译回可执行代码具体化的容错机制,使用约束求解。整体方法实现了一个原型工具链,并举例说明。
2010-11-01 cs.DC cs.GT cs.SE
SwiftCloud: Fault-Tolerant Geo-Replication Integrated all the Way to the Client Machine
客户端逻辑和存储越来越多地用于Web和移动应用程序,以提高响应时间和可用性。目前的方法往往是ad-hoc的,与服务器端逻辑的集成很差。我们提出了一个原则性的方法来集成客户端和服务器端存储。我们支持可合并的和强一致的事务,目标客户端或服务器副本,并提供访问因果一致的快照有效。在出现基础架构故障时,客户端辅助的故障切换解决方案允许客户端立即恢复执行,并无缝访问一致的快照,而无需等待。我们在SwiftCloud中实现了这种方法,SwiftCloud是第一个将地理复制一直带到客户端机器的事务系统。示例应用程序表明,我们的编程模型在一系列应用领域是有用的。我们的实验评估表明,SwiftCloud提供了更好的容错,并在同一时间可以提高延迟和吞吐量高达一个数量级,相比经典的地理复制技术。
2013-10-11 cs.DB cs.DC
A Fault Tolerant Mechanism for Partitioning and Offloading Framework in Pervasive Environments
在过去的几年中,应用程序分区和代码卸载正在被广泛研究。已经提出了几个代码卸载框架。然而,较少的作品试图解决的问题发生在普遍的环境中,如频繁的网络断开,由于用户的高流动性的实现。因此,在本文中,我们提出了一个容错算法,有助于巩固应用程序分区和卸载框架的效率和鲁棒性。为了允许使用不同的容错策略,如复制和检查点,设备被分组为高可靠性和低可靠性集群。实验结果表明,该容错算法能够以最小的开销适应不同的执行环境。
2021-09-19 cs.DC
Proactive Service Migration for Long-Running Byzantine Fault Tolerant Systems
在本文中,我们描述了一种新的主动恢复计划的基础上,服务迁移的长期运行拜占庭容错系统。主动恢复是确保容错系统长期可靠性的重要方法,这些系统受到恶意对手的持续威胁。我们的主动恢复方案的主要好处是减少了漏洞窗口。这是通过从主动恢复的关键路线中删除耗时的重新启动步骤来实现的。我们的基于迁移的主动恢复在副本之间进行协调,因此,它可以自动调整以适应不同的系统负载,并避免在以前的工作中可能发生的过多并发主动恢复的问题。此外,快速主动恢复还显著提高了系统在出现故障时的可用性。
2008-03-11 cs.DC
On the Byzantine-Fault-Tolerant Consensus for Blockchain among Connected Vehicles
在共识过程中能否保证拜占庭容错(Byzantine fault tolerance,BFT)是区块链系统的关键问题。当车辆保持移动时,互联车辆(CV)能否实现BFT共识?本文试图回答这一基本问题。它侧重于描述流动性对简历中BFT共识性能的影响。
2021-12-25 cs.DC
A Hypermedia Distributed Application for Monitoring and Fault-Injection in Embedded Fault-tolerant Parallel Programs
我们描述了一个分布式的,多媒体应用程序正在开发的ESPRIT-IV项目21012 EFTOS(嵌入式容错超级计算)的框架。该应用程序动态设置HTML页面的层次结构,反映在Parsytec CC系统上运行的符合EFTOS的可靠应用程序的当前状态。这些网页被输入到一个万维网浏览器,该浏览器起着超媒体监视器的作用。所采用的方法允许用户专注于他/她的应用程序的高层次方面,以便快速评估其当前的容错设计的质量。这个系统的观点本身很好地耦合到一个工具,以交互方式注入软件故障的用户应用程序,这个工具目前正在开发中。
2014-01-13 cs.DC
Fault Tolerant QR Factorization for General Matrices
本文给出了一般矩阵QR分解的一种容错算法。它依赖于通信避免算法,并使用计算的每个部分的减少的结构来引入冗余,这些冗余足以恢复失败进程的状态。当一个进程失败后,它的状态只能根据一个进程保存的数据恢复。此外,在无故障执行过程中,它不会在关键路线中增加任何重要操作。
2016-04-14 cs.DC
Efficient and Simple Algorithms for Fault Tolerant Spanners
最近表明,一个版本的贪心算法给出了一个结构的容错空间是大小最优的,至少对于顶点故障。然而,构造该时间序列的算法不是多项式时间的,并且最著名的多项式时间算法明显是次优的。设计一个多项式时间算法来构造(近)最优的容错空间是最近两篇关于容错空间的论文([Bodwin,Dinitz,Parter,Vassilevka Williams SODA '18]和[Bodwin,Patel PODC '19])中的一个公开问题。我们给出了一个令人惊讶的简单算法,在多项式时间内运行,并通过修改贪心算法运行在多项式时间,构造非常接近最优的容错spectrum(关闭只有一个线性因子的拉伸)。为了补充这一结果,我们还给出了简单的分布式结构的两个模型的CONGEST和CONGEST。
2020-05-24 cs.DC cs.DM cs.DS
Revisiting EZBFT: A Decentralized Byzantine Fault Tolerant Protocol with Speculation
在本文中,我们重新审视了EZBFT[2],并在协议中提出了安全性,活性和执行一致性违规。为了演示这些违规行为,我们提出了简单的场景,只涉及四个副本,两个客户端,和一个或两个所有者的变化。我们还注意到所提出的TLA+规范用于模型检查所提出的协议的缺点。
2019-09-09 cs.DC
Non-determinism in Byzantine Fault-Tolerant Replication
服务复制将应用程序分布在多个进程上,以容忍进程子集中的故障、攻击和不当行为。已建立的状态机复制范例本质上要求应用程序具有确定性。本文区分了三种模型来处理复制服务中的非确定性,其中一些进程会受到故障和任意行为的影响(所谓的拜占庭故障):首先,一种模块化方法,不需要对潜在的非确定性应用程序进行任何更改(也不能访问其内部数据);第二,主从方法,其中领导者打破联系,其他进程验证领导者的选择;最后,处理使用密码学和密钥的应用程序。密码操作和秘密必须被特殊对待,因为它们需要很强的随机性来满足它们的目标。本文还介绍了两个新的协议。第一种方法使用模块化方法过滤掉应用程序中的非确定性操作。它确保所有正确的过程产生相同的输出,并且它们的内部状态不会发散。第二个协议实现了密码安全的随机性生成与可验证的随机函数,并适用于某些安全模型。所有协议都以通用的方式描述,并且不假设底层共识原语的特定实现。
2016-12-19 cs.CR cs.DC
A Formally Verified Protocol for Log Replication with Byzantine Fault Tolerance
拜占庭容错协议允许在存在崩溃、故障或活跃恶意进程的情况下进行状态复制。然而,在没有验证工具的帮助下设计这样的协议非常容易出错。在对抗性环境中,性能和灵活性是以复杂性为代价的,这使得现有协议的验证非常困难。我们采取了不同的方法,并提出了一个正式验证的共识协议,专为一个特定的用例:安全日志。我们的协议允许每个节点提出条目在一个并行的子程序,并保证正确的节点同意所有建议的条目,没有领导人选举。它既简单又实用,因为它可以适应证书透明性等日志系统的工作负载。我们表明,它是最优的要求轮和容许故障。使用Isabelle/HOL,我们提供了一个基于Heard-Of模型的完全机器检查的安全证明,我们扩展了该模型以支持签名。我们还提出并评估了一个原型实现。
2020-09-22 cs.CR cs.DC
A Byzantine Fault Tolerant Distributed Commit Protocol
在本文中,我们提出了一个拜占庭容错分布式提交协议的事务运行在不可信的网络。传统的两阶段提交协议通过复制协调器和在协调器副本之间运行拜占庭协议算法来增强。我们的协议可以容忍拜占庭故障的协调副本和一个子集的恶意故障的参与者。一个决策证书,其中包括一组注册记录和一组投票的参与者,是用来促进协调副本,以达到拜占庭协议的结果,每一个交易。该证书还限制了错误副本可以用于非原子终止事务或语义上不正确的事务结果的方式。
2007-08-01 cs.DB cs.DC
Starting a Dialog between Model Checking and Fault-tolerant Distributed Algorithms
容错分布式算法是构建可靠的空间分布式系统的核心。不幸的是,缺乏一个规范的精确框架的容错算法是一个障碍,验证和部署。在本文中,我们引入了一个新的特定领域的框架,以捕获的容错分布式算法的行为,在一个充分和精确的方式。在我们的框架的中心是一个参数化的系统模型,控制流自动机用于过程规范。为了说明消息传递系统的容错分布式算法的具体功能和属性,我们的控制流自动机扩展到模型阈值警卫以及固有的非确定性所产生的异步通信,交错的步骤,和错误的过程。我们证明了我们的框架的充分性,在一个有代表性的案例研究中,我们正式确定了一个家庭的各种故障假设下的著名的容错广播算法。我们的案例研究支持模型检验实验的安全性和活性规格的固定数量的进程。在实验中,我们系统地改变了恢复力条件和故障模型的假设。在所有情况下,我们的实验与分布式算法文献中预测的理论结果相吻合。这为我们的模型的充分性提供了明确的证据。在配套文件中,我们正在解决新的模型检验技术所需的参数验证的分布式算法捕获在我们的框架。
2012-10-14 cs.DC cs.FL
SeeMoRe: A Fault-Tolerant Protocol for Hybrid Cloud Environments
大规模数据管理系统利用状态机复制来提供容错并提高性能。容错协议广泛用于大型企业的分布式数据库基础设施,如谷歌,亚马逊和Facebook,以及许可的区块链系统,如IBM的Hyperledger Fabric。然而,尽管经过多年的深入研究,现有的容错协议并不能充分解决分布式系统应用程序的所有特征。特别是,由私有云和公共云组成的混合云环境被企业广泛使用。然而,容错协议还没有适应这样的环境。在本文中,我们介绍了SeeMore,一种混合状态机复制协议,用于处理公共/私有云环境中的崩溃和恶意故障。SeeMore考虑了一个由非恶意节点(正确或崩溃)组成的私有云和一个既有拜占庭故障节点又有正确节点的公共云。SeeMoRe有三种不同的模式,可以根据私有云负载以及公共云和私有云之间的通信延迟来使用。我们还介绍了一种动态模式切换技术,从一种模式过渡到另一种模式。此外,我们使用一系列基准来评估SeeMore。实验表明,SeeMoRe的性能接近最先进的崩溃容错协议的状态,同时容忍恶意故障。
2019-06-18 cs.DB cs.DC