一种面向胖树互连网络的并行作业调度方法、系统及存储介质技术方案

技术编号:22005457 阅读:39 留言:0更新日期:2019-08-31 06:54
本发明专利技术公开了一种面向胖树互连网络的并行作业调度方法,包括步骤获取待处理的并行作业序列包含Njob个并行作业,计算该并行作业序列中所有并行作业所需计算节点总数量Pjob;判断当前空闲计算节点总数量是否满足所需计算节点总数量Pjob;按顺序从

A Parallel Job Scheduling Method, System and Storage Medium for Fat Tree Interconnection Network

【技术实现步骤摘要】
一种面向胖树互连网络的并行作业调度方法、系统及存储介质
本专利技术属于超级计算机系统中并行作业调度领域,具体而言,涉及一种面向胖树互连网络的并行作业调度方法、系统及存储介质。
技术介绍
在超级计算机系统中,用户向系统提交并行作业,在作业运行完毕后,获取运行结果。超级计算机的计算能力使得其可以为多个用户的多个并行作业同时提供服务。在超级计算机系统中,一般由资源管理系统完成对并行作业的调度,资源管理系统的任务主要包括两个:1)一个是对用户提交的作业进行排队,确定作业的优先级,即作业在系统中运行的顺序;2)另外一个是计算资源的分配,确定由那些计算资源,即计算节点来运行这个作业。现代超级计算机系统由大量计算节点通过高速互连网络连接而成。同一个并行作业的不同进程在不同的计算节点上运行,进程之间的数据交换通过结点上的高速互连网络接口进行。为了降低通信延迟、提升整体通信带宽,高速互连网络采用不同的网络拓扑结构。比较常用的网络拓扑结构包括无线网格网络Mesh、torus拓扑结构、胖树互连网络等。胖树互连网络拓扑结构中,若干计算节点连接到一个路由芯片上,同时若干个路由芯片连接到上一层路由芯片。这样,多个层次的路由芯片构成一个完整的胖树互连网络。在整个胖树互连网络中,路由芯片的层数,称为网络树的高度,叶结点路由芯片连接的计算节点数,称为网络树的宽度。图1示出了一个包括64个计算节点的胖树互连网络的拓扑结构,其中网络树的高度为3,网络的宽度为4。在该图中,圆形实心点表示计算节点,结点编号从0到63。方框表示路由芯片,每个路由芯片具有一个编号,其中编号的第一位表示该路由器在网络中的层数,0表示胖树互连网络拓扑结构的根路由器,1表示中间路由器,2表示叶结点路由器。叶结点路由芯片连接4个计算节点,编号从200到233,共16个。每4个叶结点路由芯片连接到1个上层路由芯片,称为间接路由芯片,编号从100到103,共有4个。每4个间接路由芯片连接到1个根路由芯片,编号为000。在现有的并行计算模型中,都是假定不同计算节点之间的通信具有同质化特点,即不同路由器结点之间的通信延迟是相同的,通信带宽也是相同的。然而,在实际系统中,不同结点之间的通信特征是不同的。例如,在胖树互连网络中,连接到同一个路由芯片上的计算节点之间,具有相同的通信延迟。然而,当连接到不同的路由芯片上的计算节点进行通信时,由于通信数据经过了两个以上的路由芯片,通信延迟会显著增加。尤其是,如果参与通信的两个计算节点,在胖树互连网络中的距离越远,相互通信所需要跨过的路由芯片业就越多,所产生的通信延迟也就越大。如在图1中,结点1和2的通信,只经过了一个路由芯片,编号为200;结点1和结点63通信,要经过5个路由芯片,分别为200,100,000,103,203。通信延迟增加后,不同的进程等待数据到达所需要的时间变长,整个并行作业处理的效率会受到很大影响。同时,在缺省的分配模式下,如果要满足并行作业对运行效率的要求,资源管理系统会为每个并行作业分配一组连续分布的计算节点。如果要求连续分配,那么在系统运行过程中,很有可能出现连续分布的计算节点数量不能满足并行作业运行需求的情况,从而引发系统出现碎片,降低了系统的利用率。
技术实现思路
本专利技术要解决的问题是:针对现有技术的上述问题,提供一种面向胖树互连网络的并行作业调度方法、系统及存储介质,本方法能在并行作业处理效率和系统资源利用率之间获得更好的平衡性。本专利技术中方法的技术方案如下:一种面向胖树互连网络的并行作业调度方法,包括以下步骤:1)调度开始后,从待分配计算资源的并行作业队列中获取待处理的并行作业序列{Job0,...,JobNjob-1},并计算该并行作业序列中所有并行作业所需计算节点总数量Pjob,所述并行作业序列中共包含Njob个并行作业,所述Njob为预设自然数变量;2)判断当前空闲计算节点总数量Navail是否满足步骤1)所需计算节点总数量Pjob,满足则进入步骤3),不满足且上述Njob值为1,则等待下一次调度开始,否则降低此次调度中Njob的值,并返回步骤1);3)按顺序从Ni个空闲最小调度单位中选取Ni个空闲计算节点分配给上述待处理的并行作业序列中的并行作业Jobi,直到所述并行作业序列中的所有并行作业完成计算节点分配,所述Ni个空闲最小调度单位之间的两两跳步数之和最小,其中所述最小调度单位为连接到胖树互连网络中同一叶结点的Nunit个计算节点的集合,所述Nunit为预设自然数变量,所述Ni为并行作业Jobi所需计算节点数量,所述Ni为为并行作业Jobi分配计算资源时所用到的空闲最小调度单位的数量。所述步骤2)之后对所述并行作业序列中的Njob个并行作业根据每个并行作业所需要的计算节点数量从多到少进行排序。所述Njob缺省值为4。步骤2)的具体步骤包括:2.1)获取当前系统中空闲的最小调度单位数量Navail,计算当前系统中空闲的计算节点数量Nnode=Nunit×Navail;2.2)如果步骤1)中所述Pjob≤Nnode,进入步骤3),否则进入步骤2.3);2.3)如果Njob=1则此次并行作业调度完成,等待下一次调度开始,否则令Njob=Njob-1,返回步骤1)。所述的最小调度单位包含的计算节点个数Nunit为:(1)如果系统节点总数小于等于4096:如果胖树互连网络叶结点所连接的计算节点数量Nleaf小于等于4,则Nunit=Nleaf;否则(2)如果系统节点总数大于4096:如果胖树互连网络叶结点所连接的计算节点数量Nleaf小于等于8,则Nunit=Nleaf;否则所述步骤3)中为所述Jobi分配计算节点的具体步骤包括:3.2.1)获取该并行作业需要的计算节点数为Ni;3.2.2)计算本并行作业需要的空闲最小调度单位个数3.2.3)如果上述数值大于1,循环遍历所有的空闲最小调度单位并选择其中个作为最小调度单位组合,获取所有最小调度单位组合中每个最小调度单位之间的两两跳步数之和,从所有最小调度单位组合中选择一组两两最小跳步数之和最小的最小调度单元组合分配给Jobi,将其中所有被完全占用的最小调度单位标记为已分配,将没有被完全占用的最小调度单位标记为忙;否则,当等于1时,当并行作业需要的计算节点数为Ni=Nunit,则选择一个空闲的最小调度单位分配给Jobi,将该最小调度单位标记为已分配,否则,遍历所有标记为忙的最小调度单位,如果该最小调度单位中剩余的空闲计算节点恰好可以满足该并行作业的需求,则将该最小调度单位中的空闲计算节点分配给Jobi,并将该单元标记为已分配,如果没有恰好可以满足作业计算节点需求的最小调度单位,则从剩余的空闲最小调度单位中为该并作业分配计算节点。所述调度开始的触发条件为接收到新的并行作业时或者并行作业处理完成时。所述步骤1)前还包含下述步骤:根据Nunit值,将胖树互连网络重新划分,形成一个新的精简胖树互连网络Net′,Net′的叶结点上连接最小调度单位,即Nunit个计算节点的集合;建立跳步表记录精简胖树互连网络Net′的不同最小调度单位之间的跳步数。本专利技术还提供一种面向胖树互连网络的并行作业调度系统,包括计算机设备,所述计算机设备被编程以执行前述面向胖树互连网络的并行作本文档来自技高网
...

【技术保护点】
1.一种面向胖树互连网络的并行作业调度方法,其特征在于:包括以下步骤1)调度开始后,从待分配计算资源的并行作业队列中获取待处理的并行作业序列{Job0,...,JobNjob‑1},并计算该并行作业序列中所有并行作业所需计算节点总数量Pjob,所述并行作业序列中共包含Njob个并行作业,所述Njob为预设自然数变量;2)判断当前空闲计算节点总数量Navail是否满足步骤1)所需计算节点总数量Pjob,满足则进入步骤3),不满足且上述Njob值为1,则等待下一次调度开始,否则降低此次调度中Njob的值,并返回步骤1);3)按顺序从

【技术特征摘要】
1.一种面向胖树互连网络的并行作业调度方法,其特征在于:包括以下步骤1)调度开始后,从待分配计算资源的并行作业队列中获取待处理的并行作业序列{Job0,...,JobNjob-1},并计算该并行作业序列中所有并行作业所需计算节点总数量Pjob,所述并行作业序列中共包含Njob个并行作业,所述Njob为预设自然数变量;2)判断当前空闲计算节点总数量Navail是否满足步骤1)所需计算节点总数量Pjob,满足则进入步骤3),不满足且上述Njob值为1,则等待下一次调度开始,否则降低此次调度中Njob的值,并返回步骤1);3)按顺序从个空闲最小调度单位中选取Ni个空闲计算节点分配给上述待处理的并行作业序列中的并行作业Jobi,直到所述并行作业序列中的所有并行作业完成计算节点分配,所述个空闲最小调度单位之间的两两跳步数之和最小,其中所述最小调度单位为连接到胖树互连网络中同一叶结点的Nunit个计算节点的集合,所述Nunit为预设自然数变量,所述Ni为并行作业Jobi所需计算节点数量,所述为为并行作业Jobi分配计算资源时所用到的空闲最小调度单位的数量。2.根据权利要求1所述的面向胖树互连网络的并行作业调度方法,其特征在于:所述步骤2)之后还包含对所述并行作业序列中的Njob个并行作业根据每个并行作业所需要的计算节点数量从多到少进行排序。3.根据权利要求1或2所述的面向胖树互连网络的并行作业调度方法,其特征在于:所述Njob缺省值为4。4.根据权利要求3中所述的面向胖树互连网络的并行作业调度方法,其特征在于:步骤2)的具体步骤包括:2.1)获取当前系统中空闲的最小调度单位数量Navail,计算当前系统中空闲的计算节点数量Nnode=Nunit×Navail;2.2)如果步骤1)中所述Pjob≤Nnode,进入步骤3),否则进入步骤2.3);2.3)如果Njob=1则此次并行作业调度完成,等待下一次调度开始,否则令Njob=Njob-1,返回步骤1)。5.根据权利要求1、2、4中任一项所述的面向胖树互连网络的并行作业调度方法,其特征在于:所述的最小调度单位包含的计算节点个数Nunit为:(1)如果系统节点总数小于等于4096:如果胖树互连网络叶结点所连接的计算节点数量Nleaf小于等于4,则Nunit=Nleaf;否则(2)如果系统节点总数大于4096:如果胖树...

【专利技术属性】
技术研发人员:董勇陈娟迟万庆王睿伯谢旻周恩强张伟张文喆李佳鑫
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1