发明名称 保存程序执行状态
摘要 描述了一种用于管理分布式程序执行的技术。在至少一些情形中,所述技术包括将程序的执行分解或分割成每个可以在不同计算节点上执行的多个不同执行作业,比如以并行的方式使得每个执行作业采用用于该程序的输入数据的不同子集。另外,所述技术还包括临时终止并在后来恢复至少一些执行作业的执行,比如通过持久地存储执行作业的部分执行的中间状态,并且在后来取回和使用所存储的中间状态来从中间状态恢复该执行作业的执行。另外,所述技术可以与分布式程序执行服务协作地使用,所述分布式程序执行服务以多个消费者或该服务的其它用户的名义来执行多个程序。
申请公布号 CN102246152A 申请公布日期 2011.11.16
申请号 CN200980149598.8 申请日期 2009.12.07
申请人 亚马逊技术有限公司 发明人 彼德·斯洛塔;伊恩·P·诺兰德;里查德·J·科尔;里查德拉·卡那;刘易斯·菲里皮·卡博雷拉
分类号 G06F15/16(2006.01)I 主分类号 G06F15/16(2006.01)I
代理机构 中科专利商标代理有限责任公司 11021 代理人 王玮
主权项 一种用于管理程序的分布式执行的计算机实现的方法,所述方法包括:在提供对用于用户的程序的分布式执行进行管理的分布式程序执行服务的一个或多个计算系统的控制下,所述分布式程序执行服务提供可配置来执行所述用于用户的程序的大量计算节点,在指示的程序的多个执行作业的执行在所述大量计算节点中的多个上被启动之后,以第一用户的名义来执行所述指示的程序的执行,并且以如下方式来使用指示的输入数据:所述多个执行作业均具有要使用所述指示的输入数据的至少一些来执行的一个或多个操作,自动跟踪与在所述多个计算节点上的多个执行作业的执行的状态有关的信息,所述跟踪包括识别中间结果,所述中间结果从完成工作的多个执行作业的操作的子集而产生,并且被存储在所述多个计算节点上;在确定终止所述多个执行作业的至少一个执行作业在第一时刻的执行之后,所述至少一个执行作业具有至少一个操作处在完成了工作的操作的子集中,并且具有至少一个其它操作不在所述子集中且其工作没有完成,通过使用跟踪的信息来自动识别所述至少一个操作,并且启动对所识别的从所述至少一个操作产生的中间结果进行的持久存储;在所述第一时刻之后的后来的第二时刻,在至少一个计算节点上启动所述至少一个执行作业的恢复执行,以便完成没有在所述工作完成的子集中的至少一个其它操作的工作,并且以便不重复在所述子集中的所述至少一个操作的已完成的工作,以至少部分地基于持久存储的中间结果的方式来执行所述恢复执行;以及在完成所述指示的程序的多个执行作业的执行之后,将来自该执行的最终结果提供给所述第一用户。
地址 美国内华达州