基于在线学习的超级计算机结点故障主动容错方法_3

文档序号:9929454阅读:来源:国知局
预测结点级故障。本发明主要用于预测结点级故障,即在计算结点发 生故障之前预测到故障即将发生。本发明利用增量式在线学习方法不仅能够提前定位结点 故障,而且为故障的处理赢得了宝贵的时间,使得容错的过程不必被动地等到故障发生以 后再做相应的处理,而是在故障发生之前主动实施容错。
[0064] (2)主动容错的开销小。由于提前定位了可能发生故障的计算结点,容错过程仅需 针对即将发生故障且上面有计算任务的结点展开,即仅对这些结点实施进程迀移(见第四 步)。相比传统的被动容错方法,本发明中需要实施进程迀移的结点数目少,容错过程的存 储量和通信量都很小,从而大大降低了容错开销。
[0065] (3)结合传统的被动容错方法,能够大幅度提升超级计算机系统的可用性。将本发 明中的主动容错方法与传统的被动容错方法相结合,由于大部分的故障能够通过主动容错 解决,只有无法预测到的故障需要利用被动容错的方法解决。这样可以加大系统级检查点 的时间间隔,大大减少实施被动容错的次数,使系统的整体容错开销大大降低,从而能够大 幅度提升超级计算机系统的可用性。
【附图说明】
[0066] 图1是传统的系统级检查点恢复方法的实施效果示意图;
[0067]图2是本发明总体流程图;
[0068]图3是本发明第一步构建的超级计算机系统示意图;
[0069]图4是本发明的第三步"集中式在线故障行为学习"的详细流程图;
[0070]图5是本发明的第四步"分布式故障预测与进程迀移"的详细流程图;
[0071 ]图6是本发明的实施效果示意图。
【具体实施方式】
[0072]图1是采用传统系统级检查点恢复方法(杜云飞容错并行算法的研究与分析,国防 科学技术大学,博士论文,2008,7-12页,30-32页)各计算结点执行效果示意图,T。是执行一 次系统级检查点所需的时间,T r。是一次故障的恢复时间。图中无阴影的部分为系统执行计 算任务的时间。假设叉形位置为故障发生的时间点,三角形位置为故障恢复后程序继续执 行的位置。以千万亿次超级计算机系统"天河一号"为例,系统的平均无故障时间MTBF为数 小时,而执行一次系统级检查点所需的时间T。已经达到十几分钟,执行故障恢复所需的时 间T rc比Tc稍长。由于在平均无故障时间间隔内需要执行数次检查点操作,因此在MTBF时间 段内,执行被动容错(包括执行系统级检查点和故障后的检查点恢复操作)需占用一个多小 时,这导致超级计算机系统有很大一部分时间在执行被动容错的工作,使得实际可用性能 大幅度降低。专家预计未来百万万亿次计算机系统的平均无故障时间仅为几十分钟,被动 容错将无法满足未来百万万亿次超级计算机系统可用性的需求。
[0073]图2是本发明的总体流程图。具体实施如下:
[0074]第一步、构建超级计算机系统;
[0075]第二步、系统启动,参数初始化;
[0076]第三步、集中式在线故障行为学习;
[0077]第四步、分布式故障预测与进程迀移;
[0078]第五步、睡眠等待主动容错时间间隔A,然后转第三步,开始新一轮的主动容错过 程。
[0079]图3是本发明第一步构建的超级计算机系统示意图,超级计算机系统由一个服务 结点和m个计算结点构成,计算结点间通过高速互连网相连,高速互连网用于计算任务的进 程间通信;服务结点与各计算结点通过监控管理网相连,监控管理网用于超级计算机系统 的监控与管理。服务结点上部署有监控系统和资源管理系统,监控系统负责监控各计算结 点的运行状况,判定计算结点是正常运行还是已经故障,资源管理系统负责为计算任务分 配可用的计算结点。
[0080]图4是本发明的第三步"集中式在线故障行为学习"的详细流程图。其中第3.1步是 服务结点的工作,先从监控系统获得各计算结点的运行情况,对于新的故障结点,从它们的 备份结点得到它们的历史状态记录,形成增量样本集,并对这些增量样本进行在线学习,获 得新的故障预测器。具体实施如下:
[0081 ] 3.1.1检测故障结点集合FS,将已恢复正常的结点转入正常结点集NS中;
[0082] 3.1.2检测正常结点集合NS,将新的已故障结点转入故障结点集FS中;如果没有新 的故障结点,则转第四步;否则,执行第3.1.3步;
[0083] 3.1.3为新的已故障结点分配备用结点,并将它们发送给计算结点;
[0084] 3.1.4接收故障结点的历史状态数据,生成新的增量样本集;
[0085] 3.1.5对新的增量样本集进行集中式在线式学习,获得新的故障预测器;
[0086] 3.1.6将新的故障预测器发送给各个计算结点。
[0087] 第三步中的第3.2步是计算结点的工作,负责从服务结点接收新的故障结点信息, 将这些故障结点的历史状态数据发送给服务结点,并对计算结点间的状态备份关系进行更 新;然后从服务结点接收新的故障预测器。具体实施如下:
[0088] 3.2.1接收服务结点发来的故障结点及其备用结点信息;
[0089] 3.2.2如果本地结点是某个故障结点的备份结点,则向服务结点发送该故障结点 的历史状态数据;
[0090] 3.2.3如果某个故障结点是本地结点的备份结点,则该故障结点的备用结点成为 本地结点的备份结点,将本地结点的历史状态数据备份到新的备份结点上;
[0091 ] 3.2.4从服务结点获得新的故障预测器。
[0092]图5是本发明的第四步"分布式故障预测与进程迀移"的详细流程图。其中第4.1步 是计算结点的工作,负责获得自身的状态信息,并利用故障预测器对状态进行故障预测,如 果预测结果表明本结点即将故障,则实施进程迀移。具体实施如下:
[0093] 4 ? 1 ? 1获取本地结点的状态记录(S,t);
[0094] 4.1.2本地结点的状态记录保存;
[0095] 4.1.3本地结点的状态数据备份;
[0096] 4.1.4利用故障预测器对结点状态S进行故障预测,如果预测结果表明结点正常, 则转第五步;否则执行第4.1.5步;
[0097] 4.1.5查看本地结点上是否有计算任务,如果无计算任务,则转第五步;否则执行 第4.1.6步;
[0098] 4.1.6向服务结点发送申请迀移结点的请求;
[0099] 4.1.7从服务结点接收迀移结点号Cr;
[0100] 4.1.8将在本地结点上运行的计算任务的应用进程迀移至Cr上运行。
[0101] 第四步中的第4.2步是服务结点的工作,负责接收即将故障的计算结点发送的申 请迀移结点的请求,然后分配迀移结点并将其发送给提出申请的计算结点。具体实施如下:
[0102] 4.2.1检测申请迀移结点的请求队列RQ,如果请求队列为空,则转第五步;如果请 求队列不为空,则转第4.2.2步;
[0103] 4.2.2取出最先进入队列RQ中的请求,分配迀移结点Cr,并将其发送至发送该请求 的计算结点,然后转第4.2.1步。
[0104] 图6是本发明中各计算结点执行情况示意图。TP是执行一次故障预测所需的时间, 1^是某个计算结点预测到故障并实施一次进程迀移对整个应用的影响时间。图中无阴影部 分为计算结点执行计算任务的时间。根据在天河一号系统上的测试结果,执行一次故障预 测所需的时间T P为十毫秒级,执行一次进程迀移所需的时间Trp为秒级。因此对于平均无故 障时间间隔MTBF为数小时的超级计算机,在MTBF时间段内,按主动容错时间间隔为缺省值1 分钟计算,计算结点花在主动容错上的时间(包括MTBF时间段内执行故障估测的时间和进 程迀移的时间)仅为秒级。由此可见,对大部分可预测的故障实施低开销的主动容错,小部 分不可预测的故障才使用被动容错,可以显著降低容错的整体开销。因此本发明能够显著 提高超级计算机系统的实际应用性能。
【主权项】
1. 一种基于在线学习的超级计算机结点故障主动容错方法,其特征在于包括以下步 骤: 第一步:构建超级计算机系统:构建具有一个服务结点和m个计算结点的超级计算机系 统,计算结点的编号
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1