CN110191155A - 一种面向胖树互连网络的并行作业调度方法、系统及存储介质 - Google Patents

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

Info

Publication number
CN110191155A
CN110191155A CN201910375840.9A CN201910375840A CN110191155A CN 110191155 A CN110191155 A CN 110191155A CN 201910375840 A CN201910375840 A CN 201910375840A CN 110191155 A CN110191155 A CN 110191155A
Authority
CN
China
Prior art keywords
job
concurrent
fat tree
node
minimum
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910375840.9A
Other languages
English (en)
Other versions
CN110191155B (zh
Inventor
董勇
陈娟
迟万庆
王睿伯
谢旻
周恩强
张伟
张文喆
李佳鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201910375840.9A priority Critical patent/CN110191155B/zh
Publication of CN110191155A publication Critical patent/CN110191155A/zh
Application granted granted Critical
Publication of CN110191155B publication Critical patent/CN110191155B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种面向胖树互连网络的并行作业调度方法,包括步骤获取待处理的并行作业序列包含Njob个并行作业,计算该并行作业序列中所有并行作业所需计算节点总数量Pjob;判断当前空闲计算节点总数量是否满足所需计算节点总数量Pjob;按顺序从个空闲最小调度单位中选取Ni个空闲计算节点分配给上述待处理的并行作业序列中的并行作业Jobi,直到所述并行作业序列中的所有并行作业完成计算节点分配,满足个空闲最小调度单位之间的两两跳步数之和最小。本发明还提供了一种面向胖树互连网络的并行作业调度系统和存储介质。本发明解决了并行作业调度产生的并行作业处理效率和系统资源利用率的均衡问题,获得了更好的平衡性。

Description

一种面向胖树互连网络的并行作业调度方法、系统及存储 介质
技术领域
本发明属于超级计算机系统中并行作业调度领域,具体而言,涉及一种面向胖树互连网络的并行作业调度方法、系统及存储介质。
背景技术
在超级计算机系统中,用户向系统提交并行作业,在作业运行完毕后,获取运行结果。超级计算机的计算能力使得其可以为多个用户的多个并行作业同时提供服务。在超级计算机系统中,一般由资源管理系统完成对并行作业的调度,资源管理系统的任务主要包括两个: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.将每个并行作业分配给两两跳步数之和最小的一组最小调度单位,通过减少跳步数,提高了并行作业内部通信效率,有利于并行作业的高效运行;
2.通过采用最小调度单位,充分利用了系统中所有的计算资源,减少系统运行时的碎片产生,提高了系统资源的利用效率。
3.按待处理的并行作业序列为单位分配计算资源,可将多个并行作业的计算资源需求精简为一个,有利于并行作业的高效运行。
附图说明
图1是一种胖树互连网络结构示意图。
图2是本发明实施例1中基于最小调度单位的胖树互连网络结构示意图。
图3是本发明实施例2和实施例3中的精简胖树互连网络Net′结构示意图。
图4是本发明实施例2和实施例3中的面向胖树互连网络的并行作业调度方法流程图。
具体实施方式
下面结合具体实施例及附图对本发明作进一步解释,但具体实施方式并不对本发明做任何限定。
一种面向胖树互连网络的并行作业调度方法,包括以下步骤:
1)调度开始后,从待分配计算资源的并行作业队列中获取待处理的并行作业序列{Job0,...,JobNjob-1},所述并行作业序列中共包含Njob个并行作业,所述Njob为预设自然数变量,并计算该并行作业序列中所有并行作业所需计算节点总数量Pjob
2)判断当前空闲计算节点总数量Navail是否满足步骤1)所需计算节点总数量Pjob,如果上述条件满足则进入步骤3),如果上述条件不满足且上述Njob值为1,则等待下一次调度开始,否则降低此次调度中Njob的值,并返回步骤1);
3)按顺序从个空闲最小调度单位中选取Ni个空闲计算节点分配给上述待处理的并行作业序列中的并行作业Jobi,直到所述并行作业序列中的所有并行作业完成计算节点分配,所述个空闲最小调度单位之间的两两跳步数之和最小,其中所述最小调度单位为连接到胖树互连网络中同一叶结点的Nunit个计算节点的集合,所述Nunit为预设自然数变量,所述Ni为并行作业Jobi所需计算节点数量,所述为为并行作业Jobi分配计算资源时所用到的空闲最小调度单位的数量。
实施例1
胖树互连网络如图1所示,本实施例面向胖树互连网络的并行作业调度方法,实施步骤包括:
1)调度开始后,从待分配计算资源的并行作业队列中获取待处理的并行作业序列{Job0},该并行作业序列中共包含Njob个并行作业,本实施例中,Njob被预设为1,并计算该并行作业序列中所有并行作业所需计算节点总数量Pjob,本实施例中Pjob为8;
2)当前空闲计算节点总数量为16个,判断出当前空闲计算机电总数满足步骤1)所需计算节点总数量8个,进入步骤3);
3)本实施例中Nunit为1即最小调度单位为由1个计算节点组成如图2所示,即本实施例中有16个空闲最小调度单位,从16个空闲最小调度单位中选8个空闲计算节点分配给Job0,如图1和图2所示本实施例中每一个最小调度单位编号与计算节点编号一一对应,本次调度中空闲的最小调度单位编号集合为{0,1,2,3,4,5,6,7,8,45,46,47,48,60,61,62,63},从上述16个空闲最小调度单位中选取8个两两跳步数之和最小的空闲计算节点{0,1,2,3,4,5,6,7}分配给上述待处理的并行作业序列。
至此本次面向胖树互连网络的并行作业调度完成。
本实施例还提供一种面向胖树互连网络的并行作业调度系统,包括计算机设备,该计算机设备被编程以执行本发明前述面向胖树互连网络的并行作业调度方法的步骤;或者该所述计算机设备的存储介质中存储有被编程以执行本发明前述面向胖树互连网络的并行作业调度方法的计算机程序。
本实施例还提供一种计算机可读的存储介质,该存储介质中存储有被编程以执行本发明前述面向胖树互连网络的并行作业调度方法的计算机程序。
本实施例中的并行作业调度为该并行作业分配了两两之间跳步数之和最小的最小调度单位,减少了跳步数,提高了并行作业内部通信效率,并且待处理的并行作业同时分配给了所需的8个计算节点,有效利用了系统中的所有计算资源,没有产生碎片,解决了并行作业调度产生的并行作业处理效率和系统资源利用率的均衡问题,获得了更好的平衡性。
实施例2
胖树互连网络如图1所示,本实施例面向胖树互连网络的并行作业调度方法流程图如图4所示,包括以下步骤:
本实施例中,胖树互连网络叶结点所连接的计算节点数量Nleaf等于4,则每个最小调度单位中的计算节点数量Nunit=Nleaf即Nunit为4;Nunit值过大会使并行作业调度过程中产生空洞,降低系统利用率,Nunit值过小则分配效率降低,所以本实施例中通过此赋值操作可以将Nunit控制在稳定的数值,以使并行作业调度更好的获得并行作业处理效率和系统资源利用率的平衡性。
根据Nunit值,将胖树互连网络重新划分,形成一个新的精简胖树互连网络Net′,Net′的叶结点上连接最小调度单位,即Nunit个计算节点的集合;建立跳步表记录精简胖树互连网络Net′的不同最小调度单位之间的跳步数。
精简胖树互连网络Net′结构如图3所示;
本实施例中的调度触发条件为接收到新的并行作业;
1)调度开始后,从待分配计算资源的并行作业队列中获取待处理的并行作业序列{Job0,Job1,Job2,Job3},所述并行作业序列中包含Njob个并行作业,其中Njob被预设为缺省值4,并计算出处理该序列中所有并行作业所需计算节点总数量32,其中Job0需要12个计算节点,Job1需要8个计算节点,Job2需要10个计算节点,Job3需要2个计算节点;
步骤2)具体实施步骤为:
2.1)获取当前系统中空闲的最小调度单位数量Navail,计算当前系统中空闲的计算节点数量Nnode=Nunit×Navail;本实施例中Navail为8个,Nnode=4×8=32个;
2.2)由于Pjob≤Nnode,进入步骤3);
按照每个并行作业所需要的计算节点数量排序,4个并行作业排序后的序列为{Job0,Job2,Job1,Job3};
所述步骤3)中为所述Jobi分配计算节点的具体步骤包括:
按顺序为{Job0,Job2,Job1,Job3}中的每个并行作业分配计算节点:
为所述并行作业序列{Job0,Job2,Job1,Job3}中的Job0分配计算节点的实施步骤包括:
3.2.1)获取该并行作业需要的计算节点数为12个;
3.2.2)计算本并行作业需要的最小调度单位个数个;
3.2.3)当前空闲最小调度单位集合为{0,1,2,3,4,5,6,7},循环遍历所有空闲最小调度单位后,选择具有最小跳步数之和的最小调度单位组合{0,1,2}分配给Job0,将最小调度单位组合{0,1,2}中的所有计算节点标记为已分配;
为所述并行作业序列{Job0,Job2,Job1,Job3}中的Job2分配计算节点的实施步骤包括:
3.2.1)获取该并行作业需要的计算节点数为10个;
3.2.2)计算本并行作业需要的最小调度单位个数个;
3.2.3)当前空闲最小调度单位集合为{3,4,5,6,7},循环遍历所有空闲最小调度单位后,选择具有最小跳步数之和的最小调度单位组合{4,5,6}分配给Job2,将其中所有被完全占用的最小调度单位标记为已分配,将没有被完全占用的最小调度单位6标记为忙;;
为所述并行作业序列{Job0,Job2,Job1,Job3}中的Job1分配计算节点的实施步骤包括:
3.2.1)获取该并行作业需要的计算节点数为8个;
3.2.2)计算本并行作业需要的最小调度单位个数个;
3.2.3)当前空闲最小调度单位集合为{3,7},循环遍历所有空闲最小调度单位后,选择具有最小跳步数之和的最小调度单位组合{3,7}分配给Job1,将最小调度单位组合{3,7}中的所有计算节点标记为已分配;
为所述并行作业序列{Job0,Job2,Job1,Job3}中的Job3分配计算节点的实施步骤包括:
3.2.1)获取该并行作业需要的计算节点数为2个;
3.2.2)计算本并行作业需要的最小调度单位个数个;
3.2.3)遍历所有为忙最小调度单位后,最小调度单位6中的空闲计算节点恰好可以满足该并行作业的需求,将该最小调度单位中的空闲计算节点分配给Job3,并将最小调度单位6标记为已分配。
至此本次面向胖树互连网络的并行作业调度完成,具体流程如图4所示。
本实施例还提供一种面向胖树互连网络的并行作业调度系统,包括计算机设备,该计算机设备被编程以执行本发明前述面向胖树互连网络的并行作业调度方法的步骤;或者该所述计算机设备的存储介质中存储有被编程以执行本发明前述面向胖树互连网络的并行作业调度方法的计算机程序。
本实施例还提供一种计算机可读的存储介质,该存储介质中存储有被编程以执行本发明前述面向胖树互连网络的并行作业调度方法的计算机程序。
本实施例中的并行作业调度为每个并行作业分配了两两之间跳步数之和最小的最小调度单位,减少了跳步数,提高了并行作业内部通信效率,并且按待处理的并行作业序列为单位分配计算资源,将多个并行作业的计算资源需求精简为一个,多个待处理的并行作业同时分配给了所需的32个计算节点,有效利用了系统中的所有计算资源,没有产生碎片,解决了并行作业调度产生的并行作业处理效率和系统资源利用率的均衡问题,获得了更好的平衡性。
实施例3
胖树互连网络如图1所示,本实施例面向胖树互连网络的并行作业调度方法流程如图4所示,包括以下步骤:
本实施例中,胖树互连网络叶结点所连接的计算节点数量Nleaf小于等于4,则每个最小调度单位中的计算节点数量Nunit=Nleaf即Nunit为4;Nunit值过大会使并行作业调度过程中产生空洞,降低系统利用率,Nunit值过小则分配效率降低,所以本实施例中通过此赋值操作可以将Nunit控制在稳定的数值,以使并行作业调度更好的获得并行作业处理效率和系统资源利用率的平衡性。
根据Nunit值,将胖树互连网络重新划分,形成一个新的精简胖树互连网络Net′,Net′的叶结点上连接最小调度单位,即Nunit个计算节点的集合;建立跳步表记录精简胖树互连网络Net′的不同最小调度单位之间的跳步数。
精简胖树互连网络Net′结构如图3所示;
本实施例中的调度触发条件为接收到新的并行作业;
1)调度开始后,从待分配计算资源的并行作业队列中获取待处理的并行作业序列{Job0,Job1,Job2,Job3},所述并行作业序列中包含Njob个并行作业,其中Njob被预设为缺省值4,并计算出处理该序列中所有并行作业所需计算节点总数量32,其中Job0需要12个计算节点,Job1需要8个计算节点,Job2需要10个计算节点,Job3需要2个计算节点;
2.1)获取当前系统中空闲的最小调度单位数量Navail,计算当前系统中空闲的计算节点数量Nnode=Nunit×Navail;本实施例中Navail为6个,Nnode=4×6=24个;
2.2)由于不满足Pjob≤Nnode,进入步骤2.3);
2.3)从系统中获取的并行作业数降为3个,返回步骤1)。
循环执行上述步骤2次后,重新从步骤1)开始,此时Njob为2;
1)从系统中获取待处理的2个并行作业序列{Job0,Job1},并计算处理该序列中所有并行作业所需计算节点总数量20个,其中Job0需要12个计算节点,Job1需要8个计算节点;
按照每个并行作业所需要的计算节点数量排序,2个并行作业排序后的序列为{Job0,Job1};
步骤2)具体实施步骤为:
2.1)获取当前系统中空闲的最小调度单位数量Navail,计算当前系统中空闲的计算节点数量Nnode=Nunit×Navail;本实施例中Navail为6个,Nnode=4×6=24个;
2.2)由于Pjob≤Nnode,进入步骤3);
按照每个并行作业所需要的计算节点数量排序,4个并行作业排序后的序列为{Job0,Job2,Job1,Job3};
步骤3)按顺序为{Job0,Job1}中的每个并行作业分配计算节点:
为所述并行作业序列{Job0,Job1}中的Job0分配计算节点的实施步骤包括:
3.2.1)获取该并行作业需要的计算节点数为12个;
3.2.2)计算本并行作业需要的最小调度单位个数个;
3.2.3)当前空闲最小调度单位集合为{0,1,2,3,4,5},循环遍历所有空闲最小调度单位后,选择具有最小跳步数之和的最小调度单位组合{0,1,2}分配给Job0,将最小调度单位组合{0,1,2}中的所有计算节点标记为已分配;
为所述并行作业序列{Job0,Job1}中的Job1分配计算节点的实施步骤包括:
3.2.1)获取该并行作业需要的计算节点数为10个;
3.2.2)计算本并行作业需要的最小调度单位个数个;
3.2.3)当前空闲最小调度单位集合为{3,4,5},循环遍历所有空闲最小调度单位后,选择具有最小跳步数之和的最小调度单位组合{3,4,5}分配给Job1,将其中所有被完全占用的最小调度单位标记为已分配,将没有被完全占用的最小调度单位5标记为忙。
至此本次面向胖树互连网络的并行作业调度完成,具体流程如图4所示。
本实施例还提供一种面向胖树互连网络的并行作业调度系统,包括计算机设备,该计算机设备被编程以执行本发明前述面向胖树互连网络的并行作业调度方法的步骤;或者该所述计算机设备的存储介质中存储有被编程以执行本发明前述面向胖树互连网络的并行作业调度方法的计算机程序。
本实施例还提供一种计算机可读的存储介质,该存储介质中存储有被编程以执行本发明前述面向胖树互连网络的并行作业调度方法的计算机程序。
本实施例中的并行作业调度为每个并行作业分配了两两之间跳步数之和最小的最小调度单位,减少了跳步数,提高了并行作业内部通信效率,并且按待处理的并行作业序列为单位分配计算资源,将多个并行作业的计算资源需求精简为一个,多个待处理的并行作业同时分配给了所需的24个计算节点,有效利用了系统中的所有计算资源,没有产生碎片,解决了并行作业调度产生的并行作业处理效率和系统资源利用率的均衡问题,获得了更好的平衡性。

Claims (10)

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:如果胖树互连网络叶结点所连接的计算节点数量Nleaf小于等于8,则Nunit=Nleaf;否则
6.根据权利要求5中所述的面向胖树互连网络的并行作业调度方法,其特征在于:步骤3)中为所述Jobi分配计算节点的具体步骤包括:
3.2.1)获取该并行作业需要的计算节点数为Ni
3.2.2)计算本并行作业需要的空闲最小调度单位个数
3.2.3)如果上述数值大于1,循环遍历所有的空闲最小调度单位并选择其中个作为最小调度单位组合,获取所有最小调度单位组合中每个最小调度单位之间的两两跳步数之和,从所有最小调度单位组合中选择一组两两最小跳步数之和最小的最小调度单元组合分配给Jobi,将其中所有被完全占用的最小调度单位标记为已分配,将没有被完全占用的最小调度单位标记为忙;
否则,当等于1时,当并行作业需要的计算节点数为Ni=Nunit,则选择一个空闲的最小调度单位分配给Jobi,将该最小调度单位标记为已分配,否则,遍历所有标记为忙的最小调度单位,如果该最小调度单位中剩余的空闲计算节点恰好可以满足该并行作业的需求,则将该最小调度单位中的空闲计算节点分配给Jobi,并将该单元标记为已分配,如果没有恰好可以满足作业计算节点需求的最小调度单位,则从剩余的空闲最小调度单位中为该并作业分配计算节点。
7.根据权利要求1、2、4、6中任一项所述的面向胖树互连网络的并行作业调度方法,其特征在于:所述调度开始的触发条件为接收到新的并行作业时或者并行作业处理完成时。
8.根据权利要求7中所述的面向胖树互连网络的并行作业调度方法,其特征在于:步骤1)前还包含下述步骤:
根据Nunit值,将胖树互连网络重新划分,形成一个新的精简胖树互连网络Net′,Net′的叶结点上连接最小调度单位,即Nunit个计算节点的集合;建立跳步表记录精简胖树互连网络Net′的不同最小调度单位之间的跳步数。
9.一种面向胖树互连网络的并行作业调度系统,包括计算机设备,其特征在于:所述计算机设备被编程以执行权利要求1-8中任一项所述面向胖树互连网络的并行作业调度方法的步骤;或者所述计算机设备的存储介质中存储有被编程以执行权利要求1-8中任一项所述面向胖树互连网络的并行作业调度方法的计算机程序。
10.一种计算机可读的存储介质,其特征在于:所述存储介质中存储有被编程以执行权利要求1-8中任一项所述面向胖树互连网络的并行作业调度方法的计算机程序。
CN201910375840.9A 2019-05-07 2019-05-07 一种面向胖树互连网络的并行作业调度方法、系统及存储介质 Active CN110191155B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910375840.9A CN110191155B (zh) 2019-05-07 2019-05-07 一种面向胖树互连网络的并行作业调度方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910375840.9A CN110191155B (zh) 2019-05-07 2019-05-07 一种面向胖树互连网络的并行作业调度方法、系统及存储介质

Publications (2)

Publication Number Publication Date
CN110191155A true CN110191155A (zh) 2019-08-30
CN110191155B CN110191155B (zh) 2022-01-18

Family

ID=67715800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910375840.9A Active CN110191155B (zh) 2019-05-07 2019-05-07 一种面向胖树互连网络的并行作业调度方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN110191155B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158885A (zh) * 2019-12-31 2020-05-15 中国银行股份有限公司 作业调度系统中并发度控制方法及装置
CN113094179A (zh) * 2021-04-23 2021-07-09 曙光信息产业(北京)有限公司 作业分配方法、装置、电子设备及可读存储介质
CN113391919A (zh) * 2021-04-25 2021-09-14 中国空气动力研究与发展中心计算空气动力研究所 一种基于二维胖树网络的计算结点分配方法及装置
CN114244708A (zh) * 2021-04-26 2022-03-25 无锡江南计算技术研究所 一种胖树网络结构上的通信优化方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604261A (zh) * 2009-07-08 2009-12-16 深圳先进技术研究院 超级计算机的任务调度方法
US20160048413A1 (en) * 2014-08-18 2016-02-18 Fujitsu Limited Parallel computer system, management apparatus, and control method for parallel computer system
CN105718312A (zh) * 2016-01-20 2016-06-29 华南理工大学 面向生物基因测序计算任务的多队列回填作业调度方法
US20180254945A1 (en) * 2015-03-20 2018-09-06 Oracle International Corporation System and method for efficient network reconfiguration in fat-trees
CN108536528A (zh) * 2018-03-23 2018-09-14 湖南大学 应用感知的大规模网格作业调度方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604261A (zh) * 2009-07-08 2009-12-16 深圳先进技术研究院 超级计算机的任务调度方法
US20160048413A1 (en) * 2014-08-18 2016-02-18 Fujitsu Limited Parallel computer system, management apparatus, and control method for parallel computer system
US20180254945A1 (en) * 2015-03-20 2018-09-06 Oracle International Corporation System and method for efficient network reconfiguration in fat-trees
CN105718312A (zh) * 2016-01-20 2016-06-29 华南理工大学 面向生物基因测序计算任务的多队列回填作业调度方法
CN108536528A (zh) * 2018-03-23 2018-09-14 湖南大学 应用感知的大规模网格作业调度方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JUAN CHEN等: "Reducing Static Energy in Supercomputer Interconnection Networks Using Topology-Aware Partitioning", 《IEEE TRANSACTIONS ON COMPUTERS》 *
PEIXIN QIAO等: "Preliminary Interference Study about Job Placement and Routing Algorithms in the Fat-tree Topology for HPC Applications", 《2017 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158885A (zh) * 2019-12-31 2020-05-15 中国银行股份有限公司 作业调度系统中并发度控制方法及装置
CN111158885B (zh) * 2019-12-31 2023-05-23 中国银行股份有限公司 作业调度系统中并发度控制方法及装置
CN113094179A (zh) * 2021-04-23 2021-07-09 曙光信息产业(北京)有限公司 作业分配方法、装置、电子设备及可读存储介质
CN113094179B (zh) * 2021-04-23 2024-04-19 曙光信息产业(北京)有限公司 作业分配方法、装置、电子设备及可读存储介质
CN113391919A (zh) * 2021-04-25 2021-09-14 中国空气动力研究与发展中心计算空气动力研究所 一种基于二维胖树网络的计算结点分配方法及装置
CN114244708A (zh) * 2021-04-26 2022-03-25 无锡江南计算技术研究所 一种胖树网络结构上的通信优化方法
CN114244708B (zh) * 2021-04-26 2023-08-08 无锡江南计算技术研究所 一种胖树网络结构上的通信优化方法

Also Published As

Publication number Publication date
CN110191155B (zh) 2022-01-18

Similar Documents

Publication Publication Date Title
CN110191155A (zh) 一种面向胖树互连网络的并行作业调度方法、系统及存储介质
CN105159762B (zh) 基于贪心策略的启发式云计算任务调度方法
CN111722910B (zh) 一种云作业调度及资源配置的方法
CN110113387A (zh) 一种基于分布式批量处理系统的处理方法、装置及系统
CN107729126A (zh) 一种容器云的任务调度方法和装置
CN103617472B (zh) 多项目多任务管理中的资源平衡自适应调度方法
CN107329815A (zh) 一种基于BP‑Tabu搜索的云任务负载均衡调度方法
CN105373426B (zh) 一种基于Hadoop的车联网内存感知实时作业调度方法
CN105389204B (zh) 一种多资源偏序调度方法
CN114816715B (zh) 一种面向跨地域的流计算延迟优化方法及装置
CN113037800B (zh) 作业调度方法以及作业调度装置
CN108897627A (zh) 针对典型容器的Docker动态调度算法
CN110221920A (zh) 部署方法、装置、存储介质及系统
WO2020134133A1 (zh) 一种资源配置方法、变电站及计算机可读存储介质
CN113886034A (zh) 任务调度方法、系统、电子设备及存储介质
CN105488134A (zh) 大数据处理方法及大数据处理装置
CN116700993B (zh) 一种负载均衡方法、装置、设备及可读存储介质
CN108737268A (zh) 软件定义工业物联网资源调度方法
CN113672391A (zh) 一种基于Kubernetes的并行计算任务调度方法与系统
CN106502790A (zh) 一种基于数据分布的任务分配优化方法
CN110084507A (zh) 云计算环境下分级感知的科学工作流调度优化方法
CN110048966A (zh) 基于截止时间的最小化系统开销的Coflow调度方法
WO2021115082A1 (zh) 作业调度方法以及作业调度装置
Ma et al. Maximizing container-based network isolation in parallel computing clusters
CN105577834B (zh) 具有可预测性能的云数据中心两层带宽分配方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant