一种高性能计算集群动态节点作业方法与流程

文档序号:11589845阅读:1774来源:国知局
一种高性能计算集群动态节点作业方法与流程

本发明涉及高性能计算技术领域,特别是涉及一种高性能计算集群动态节点作业方法。



背景技术:

高性能计算(highperformancecomputing,缩写hpc)指通常使用很多处理器(作为单个机器的一部分)或者某一集群中组织的几台计算机(作为单个计算资源操作)的计算系统和环境。高性能计算在航空航天、材料、数学、生物、物理、化学、气象、环境、金融、媒体、电磁等多个行业具有较为广泛和重要的作用。当前高性能计算75%以上的系统都是通过x86服务器以clustre架构进行构建,随着服务器节点的增多和对集群效率、实测计算峰值、能耗等各方面要求的提升,传统的高性能计算集群存在诸多瓶颈,需要广大科研人员和集群维护人员进行研究和探索。

通过基于infiniband网络的无盘部署、标准化的作业提交流程和步骤、自动控制和调整计算节点开机数量可以实现:

a、节能,基于无盘部署,计算节点不需要配置硬盘,降低了集群的功率开销和故障点,通过动态调整计算节点开关机数量,避免了大量计算节点开机空转的情况,提高了能源的使用率;

b、性能,基于infiniband网络的无盘部署,将系统镜像通过低延时的高速网络加载到各计算节点内存中,提升了计算节点开机速度,并且充分利用了ramdisk的iops性能优势,极大提升计算任务在计算节点单机内部的收敛速率。

c、标准化,由于高性能计算涉及行业较多、范围较广、海量的专业软件,导致了传统用户在使用高性能计算集群时需要去针对具体的计算软件进行了解学习后才能上机使用。通过对作业流程的重构和标准化,将海量的专业软件的作业提交流程通过中间件固定为同样的步骤和流程,极大简化了上机操作步骤,让传统用户能快速的入手并将集群充分使用起来。

d、节约,最大程度减少不必要的软硬件投入(如计算节点硬盘、计算节点操作系统),提升资金使用率;

e、低故障率,传统高性能计算集群在每个计算节点上需要安装1块硬盘用于存放操作系统。机械硬盘价格便宜,使用年限久,但性能较差;固态硬盘性能较好,但成本太高,寿命太短。并且当集群意外断电时极易导致操作系统损坏。通过无盘部署,有效避免了由硬盘导致的故障,极大降低集群故障率。

f、高效率,传统高性能计算集群需要对所有的节点安装操作系统和配置环境变量才能工作,本申请所描述方式无需该环节,极大减少了集群部署时间,提升了集群部署的效率。



技术实现要素:

本发明主要解决的技术问题是提供一种高性能计算集群动态节点作业方法,能够提高高性能计算集群部署效率,降低故障率,简化作业提交,提高能源和资金利用率,提升使用效率和性能。

为解决上述技术问题,本发明采用的一个技术方案是:提供一种高性能计算集群动态节点作业方法,其特征在于,包括如下步骤:

步骤1:配置服务器,包括管理网络n1、计算网络n2和用户网络n3,以及用户网络n3和管理网络n1之间的安全防护网络f1、登陆节点l1、管理节点m1、若干计算节点cn;所述登陆节点、管理节点、计算节点分别与管理网络和计算网络建立通信连接;所述登陆节点和管理节点通过计算网络挂载共享存储s1;

步骤2:在管理节点m1上安装并配置启动管理服务(flexboot)、动态主机配置协议服务(dhcp)、文件传输协议服务(tftp)、域名系统服务(dns)、共享服务、认证服务以及作业调度,配置完成后启动计算节点;

步骤3:用户网络n3中的用户,经过安全防护网络f1以安全外壳协议ssh登录到登陆节点l1上,通过ssh将需要计算的算例上传至登陆节点l1上的共享存储s1;

步骤4:用户在登陆节点l1上通过作业调度中间件,指定作业参数完成作业脚本的生成并启动提交给m1的作业调度进行资源分配和计算;

步骤5:管理节点m1收到登陆节点l1上用户提交的作业脚本后,首先将作业脚本中的函数调用请求交给管理节点中的maui.d进行资源配额检查,如果配额不足则报错提示,如果配额足够,则将作业脚本转交给m1上作业调度pbs_server进行调度;

步骤6:管理节点m1的作业调度pbs_server收到作业脚本后,根据作业脚本要求的节点数、每节点核心数为作业分配进行计算的节点c1到cn,如果节点数量不足,则将作业进行排队等待;如果节点数量足够,则根据作业脚本具体执行内容开始计算;

步骤7:当c1到cn完成计算后,释放物理内存、处理器等资源,并向m1的pbs_server反馈“所有核心均未占用,状态free”的信号;m1的pbs_server对该信号进行记录,并允许后续作业在该节点上进行分配和计算;

步骤8:用户可以通过安全文件传输协议sftp从l1上将s1中存储的计算结果等信息取回到n3中,在本地电脑上打开进行处理和分析。

优选地,管理网络n1为以太网络,主要负责计算节点开关机控制、作业调度数据传输、系统监控等功能,计算网络n1为infiniband网络,提高设备的扩展性、数据的传输速率及通信延迟,主要负责数据及存储的io、操作系统镜像分发、计算软件工作时各进程相互通信与数据同步等功能,用户网络n3是高性能计算机用户所在的网络,安全防护f1为防火墙、utm或路由器设备,提供用户网络到管理网络的端口映射、访问权限管理、异常流量监测、攻击防护等功能,登录节点l1、管理节点m1、若干计算节点cn统一为同一处理器架构(如x86架构、mips架构、arm架构、power架构、spark架构等),处理器具有完全相同的指令集,根据用户实际使用需求和高性能计算机总体计算性能要求,登录节点l1、管理节点m1、若干计算节点cn可以通过集群(cluster)方式进行横向扩展,共享存储s1一般为基于infiniband的nfs服务器其包含底层的硬盘柜或磁盘阵列,或基于infiniband的分布式存储系统,对外提供一个统一的文件系统空间,并且支持用户权限控制和容量配额。

优选地,系统第一次部署时将登陆节点l1的操作系统复制为镜像文件j1,并修改j1中包含的相关个性化参数配置文件为通用配置文件,其中包括修改网卡配置文件,去掉mac地址、uuid等唯一信息,修改为dhcp引导;将主机名修改为dhcp自动获取、将硬盘的挂载方式修改为设备名方式进行挂载、将系统环境变量存放目录修改为共享存储s1上特定目录等。

所述计算节点的启动采用无盘启动方式,具体步骤包括:

步骤1:将c1(或cn)开机,设置为默认pxe引导,pxe默认设备为主机通道适配器(hca),采用flexboot模式;flexboot初始化hca卡,检测端口协议及状态,以infiniband方式启动端口,并以广播的方式发送dhcp客户端(client)请求报文;

步骤2:管理节点m1的dhcp服务器从infiniband网络收到请求报文后,将c1的ip地址、tftp服务器、网络引导启动镜像目录发送给c1;c1接收到m1发出的报文后,根据收到的报文启动infiniband网络,并从m1的tftp服务器中下载启动镜像目录并加载到内存中,所请求的镜像目录内包含默认的启动镜像名称j1、默认启动镜像镜像时间等信息,通过c1上选择启动j1或者超过默认时间后自动选择启动j1,并向m1发送请求j1的报文;

步骤3:m1收到c1请求j1的报文后,将j1通过tftp服务器发送给c1;c1的flexboot接收完j1后,将j1放入内存进行加载;

步骤4:c1依次加载j1的内核、根文件系统、网络、配置文件等;c1在加载网络时广播dhcpclient的请求报文,m1的dhcpserver收到请求报文后再次将c1的ip地址发送给c1,c1收到ip地址报文后启动网络,并向m1请求主机名;m1的dnsserver收到c1请求主机名的报文后将c1的主机名发送给c1;c1网络启动完成后,首先加载挂载共享目录的配置文件,根据配置文件内容将s1通过infiniband方式进行挂载;c1挂载完共享目录后,启动计算节点作业调度(pbs_mom),并将作业调度状态反馈给管理节点m1的作业调度(pbs_server),启动完成。

进一步的,所述作业中间件中提前录入已知的调用函数,针对已知的计算软件进行作业提交流程的重构和标准化,用户在提交作业时通过调用函数输入作业类型、参与计算节点数量、每个计算节点参与计算核心数量、输入文件(如果有)共计4个参数即可完成作业提交,避免了编写作业脚本的工作,极大简化上级操作步骤;

进一步的,计算机开机节点自动控制包括如下步骤:

步骤1:系统启动完成正常运行时,m1每60秒启动后台监控进程一次并检测启动时间,若未达到启动时间,则暂停60秒并重复步骤1;

步骤2:后台监控进程正常启动后,检查pbs_server是否有排队作业,若无排队作业并且处于工作状态的计算节点小于等于1时,则直接退出;若无排队作业并处于工作状态的节点大于1个,则通过管理网络n1和ipmi接口关闭开机但位处于空闲状态的空闲节点数量-1个节点,只保留空闲节点中节点名排名最前的1个空闲计算节点处于开机状态以备用;

步骤3:若检查到有排队作业情况时,则分析处于排队作业的原因:若为用户超额,则直接退出系统;若用户未超额,则排队原因为资源不足,执行下一步骤;

步骤4:在步骤3之后,检查关机节点数量。若关机节点为0,则提示节点用尽并退出系统;若关机节点大于等于1,则根据处于等待状态各中作业各节点需求量的大小从小到大进行排序,设定n为等待状态作业最小作业节点需求数量,f为当前空闲状态节点数量,g为关机节点数量。比较当前需要开机节点数量(n-f)和g-1。若n-f≤g-1,表示关机节点数量比需求节点数量大,则在管理网络n1中通过ipmi接口开启n-f+1个节点,并重新进行步骤2;若n-f≥g-1,表示关机节点数量不足,则在管理网络n1中通过ipmi接口开启所有关机节点并提示节点数用尽,然后退出系统。

区别于现有技术的情况,本发明的有益效果是:

1、节能:基于无盘部署,计算节点不在需要硬盘,降低了集群的功率开销和故障点。通过动态调整计算节点开关机数量,避免了大量计算节点开机空转的情况,提高了能源的使用率。

2、性能:基于infiniband网络的无盘部署,将系统镜像加载到各计算节点内存中,提升了计算节点开机速度,并且充分利用了ramdisk的iops性能优势,极大提升计算任务在计算节点单机内部的收敛速率。

3、标准化:由于高性能计算涉及行业较多、范围较广、海量的专业软件,导致了传统用户在使用高性能计算集群时需要去针对具体的计算软件进行了解学习后才能上机使用。通过对作业流程的重构和标准化,将海量的专业软件的作业提交流程通过中间件固定为同样的步骤和流程,极大简化了上机操作步骤,让传统用户能快速的入手并将集群充分使用起来。

4、节约:最大程度减少不必要的硬件投入(如计算节点硬盘),提升资金使用率。

5、低故障率:传统高性能计算集群在每个计算节点上需要安装1块硬盘用于存放操作系统。机械硬盘价格便宜,使用年限久,但性能较差;固态硬盘性能较好,但成本太高,寿命太短。并且当集群意外断电时极易导致操作系统损坏。通过无盘部署,有效避免了由硬盘导致的故障,极大降低集群故障率。

6、高效率:传统高性能计算集群需要对所有的节点安装操作系统和配置环境变量才能工作,本申请所描述方式无需该环节,极大减少了集群部署时间,提升了集群部署的效率。

附图说明

图1是本发明实施例高性能计算集群系统拓扑图。

图2是本发明实施例动态节点控制流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1提供的一种高性能计算集群动态节点作业方法,其特征在于,包括如下步骤:

步骤1:配置服务器,包括管理网络n1、计算网络n2和用户网络n3,以及用户网络n3和管理网络n1之间的安全防护网络f1、登陆节点l1、管理节点m1、若干计算节点cn;所述登陆节点、管理节点、计算节点分别与管理网络和计算网络建立通信连接;所述登陆节点和管理节点通过计算网络挂载共享存储s1;

步骤2:在管理节点m1上安装并配置启动管理服务(flexboot)、动态主机配置协议服务(dhcp)、文件传输协议服务(tftp)、域名系统服务(dns)、共享服务、认证服务以及作业调度,配置完成后启动计算节点;

步骤3:用户网络n3中的用户,经过安全防护网络f1以安全外壳协议ssh登录到登陆节点l1上,通过ssh将需要计算的算例上传至登陆节点l1上的共享存储s1;

步骤4:用户在登陆节点l1上通过作业调度中间件,指定作业参数完成作业脚本的生成并启动提交给m1的作业调度进行资源分配和计算;

步骤5:管理节点m1收到登陆节点l1上用户提交的作业脚本后,首先将作业脚本中的函数调用请求交给管理节点中的maui.d进行资源配额检查,如果配额不足则报错提示,如果配额足够,则将作业脚本转交给m1上作业调度pbs_server进行调度;

步骤6:管理节点m1的作业调度pbs_server收到作业脚本后,根据作业脚本要求的节点数、每节点核心数为作业分配进行计算的节点c1到cn,如果节点数量不足,则将作业进行排队等待;如果节点数量足够,则根据作业脚本具体执行内容开始计算;

步骤7:当c1到cn完成计算后,释放物理内存、处理器等资源,并向m1的pbs_server反馈“所有核心均未占用,状态free”的信号;m1的pbs_server对该信号进行记录,并允许后续作业在该节点上进行分配和计算;

步骤8:用户可以通过安全文件传输协议sftp从l1上将s1中存储的计算结果等信息取回到n3中,在本地电脑上打开进行处理和分析。

优选地,管理网络n1为千兆以太网络,主要负责计算节点开关机控制、作业调度数据传输、系统监控等功能,计算网络n1为infiniband网络,提高设备的扩展性、数据的传输速率及通信延迟,主要负责数据及存储的io、操作系统镜像分发、计算软件工作时各进程相互通信与数据同步等功能,用户网络n3是高性能计算机用户所在的网络,安全防护f1为防火墙、utm或路由器设备,提供用户网络到管理网络的端口映射、访问权限管理、异常流量监测、攻击防护等功能,登录节点l1、管理节点m1、若干计算节点cn统一为同一处理器架构(如x86架构、mips架构、arm架构、power架构、spark架构等),处理器具有完全相同的指令集,根据用户实际使用需求和高性能计算机总体计算性能要求,登录节点l1、管理节点m1、若干计算节点cn可以通过集群(cluster)方式进行横向扩展,共享存储s1一般为基于infiniband的nfs服务器其包含底层的硬盘柜或磁盘阵列,或基于infiniband的分布式存储系统,对外提供一个统一的文件系统空间,并且支持用户权限控制和容量配额。

其中、系统第一次部署时将登陆节点l1的操作系统复制为镜像文件j1,并修改j1中包含的相关个性化参数配置文件为通用配置文件,其中包括修改网卡配置文件,去掉mac地址、uuid等唯一信息,修改为dhcp引导;将主机名修改为dhcp自动获取、将硬盘的挂载方式修改为设备名方式进行挂载、将系统环境变量存放目录修改为共享存储s1上特定目录等。

具体的,所述计算节点的启动采用无盘启动方式,具体步骤包括:

步骤1:将c1(或cn)开机,设置为默认pxe引导,pxe默认设备为主机通道适配器(hca),采用flexboot模式;flexboot初始化hca卡,检测端口协议及状态,以infiniband方式启动端口,并以广播的方式发送dhcp客户端(client)请求报文;

步骤2:管理节点m1的dhcp服务器从infiniband网络收到请求报文后,将c1的ip地址、tftp服务器、网络引导启动镜像目录发送给c1;c1接收到m1发出的报文后,根据收到的报文启动infiniband网络,并从m1的tftp服务器中下载启动镜像目录并加载到内存中,所请求的镜像目录内包含默认的启动镜像名称j1、默认启动镜像镜像时间等信息,通过c1上选择启动j1或者超过默认时间后自动选择启动j1,并向m1发送请求j1的报文;

步骤3:m1收到c1请求j1的报文后,将j1通过tftp服务器发送给c1;c1的flexboot接收完j1后,将j1放入内存进行加载;

步骤4:c1依次加载j1的内核、根文件系统、网络、配置文件等;c1在加载网络时广播dhcpclient的请求报文,m1的dhcpserver收到请求报文后再次将c1的ip地址发送给c1,c1收到ip地址报文后启动网络,并向m1请求主机名;m1的dnsserver收到c1请求主机名的报文后将c1的主机名发送给c1;c1网络启动完成后,首先加载挂载共享目录的配置文件,根据配置文件内容将s1通过infiniband方式进行挂载;c1挂载完共享目录后,启动计算节点作业调度(pbs_mom),并将作业调度状态反馈给管理节点m1的作业调度(pbs_server),启动完成。

进一步的,所述作业中间件中提前录入已知的调用函数,针对已知的计算软件进行作业提交流程的重构和标准化,用户在提交作业时通过调用函数输入作业类型、参与计算节点数量、每个计算节点参与计算核心数量、输入文件(如果有)共计4个参数即可完成作业提交,避免了编写作业脚本的工作,极大简化上级操作步骤;

如图2所示,计算机开机节点自动控制包括如下步骤:

步骤1:系统启动完成正常运行时,m1每60秒启动后台监控进程一次并检测启动时间,若未达到启动时间,则暂停60秒并重复步骤1;

步骤2:后台监控进程正常启动后,检查pbs_server是否有排队作业,若无排队作业并且处于工作状态的计算节点小于等于1时,则直接退出;若无排队作业并处于工作状态的节点大于1个,则通过管理网络n1和ipmi接口关闭开机但处于空闲状态的空闲节点数量-1个节点,只保留空闲节点中节点名排名最前的1个空闲计算节点处于开机状态以备用;

步骤3:若检查到有排队作业情况时,则分析处于排队作业的原因:若为用户超额,则直接退出系统;若用户未超额,则排队原因为资源不足,执行下一步骤;

步骤4:在步骤3之后,检查关机节点数量。若关机节点为0,则提示节点用尽并退出系统;若关机节点大于等于1,则根据处于等待状态各中作业各节点需求量的大小从小到大进行排序,设定n为等待状态作业最小作业节点需求数量,f为当前空闲状态节点数量,g为关机节点数量。比较当前需要开机节点数量(n-f)和g-1。若n-f≤g-1,表示关机节点数量比需求节点数量大,则在管理网络n1中通过ipmi接口开启n-f+1个节点,并重新进行步骤2;若n-f≥g-1,表示关机节点数量不足,则在管理网络n1中通过ipmi接口开启所有关机节点并提示节点数用尽,然后退出系统。

通过上述方式,本发明实施例的高性能计算集群动态节点作业方法,提高高性能计算集群部署效率,降低故障率,简化作业提交,提高能源和资金利用率,提升使用效率和性能。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1