一种安全快速的大规模并行计算输入输出实现方法与流程

文档序号:17476027发布日期:2019-04-20 06:07阅读:333来源:国知局
一种安全快速的大规模并行计算输入输出实现方法与流程

本发明涉及超大规模并行计算领域,尤其涉及一种安全快速的大规模并行计算输入输出实现方法。



背景技术:

目前,流体力学(computationalfluiddynamics,cfd)领域的超大规模并行计算具有进程数上万、迭代步数几万步、写断点文件时间长等特点,写断点文件方法存在安全性差,效率低的问题。描述各流域气体分子输运现象的气体分子运动论的基本方程—boltzmann方程,可用于描述航天飞行器到微不可见的同位素分离等许多领域,它是研究包括各种微尺度流动在内的气体动力学问题的一个主要根据。基于boltzmann模型方程的气体运动论数值计算方法,内存量大,计算时间长。分布函数是一个六维或七维的数组,所有的计算基于分布函数,各种宏观量如温度、压力、密度等的输出也依赖于分布函数,所以一旦分布函数数据被破坏将造成不可挽回的损失。boltzmann模型方程的数值计算方法目前采取的写断点文件方法为:创建一个目录,将所有进程对应的断点文件都写在这个目录下。但是该方法的缺点是:一、安全性差;二、受文件系统底层管理限制,目录列表非常慢;三、没有考虑计算结点网络状况,输入输出效率低。其中,断点文件是指:超大规模并行计算一般时间都较长,为了能进行长时间计算,计算过程中的一些数据需以文件形式保留保存,以防计算过程中出现故障;一旦作业停止,需重新读取这些文件中的数据,恢复计算。



技术实现要素:

本发明的目的在于通过一种安全快速的大规模并行计算输入输出实现方法,来解决以上背景技术部分提到的问题。

为达此目的,本发明采用以下技术方案:

一种安全快速的大规模并行计算输入输出实现方法,该方法包括:一、建立双备份安全目录机制;二、采用断点文件的分层目录结构管理。

特别地,所述建立双备份安全目录机制,具体包括:建立两个断点文件目录,迭代过程中两个断点文件目录交叉轮流写数据。

特别地,所述采用断点文件的分层目录结构管理,具体包括:以1024为单位将断点文件分类,总目录数为:num=(总进程数-1)/1024+1。

特别地,所述安全快速的大规模并行计算输入输出实现方法还包括:根据包括但不限于输出数据总量、代理服务节点的网络带宽能力、计算节点网络带宽能力选择输出因子。

本发明提出的安全快速的大规模并行计算输入输出实现方法解决了超大规模断点文件的安全性问题,解决了超大规模断点文件的高效输出输入问题,是一种安全可靠、效率高的写断点文件方法,解决cfd领域大规模安全可靠的并行计算问题。

附图说明

图1为本发明实施案例供的安全快速的大规模并行计算输入输出实现方法原理示意图;

图2为本发明实施案例供的restart0分层目录示意图。

具体实施方式

下面结合附图和实施案例对本发明作进一步说明。可以理解的是,此处所描述的具体实施案例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容,除非另有定义,本文所使用的所有技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述具体的实施案例,不是旨在于限制本发明。

请参照图1所示,图1为本发明实施案例供的安全快速的大规模并行计算输入输出实现方法原理示意图。

本实施案例中安全快速的大规模并行计算输入输出实现方法100具体包括:一、建立双备份安全目录机制101;二、采用断点文件的分层目录结构管理102。

具体的,在本实施案例中所述建立双备份安全目录机制101,具体包括:建立两个断点文件目录例如restart0、restart1,迭代过程中两个断点文件目录交叉轮流写数据,从而可以避免在写的过程中数据被破坏。

上万或数万个断点文件在一个目录下,对文件系统底层支持是一个巨大压力且管理困难,在本实施案例中采用断点文件的分层目录结构管理102,具体包括:以1024为单位将断点文件分类,总目录数为:num=(总进程数-1)/1024+1。例如:restart0分层目录如图2所示。

在本实施案例中所述安全快速的大规模并行计算输入输出实现方法还包括:根据底层网络带宽和计算节点主核数选择输出因子103。

程序如下实现:(fortran语言,myrank:进程号,ngrop:输出因子)

根据包括但不限于输出数据总量、代理服务节点的网络带宽能力、计算节点网络带宽能力等选择输出因子,具体包括:设mmaxgb/s表示代理服务节点的网络带宽能力,mpmb/s表示计算节点的网络带宽能力,同一个计算节点上的4个进程共用一个网络通路。设一个作业的进程数为procs,一次输出数据总量为outmax,则输出因子ngrop选择如下:

1.当每个进程输出量:outmax/procs≤mp

ngrop=2或4

2.当每个进程输出量:outmax/procs>mp,则ngrop需满足如下条件:

(outmax/procs)*(procs/ngrop)≤mmax

本发明是一种安全可靠、紧密结合机器特点的快速输入输出方法,解决气体运动论数值计算方法大规模、长时间的并行计算问题。本发明的技术方案解决了超大规模断点文件的安全性问题,解决了超大规模断点文件的高效输出输入问题,是一种安全可靠、效率高的写断点文件方法,解决cfd领域大规模安全可靠的并行计算问题。

本领域普通技术人员可以理解实现上述实施案例中的全部,部分是可以通过计算机程序来指定相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括上述各方法实施案例的流程。其中,所述的存储介质可为数据盘阵、光盘、只读存储记忆体或随机存储记忆体等。

注意,上述仅为本发明的较佳实施案例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施案例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施案例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施案例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施案例,而本发明的范围由所附的权利要求范围决定。



技术特征:

技术总结
本发明公开一种安全快速的大规模并行计算输入输出实现方法,该方法建立双备份安全目录机制;采用断点文件的分层目录结构管理;根据底层网络带宽和计算节点主核数选择输出因子。本发明解决了超大规模断点文件的安全性问题,解决了超大规模断点文件的高效输出输入问题,是一种安全可靠、效率高的写断点文件方法,解决CFD领域大规模安全可靠的并行计算问题。

技术研发人员:陈德训;郭恒;徐金秀;李芳;徐占;孙唯哲;范昊
受保护的技术使用者:无锡江南计算技术研究所
技术研发日:2018.12.24
技术公布日:2019.04.19
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1