计算不确定性情况下的恢复和容错制造技术

技术编号:16112612 阅读:27 留言:0更新日期:2017-08-30 05:57
一种用于提升包括至少一个处理节点的计算系统中容错和恢复的方法,包括:通过在第一处理节点处提升第一处理节点的可用性和恢复,使用被分配第一代指示符的派生器产生第一派生进程,使得其派生进程继承第一代指示符,开始检查点间隔以产生节点恢复信息,使得派生器暂停产生派生进程,向派生器分配与第一代指示符不同的第二代指示符,恢复执行派生器,使得其产生继承第二代指示符的第二派生进程,控制第二派生进程写入存储器的程度;以及在将检查点期间获得的节点恢复信息提交给持久性存储装置之后,释放对第二派生进程可写入存储器的程度的控制。

【技术实现步骤摘要】
【国外来华专利技术】计算不确定性情况下的恢复和容错相关申请的交叉引用本申请要求序列号为第62/065,941号美国申请的2014年10月20日优先权日期的权益,该申请的内容通过引用合并于此。
技术介绍
本说明书涉及在存在计算不确定性情况下的恢复和容错。由于各种原因,计算系统有时会故障。当这样的系统故障时,数据可能会丢失。最好采取措施来防止或至少最小化这种数据丢失。这些措施的示例包括数据库中的ACID(原子性、一致性、直到提交的隔离性、提交时的持久性)事务。这些已知的措施是非常有鲁棒性的。它们可以满足非常高的正确性标准,同时也是容错的。然而,所有的这种鲁棒性都是有代价的。用于防止故障的已知方法具有高延迟时间,并且有时会导致很长时间装置不可用。因此,对于大容量的事务来说,这些方法不太适合。另外,一些已知方法需要确定性计算。在确定性计算中,执行任务的顺序是固定的,并且计算的结果在每次执行时保持不变。不清楚这些已知方法如何适应于有效处理非确定性计算环境。当计算装置包括彼此协作的多个处理节点时,产生额外的复杂性。在这种装置中,装置的一个节点可能故障,而其它节点可以继续工作。当故障的节点恢复时,这不能保证该故障节点本身已经恢复到其它节点期望其所处状态的状态。
技术实现思路
在一个方案中,本专利技术特征在于一种用于提升包括至少一个处理节点的计算系统中容错和恢复的方法。这种方法包括:提升第一处理节点的可用性和恢复,其中提升可用性和恢复包括,在第一处理节点处,在所述节点处执行派生器,其中所述派生器在执行过程中产生第一派生进程,其中执行所述派生器包括向所述派生器分配第一代指示符(generationindicator),其中所述第一派生进程继承所述第一代指示符;开始检查点间隔,在该检查点间隔结束时,可用于恢复所述节点的节点恢复信息被提交到持久性存储装置,其中开始所述检查点间隔包括使得所述派生器暂停产生派生进程,向所述派生器分配与所述第一代指示符不同的第二代指示符,继续执行所述派生器,从而使得所述派生器产生第二派生进程,其中所述第二派生进程继承所述第二代指示符,以及控制所述第二派生进程写入存储器的程度;以及在提交所述节点恢复信息之后,释放对所述第二派生进程可写入存储器的所述程度的控制。在一些实践中,控制所述第二派生进程写入存储器的程度包括阻止所述第二派生进程完成对所述存储器的写入。在这些实践中,还包括在提交恢复信息之后,允许第二个派生进程将写入排队到存储器,用于其最终完成。在其它实践中,控制第二派生进程写入存储器的程度包括确定所述写入操作是可交换操作,并且允许完成所述可交换操作。在这些实践中,确定所述写入操作是可交换操作包括确定所述写入操作包括增加变量,并且确定所述写入操作是可交换操作包括确定所述写入操作包括在指定位置插入记录。在本专利技术的实践中,还包括在暂停所述派生器之后设置截止期限,从而为具有所述第一任务代指示符的任何派生进程提供时间来执行完成,并且避免与不得不保存具有所述第一代指示符的所述派生进程的状态相关联的开销。在这些实践中,还包括如果所述第一派生进程在所述截止期限之前仍然执行,则暂停所述第一派生进程,还包括使所述第一派生进程能够避免由于在所述截止期限之前未能完成执行而暂停,例如如果所述第一派生进程在所述截止期限前仍在执行,则在所述第一派生进程中将所述第一任务代指示符改变为所述第二任务代指示符。在第一节点具有节点代指示符,本专利技术的额外实践包括使得派生进程成为迁移到第二节点的迁移进程,其中所述第二节点具有节点代指示符。在这些实践中,所述第二节点的所述节点代计数指示所述第二节点处于比所述第一节点更年轻的一代中,在这种情况下,所述方法还包括使所述迁移进程年轻化,要么移入侧年轻化所述迁移进程,要么移出侧年轻化所述迁移进程。在一些情形下,所述第一节点是多节点系统中的节点,其中每个节点均具有节点代计数,并且所述多节点系统包括至少一个第二节点。这些情形下,本专利技术中具有一些实践,在所述第二节点的故障恢复之后,所述第一节点向后滚动到对应于所述第二节点的节点代计数的状态。在其它情形下,其中所述第一节点是多节点系统中的节点,其中每个节点均具有节点代计数,并且所述多节点系统包括至少一个第二节点。这些情形下,本专利技术中具有一些实践,在所述第一节点的故障恢复之后,所述第一节点通过从检查点恢复提交的工作并从日志恢复未提交的工作,向前滚动到与所述第二节点的节点代计数相对应的状态。在这些情形下,所述第一节点是多节点系统中的节点,其中每个节点均具有节点代计数,本专利技术的实践包括第一节点实施一些动作的实践。这些包括从主节点接收指示将要执行检查点的消息,作为响应,年轻化所述第一节点的节点代计数,使得派生器暂停产生派生进程,保存派生器恢复信息,以恢复派生器状态,继续执行所述派生器,确定在所述第一节点处不再期待有其它较老一代的移入,并且响应于所述确定,向所述持久性存储装置提交所述节点恢复信息。在这些实践中,还包括设定截止期限,并且在所述截止期限过去之后,暂停仍然在执行的所有较老一代的派生进程,同时较年轻一代的派生进程继续执行。在一些情形下,所述第一节点是多节点系统中的节点。在这种情形下,本专利技术的替代实践包括在所述第二节点处保存所述第一节点的工作存储器的副本,当所述第一节点故障时,暂时地使用所述副本用于本来将由所述第一节点执行的处理,并且在所述第一节点恢复时,向所述第一节点传送更新所述第一节点中的存储器所需的信息,以便可以由所述第一节点执行后续计算。在另一个方案中,本专利技术特征是一种以非暂态形式存储在计算机可读存储介质上的软件,当执行时,提升包括至少一个处理节点的计算系统中的容错和恢复。所述软件包括用于使计算系统执行下述步骤的指令:提升第一处理节点的可用性和恢复,其中提升可用性和恢复包括,在第一处理节点处,在所述节点处执行派生器,其中所述派生器在执行过程中产生第一派生进程,其中执行所述派生器包括向所述派生器分配第一代指示符,其中所述第一派生进程继承所述第一代指示符;开始检查点间隔,在该检查点间隔结束时,可用于恢复所述节点的节点恢复信息被提交到持久性存储装置,其中开始所述检查点间隔包括使得所述派生器暂停产生派生进程,向所述派生器分配与所述第一代指示符不同的第二代指示符,继续执行所述派生器,从而使得所述派生器产生第二派生进程,其中所述第二派生进程继承所述第二代指示符,以及控制所述第二派生进程写入存储器的程度;以及在提交所述节点恢复信息之后,释放对所述第二派生进程可写入存储器的所述程度的控制。在又一种方案中,本专利技术特征是一种数据存储系统,包括持久性存储装置;以及一个或多个处理节点,包括被配置为提升第一处理节点的容错和恢复,其中提升可用性和恢复包括,在第一处理节点处,在所述节点处执行派生器,其中所述派生器在执行过程中产生第一派生进程,其中执行所述派生器包括向所述派生器分配第一代指示符,其中所述第一派生进程继承所述第一代指示符;开始检查点间隔,在该检查点间隔结束时,可用于恢复所述节点的节点恢复信息被提交到持久性存储装置,其中开始所述检查点间隔包括使得所述派生器暂停产生派生进程,向所述派生器分配与所述第一代指示符不同的第二代指示符,继续执行所述派生器,从而使得所述派生器产生第二派生进程,其中所述第本文档来自技高网...
计算不确定性情况下的恢复和容错

【技术保护点】
一种用于提升包括至少一个处理节点的计算系统中容错和恢复的方法,所述方法包括:提升第一处理节点的可用性和恢复,其中提升可用性和恢复包括:在第一处理节点处,在所述节点处执行派生器,其中所述派生器在执行过程中产生第一派生进程,其中执行所述派生器包括向所述派生器分配第一代指示符,其中所述第一派生进程继承所述第一代指示符;开始检查点间隔,在所述检查点间隔结束时,将能够用于恢复所述节点的节点恢复信息提交到持久性存储装置,其中开始所述检查点间隔包括:使得所述派生器暂停产生派生进程,向所述派生器分配与所述第一代指示符不同的第二代指示符,继续执行所述派生器,从而使得所述派生器产生第二派生进程,其中所述第二派生进程继承所述第二代指示符,以及控制所述第二派生进程写入存储器的程度;以及在提交所述节点恢复信息之后,释放对所述第二派生进程能够写入存储器的所述程度的控制。

【技术特征摘要】
【国外来华专利技术】2014.10.20 US 62/065,9411.一种用于提升包括至少一个处理节点的计算系统中容错和恢复的方法,所述方法包括:提升第一处理节点的可用性和恢复,其中提升可用性和恢复包括:在第一处理节点处,在所述节点处执行派生器,其中所述派生器在执行过程中产生第一派生进程,其中执行所述派生器包括向所述派生器分配第一代指示符,其中所述第一派生进程继承所述第一代指示符;开始检查点间隔,在所述检查点间隔结束时,将能够用于恢复所述节点的节点恢复信息提交到持久性存储装置,其中开始所述检查点间隔包括:使得所述派生器暂停产生派生进程,向所述派生器分配与所述第一代指示符不同的第二代指示符,继续执行所述派生器,从而使得所述派生器产生第二派生进程,其中所述第二派生进程继承所述第二代指示符,以及控制所述第二派生进程写入存储器的程度;以及在提交所述节点恢复信息之后,释放对所述第二派生进程能够写入存储器的所述程度的控制。2.根据权利要求1所述的方法,其中控制所述第二派生进程写入存储器的程度包括:阻止所述第二派生进程完成对所述存储器的写入。3.根据权利要求2所述的方法,还包括:在提交所述恢复信息之后,允许所述第二派生进程将所述写入排队到所述存储器,用于最终完成所述写入。4.根据权利要求1所述的方法,其中控制所述第二派生进程写入存储器的程度包括:确定所述写入操作是可交换操作,并且允许完成所述可交换操作。5.根据权利要求4所述的方法,其中确定所述写入操作是可交换操作包括:确定所述写入操作包括增加一变量。6.根据权利要求4所述的方法,其中确定所述写入操作是可交换操作包括:确定所述写入操作包括在指定位置插入一记录。7.根据权利要求1所述的方法,还包括:在暂停所述派生器之后设置截止期限,从而为具有所述第一任务代指示符的任何派生进程提供时间来执行到完成,并且避免不得不保存具有所述第一代指示符的所述派生进程的状态所产生的开销。8.根据权利要求7所述的方法,还包括:如果所述第一派生进程在所述截止期限之前仍然执行,则暂停所述第一派生进程。9.根据权利要求7所述的方法,还包括:使得所述第一派生进程能够避免由于在所述截止期限之前未能完成执行而暂停。10.根据权利要求9所述的方法,其中使得所述第一派生进程能够避免由于在所述截止期限之前未能完成执行而暂停包括:如果所述第一派生进程在所述截止期限前仍在执行,则将所述第一派生进程中的所述第一任务代指示符改变为所述第二任务代指示符。11.根据权利要求1所述的方法,其中所述第一节点具有节点代指示符,所述方法还包括使得派生进程成为迁移到第二节点的迁移进程,其中所述第二节点具有节点代指示符。12.根据权利要求11所述的方法,其中所述第二节点的所述节点代计数指示所述第二节点处于比所述第一节点更年轻的一代中,其中所述方法还包括使得所述迁移进程年轻化。13.根据权利要求12所述的方法,其中,使得所述迁移进程年轻化包括:所述迁移进程的移入侧年轻化。14.根据权利要求12所述的方法,其中,使得所述迁移进程年轻化包括:所述迁移进程的移出侧年轻化。15.根据权利要求1所述的方法,其中所述第一节点是多节点系统中的节点,其中每个节点均具有节点代计数,其中所述多节点系统包括至少一个第二节点,其中,在所述第二节点的故障恢复之后,所述第一节点向后滚动到对应于所述第二节点的节点代计数的...

【专利技术属性】
技术研发人员:C·W·斯坦菲尔
申请(专利权)人:起元科技有限公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1