分布式计算系统使用计算装置集合能够以容错方式操作。通过实行状态机的独立复制品和选择建议,计算装置集合能够容许许多错误。通过使复制品成为主机,参与在分布式计算系统中的计算装置能够通过从集合中增加或删除计算装置、或者通过为参与者指定特殊计算装置来调节。通过用可操作的装置、或通过增加系统中冗余的数目来代替有缺陷的装置,改变装置中参与的计算装置,提高了容错。
【技术实现步骤摘要】
本专利技术主要涉及分布式计算系统,尤其是涉及容错分布式计算。背景分布式系统的优点是在面临削弱单片集成电路计算装置的物理困难时能继续运行。这些困难包括持续的电源储运损耗、恶劣天气、洪水、恐怖活动等诸如此类。为了弥补独立计算装置可能出现断网、关闭、遭受系统故障或者不能工作等增加的危险,可使用冗余以使分布式计算系统保持运行。于是,在任意计算装置上存储的信息或运行的程序可以冗余地存储在其它计算装置上,即使当计算装置之一出现故障时,仍可存取信息。分布式计算系统可实行完全冗余,其中系统中的每一装置执行同一任务并存储同一信息。即使大半装置出现故障时,这种系统仍允许用户继续执行有用操作。可选的是,这种装置能够允许同一信息的多个副本遍布地理区分布。例如,跨国公司可建立全球性的分布式计算系统。然而,由于包括以相同次序来执行同一操作的系统的独立装置的完全保证的复杂性,因此分布式计算系统很难维护。为了便于处理这种经常出现的困难任务,经常采用状态机方法在独立装置中调整行动。状态机由状态集合、命令集合、响应集合及联系响应/状态对到每一命令/状态对的客户端命令来描述。通过改变其状态并发出响应,状态机能够运行命令。因此,能够通过其当前状态和将要执行的行动来完整地描述状态机。因此,状态机的当前状态依靠其前状态、由此以后执行的命令、和在其中执行的命令的顺序。为了使两个或更多状态机之间达到同步,可以建立通用初始状态,并且用初始状态启动的每一状态机以同一顺序运行同一命令。因此,为了使状态机与另一个达到同步,需要生成由其它状态机执行的命令的决定。因此同步问题,成为确定执行命令顺序的问题,或尤其是确定为给定步骤执行特殊命令的问题。为给定步骤确定将要执行的命令的一个机制为Paxos算法。在Paxos算法中,任何独立装置能够作为头标,并通过系统中的每一装置,搜索运行给定客户端命令的建议。每一建议能够用建议数目来发送以更加容易地跟踪建议。这些建议数目不需要为装置尝试同意执行的命令的特殊步骤来负担任何关系。最初,头标能够为头标将要提交的建议提议建议数目。然后使用他们表决赞成的最后建议的指示,或者他们没有表决赞成任何建议的指示,每一剩余的装置能够响应建议数目的头标意见。如果通过不同的响应,头标没有获得任何其它由装置表决赞成的建议,那么通过使用在更早消息中提议的建议数目,头标能够提议由装置运行的给定的客户端命令。在那种状态下,每一装置能够确定表决是否赞成或否决行动。如果它已经对更大建议数目的另一头标建议响应,那么装置只能否决其行动。如果装置的充分数量,如法定数目表决赞成此建议,那么所建议的行动能够达到一致意见,并且每一装置执行此行动,并能够传输此结果。于是,每一装置能够以相同顺序执行行动,以在所有装置中达到相同的状态。通常,Paxos算法在两个阶段中考虑,一个是允许头标学习先前由上述装置表决的建议的初始阶段,以及头标能够为运行提议客户端命令的第二阶段。一旦头标学会了先前的建议,它就不需要连续地重复第一阶段。取而代之,头标能连续地重复第二阶段,提议由分布式计算系统在多个布骤中运行的一系列客户端命令。于是,分布式计算系统为每一步骤运行的每一客户端命令能够作为Paxos算法的一个实例提议,在为下一步骤提议另一客户端命令之前,头标不需要等待装置来为给定步骤表决已提议的客户端命令。分布式计算系统,作为一个整体,能够模拟为状态机。于是,执行完全冗余的分布式计算系统能够使每一装置复制整个系统的状态,于是每一装置是同一状态机本身的“复制品”。这种系统要求每一复制品保持相同的状态。如果某些复制品认为运行一个客户端命令,而第二组复制品认为运行不同的客户端命令,那么整个系统就不再作为单一的状态机来操作。为了避免这种情况,多数复制品通常要求选择系统运行所提议的客户端命令。由于任意两组复制品,每一组都有多数共享至少一个复制品、机制,如Paxos算法,能够实现依靠至少一个通用复制品来阻止两组复制品选择不同的所提议的客户端命令,每一组里都包括多数复制品。然而,预期运行延长的一段时间的系统必须处理永远退役或永远有故障的装置。因此系统提供交换出某些装置和用其它(如改变状态机复制装置)来代替它们,于是系统的未来容错恢复到它的最初水平。另外,一旦产生错误的法定数目,系统不再容错。代替的出错装置恢复了系统的容错以容许新的错误。另外,系统允许增加新装置以提高容错装置的数目,以提供更大的容错。对于系统如何确定改变在协议中参与的状态机复制品的装置,最初的Paxos算法给予了简单的描述。但是由最初的Paxos算法提议的方法不对多种特殊环境定位,这种环境可在复制装置中的改变中出现。专利技术概要使用计算装置集合,分布式计算系统能够以容错模式操作。通过执行状态机的同一复制品和使用Paxos算法选择建议,计算装置集合能够容许许多错误。本专利技术的实施例允许参与在分布式计算系统中的计算装置集合,能够通过从集合中增加或删除计算装置、或者通过指定参与的特殊计算装置来改进。通过用可操作的装置来代替有缺陷的装置,或者通过增加系统中的冗余数目,提高了在集合中改变的参与计算装置的容错。因此,在本专利技术的一个实施例中,计算装置的第一集合负责确定由在装置中复制状态机执行的步骤序列。第二装置集合可以定义、从第一集合中删除责任,并承担确定将要被状态机执行的步骤序列中步骤的责任。第一集合负责的步骤范围与第二集合负责的步骤范围互斥。在本专利技术的另一实施例中,响应确定由状态机执行的步骤序列的计算装置第一集合的头标学习已经选出计算装置的新集合以获得其集合。新集合承担确定起始于特殊步骤的步骤序列的责任,并且当在步骤中执行的步骤先于特殊步骤时,第一集合的头标产生将要确定的无效操作。在本专利技术的其它实施例中,运行独立状态机复制品的计算装置使运行模块或至少一个协议模块成为主机。每一装置的运行模块以连续顺序运行已复制状态机的步骤。每一装置有对应于每一复制装置的协议模块,在此模块中它为一成员。在同一状态机上的不同复制装置的协议模块均与在该状态机上的单独运行模块相通信,以给它提供从步骤序列中选出的操作。尽管这里的描述主要集中在分布式计算系统中计算装置的操作上,但是应认识到,这种描述与用于运行单独计算装置的程序是相同的,如在独立处理器上或在独立的存储空间中。于是,无论多处理器在物理上是位于一个或更多计算装置中,并且在多虚拟机环境中,无论多处理机正在由一个或更多计算装置运行,其它实施例包括多处理器环境中改进Paxos算法的操作。参考对应的附图,本专利技术的其它特征和优点可以从下面将要详细描述的说明性实施例中看出。附图的简要描述附具的权利要求详细地说明了本专利技术的特征,而本专利技术及其目的和优点可以结合附图从下面的详细描述中得到最好的理解附图说明图1是表示本专利技术一个实施例可执行的典型分布式计算系统的方框图;图2是表示本专利技术一个实施例可执行的典型计算装置的方框图;图3是表示本专利技术一个实施例的可执行已复制状态机典型装置的方框图;图4a是表示本专利技术一个实施例的可执行已复制状态机典型装置的方框图;图4b是表示本专利技术一个实施例的可执行已复制状态机典型装置的方框图;图5是表示根据本专利技术的一个实施例,已复制状态机操作槽的典型装置的方框图;图6是表示本专利技术一个实施例的可执行已复制本文档来自技高网...
【技术保护点】
一种在容错分布式计算系统中允许第二计算装置集合确定步骤序列中操作的方法,所述容错分布式计算系统包括第一计算装置集合,在第一集合中的计算装置确定将由状态机执行的作为步骤序列的操作,此方法包括:由第一集合中的一些计算装置指定所述第二计算 装置集合;指定一个步骤作为最后的步骤,此步骤是第一集合确定的将要由状态机执行的操作;并且由第二集合中的计算装置确定在指定步骤的后续步骤中,将要由状态机执行的操作。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:JR洛齐,JR豪威尔,JR道苏尔,
申请(专利权)人:微软公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。