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

文档序号:9929454阅读:363来源:国知局
基于在线学习的超级计算机结点故障主动容错方法
【技术领域】
[0001] 本发明主要涉及超级计算机系统的容错方法,尤其指如何利用在线机器学习技术 对超级计算机结点实施低开销的主动容错方法。
【背景技术】
[0002] 超级计算机系统通过将众多的计算部件结合起来并行执行同一计算任务,从而能 够大大减少大规模计算任务所需的执行时间。通常的超级计算机系统构成是一个或多个服 务结点用于登录管理,众多的计算结点用于完成计算任务,服务结点和计算结点间通过监 控管理网络互相通信,监控管理网用于超级计算机系统的维护与管理。服务结点上部署有 监控系统,能够监控每个计算结点的运行情况;并部署有资源管理系统,用于为计算任务分 配计算资源(如计算结点等)。计算结点间还通过高速互连网相连,高速互连网用于计算任 务的进程间通信。在超级计算机系统上运行的计算任务多为并行应用程序,运行过程中通 过产生若干进程分布在不同的计算结点上同时执行,这些进程间的通信多采用消息传递的 方式。超级计算机系统的故障通常为Fail-stop类型的故障,即在计算任务的执行过程中, 一旦有故障发生,系统将终止相关计算任务的所有进程,其并行应用程序非正常退出。如果 没有容错支持,一旦故障发生,前面的计算都前功尽弃,必须重新启动相关计算任务,从头 开始执行。
[0003] 应用需求的不断增长推动着超级计算机软硬件系统的不断发展,随着超级计算机 系统规模日益庞大,众多的组成部件、低电压的工作模式、复杂的软硬件结构等,使得超级 计算机系统的平均无故障时间(Mean Time Between Failure,MTBF)越来越短,可靠性问题 日益突出。如果没有容错技术的支持,运行时间长、并行规模大的计算任务无法顺利完成。 容错成为提高超级计算机系统可用性,保证计算任务顺利完成的重要方法。到目前为止,超 级计算机系统采用的容错方法一直是被动容错,即在故障发生后对故障进行处理,使得计 算任务能够从某个点恢复并继续运行。
[0004] 系统级检查点恢复(Checkpoint/Restart)是目前超级计算机系统采用的主流容 错方法,它是一种被动容错方法,其主要思想是通过周期性的检查点操作,为计算任务的每 个进程保存全局一致的执行映像,并将映像保存到稳定介质上(如共享存储系统)。一旦发 生故障,则通过检查点恢复操作从最近一次检查点映像文件恢复该计算任务的运行,将计 算损失减小到最近一次完成检查点操作的时间点到故障发生时间点这段时间间隔内所作 的计算,避免了从头开始执行计算任务。检查点恢复方法主要包括如下关键步骤:
[0005] (1)设置检查点周期:为计算任务设置相邻两次检查点操作之间的时间间隔。检查 点周期的具体值与计算任务的并行规模和超级计算机系统的平均无故障时间密切相关。在 计算任务的执行过程中,通常由MPI(Message Passing Interface,消息传递接口)系统负 责计算任务的各个进程之间的消息传递。为了保证长时间运行的计算任务能够顺利执行完 毕,需要在MPI系统中为计算任务设定检查点周期(即执行检查点操作的时间间隔),并使得 在平均无故障时间间隔内能够执行多次检查点操作;
[0006] (2)生成全局检查点映像文件:一旦到达一个检查点周期,MPI系统则启动全局检 查点操作,通知计算任务中的每个进程需要执行检查点操作,生成全局检查点映像文件,并 将其保存到指定的位置。全局检查点操作的目标是保证每个进程生成的局部检查点映像文 件满足全局一致性;
[0007] (3)每个进程生成局部检查点映像文件:计算任务中的每个进程在本地执行单进 程检查点操作,生成本地进程的检查点映像,并将检查点映像文件保存到指定的位置;
[0008] (4)检查点恢复操作:一旦故障发生,MPI系统从指定位置获取计算任务的全局检 查点和所有进程的局部检查点映像文件,将计算任务的所有进程从该检查点处恢复执行。
[0009] 系统级检查点恢复方法是超级计算机系统采用的主要容错方法,但是这种方法的 容错开销很大,主要表现在如下几个方面:
[0010] (1)存储开销大:采用系统级检查点,每个进程均要产生本进程的检查点映像文 件,检查点映像文件的内容包括:该进程的进程代码段、数据段、用户栈、上下文切换相关信 息、活动文件信息、与信号有关的信息等,每个进程产生的检查点映像文件规模较大,一般 达到几十MB至数百MB。为了保证容错恢复时能够获取到每个进程的检查点映像文件,这些 映像文件通常保存到全局共享存储系统中。因此每次检查点操作,计算任务的所有进程将 同时访问全局共享存储系统,导致系统的存储开销很大。
[0011] (2)通信开销大:为了将检查点映像文件保存到全局共享存储系统中,各进程需要 通过网络将检查点映像文件传输到全局共享存储系统,因此执行检查点操作会带来很大的 通信开销;
[0012] (3)故障恢复时间长:一旦故障发生,资源管理系统需要为相关计算任务重新分配 计算资源,加载作业,并利用检查点恢复操作恢复计算任务的运行,此时每个进程需要从全 局共享存储系统获取检查点映像文件,存在大规模的全局共享存储系统的读操作和大规模 数据的网络传输,存储和通信开销很大,导致故障恢复的时间长。
[0013] 因此,由于系统级检查点方法在执行检查点操作和故障恢复操作时存在大规模的 文件集中传输和读写操作,存储和通信开销大,使得这种被动容错方法的开销很大。在超级 计算机系统规模不是很大时,系统的平均无故障时间MTBF较长,执行检查点操作的时间间 隔可设置得较长,而且单进程检查点映像文件的数目不是很多,使得容错开销占超级计算 机系统整体运行时间的比例较小,系统级检查点不会严重影响到超级计算机系统的可用 性。随着并行应用规模的不断增大,超级计算机系统的规模日益增加,目前国际上已经出现 多套计算能力达每秒千万亿次浮点操作(Peta-Flops)的超级计算机系统,计算能力达百万 万亿次浮点操作(Exa-Flops)的超级计算机系统也正在研制过程中。超级计算机系统规模 的扩大使得系统的平均无故障时间大大缩短,执行检查点操作的时间间隔也相应大大缩 小。在当前的千万亿次系统中,执行一次系统级检查点开销需十几分钟。专家预计未来百万 万亿次计算机系统的平均无故障时间仅为几十分钟,为了保证大规模计算任务的持续运 行,采用系统级检查点方法由于容错开销太大,已经难以满足未来超级计算机系统可用性 的需求。
[0014] 所以,现有的系统级检查点方法由于存储和通信的数据量大,导致容错开销很大, 已经严重影响到目前千万亿次超级计算机系统的可用性,在未来的百万万亿次系统中更是 难以应用。为了保证未来的超级计算机系统可用易用,容错成为目前超级计算机系统研制 过程中亟待解决的问题。

【发明内容】

[0015] 本发明要解决的技术问题是针对系统级检查点方法存在容错开销大的缺陷,提出 基于在线学习的超级计算机结点故障主动容错方法。与传统的被动容错方法不同,主动容 错是根据系统状态预测故障的发生,并在故障发生之前对可能的故障采取进程迀移等低开 销的容错方式,从而减低整个系统的容错开销。本发明采用集中式在线故障行为学习和分 布式故障预测与进程迀移相结合的主动容错方式,即服务结点对新收集到的计算结点的状 态样本进行集中式的在线学习,将学习后获得的故障预测器(在线学习得到的学习结果)发 送给每个计算结点;每个计算结点获取自身的状态信息,利用故障预测器对本结点状态信 息进行故障预测,根据预测结果确定是否进行容错处理。由于大多数超级计算机系统的计 算结点并没有本地盘,因此本方法考虑每个计算结点除了保存自身的状态信息外,还在计 算结点间采用互相备份的方式保存备份结点的状态信息,当某一结点发生故障,其备份结 点负责将故障结点的历史状态信息反馈给服务结点,以便对故障预测器进行增量式的在线 更新。
[0016] 本发明的具体技术方案如下:
[0017] 第一步:构建超级计算机系统:构建具有一个服务结点和m个计算结点的超级计算 机系统,计算结点的编号分别为C1, C2,…,cm,服务结点和m个计算结点间通过监控管理网络 互连。在服务结点上部署监控系统与资源管理系统,监控系统负责监控各计算结点的运行 情
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1