CN108494845A - 一种基于6D-Torus网络的作业调度方法和装置 - Google Patents
一种基于6D-Torus网络的作业调度方法和装置 Download PDFInfo
- Publication number
- CN108494845A CN108494845A CN201810210221.XA CN201810210221A CN108494845A CN 108494845 A CN108494845 A CN 108494845A CN 201810210221 A CN201810210221 A CN 201810210221A CN 108494845 A CN108494845 A CN 108494845A
- Authority
- CN
- China
- Prior art keywords
- node
- group
- coordinate information
- resource request
- determining
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于6D‑Torus网络的作业调度方法和装置,该作业调度方法包括:根据预设的命名规则,对每个节点进行命名,以得到每个节点的节点名;根据Hilbert曲线和节点名,将所有节点进行排序,以得到所有节点的一维向量;根据作业的资源请求和一维向量,选择运行节点并分配资源。本发明通过根据预设的命名规则,对每个节点进行命名,以得到每个节点的节点名,随后根据Hilbert曲线和节点名,将所有节点进行排序,以得到所有节点的一维向量,最后根据作业的资源请求和一维向量,选择运行节点并分配资源,从而利用Hilbert曲线,在3D‑Torus网络的基础上实现6D‑Torus网络的支持,优化作业在6D‑Torus网络的调度算法,其还能有效避免高维Hilbert曲线大计算量带来的性能等问题。
Description
技术领域
本发明涉及作业调度领域,具体来说,涉及一种基于6D-Torus网络的作业调度方法和装置。
背景技术
网络对于集群是相当重要的,集群一般包含存储流量、管理流量、任务调度流量和计算流量。此外,HPC(High Performance Computing,高性能计算机群)集群是非常注重性能的,所以作业调度系统首先关注计算流量,这是作为计算应用程序的一部分在节点之间交换的数据。拥有可以容纳所需流量(特别是计算流量)的适当的网络,对保证作业的高效运行至关重要。此外,还需与网络拓扑结构匹配的调度算法,从而能有效改善节点的通讯效率,提升作业运行效率。
此外,当前高性能集群的网络拓扑结构一般分为两类:3D-Torus和分层网络。在流行的作业调度系统中,作业调度过程中在分配资源时,也逐步添加针对网络拓扑结构的优化,例如,SLURM调度系统(其是一个可用于大型计算节点集群的高度可伸缩的集群管理器和作业调度系统)就针对多种3D-Torus和分层网络拓扑结构进行了优化,IBM的BlueGene集群系统和Cray集群系统网络都属于3D-Torus拓扑结构,并使用SLURM作为调度系统,具体地:在BlueGene集群中,作业会分配至棱柱形空间内节点,尽可能地保留几何形状;Cray集群中,作业不要求节点的几何形状,被分配在临近的节点上。
另外,空间填充曲线提供了一类有效的网格划分方法,这类曲线出现于19世纪,由于其特殊的性质一直吸引数学家进行研究。空间填充曲线具有良好的空间局部性,近几十年,人们将其广泛应用在内存管理、数据库索引、图像处理、多维数据索引等领域。空间填充曲线可以将高维空间中没有良好顺序的数据映射到一维空间,经过这种编码方式,空间上相邻的对象会邻近存储在一块,可以减少IO(Input/Output,输入/输出)的时间,提高内存中数据处理效率。Hilbert曲线(或希尔伯特曲线,其为一种空间填充曲线)依据自身空间填充曲线的特性,可以线性地贯穿二维或者更高维度的每个离散单元,并且仅仅穿过一次,并对每个离散单元进行线性排序和编码,该编码作为该单元的唯一标识。
针对通用的3D-Torus网络结构,SLURM调度系统就使用Hilbert曲线将3维节点坐标展开成一维,对节点进行重新排序后再进行节点选择,但是由于6D-Torus网络在集群领域属于新技术,相关资料较少,现有流行的调度系统,例如SLURM调度系统仅支持3D-Torus,没有针对6D-Torus的调度算法,其中,6D-Torus是指所有节点都存在6个维度连接关系的环状拓扑结构。此外,Hilbert曲线生成的关键是如何计算每一个离散单元所对应的编码以及根据编码获得离散单元所处的位置,但因为高维Hilbert曲线的复杂性,生成高维Hilbert曲线计算量很大,相关算法研究很少。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出一种基于6D-Torus网络的作业调度方法和装置。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种基于6D-Torus网络的作业调度方法。
该基于6D-Torus网络的作业调度方法包括:根据预设的命名规则,对每个节点进行命名,以得到每个节点的节点名;根据Hilbert曲线和节点名,将所有节点进行排序,以得到所有节点的一维向量;根据作业的资源请求和一维向量,选择运行节点并分配资源。
根据本发明的一个实施例,根据预设的命名规则,对每个节点进行命名,以得到每个节点的节点名包括:获取每个硅元的第一坐标信息,以及还获取每个硅元上的交换芯片的第二坐标信息,以及还获取每个交换芯片上的节点的序号信息;根据第一坐标信息、第二坐标信息和序号坐标信息,确定每个节点的节点名。
根据本发明的一个实施例,根据Hilbert曲线和节点名,将所有节点进行排序,以得到所有节点的一维向量包括:根据Hilbert曲线,将所有节点按照第一坐标信息进行第一次排序;以及根据Hilbert曲线,将第一坐标信息相同的节点按照第二坐标信息进行第二次排序,以得到所有节点的一维向量。
根据本发明的一个实施例,根据作业的资源请求和一维向量,选择运行节点并分配资源包括:根据一维向量,将第一坐标信息和第二坐标信息均相同的节点划分为同一组,以得到多个第一组;按照顺序确定每个第一组内的节点是否满足资源请求;在确定第一组内的节点满足资源请求的情况下,选择确定后的第一组中的节点作为运行节点并分配资源。
根据本发明的一个实施例,作业调度方法还包括:在确定每个第一组内的节点均不满足资源请求的情况下,根据一维向量,将第一坐标信息相同的节点划分为同一组,以得到多个第二组;按照顺序确定每个第二组内的节点是否满足资源请求;在确定第二组内的节点满足资源请求的情况下,选择确定后的第二组中的节点作为运行节点并分配资源。
根据本发明的一个实施例,作业调度方法还包括:在确定每个第二组内的节点均不满足资源请求的情况下,根据一维向量,判断多个第二组之间的关系,并将相邻的第二组划分为同一组,以得到第三组;按照顺序确定第三组内的节点是否满足资源请求;在确定第三组内的节点满足资源请求的情况下,选择确定后的第三组内的节点作为运行节点并分配资源。
根据本发明的另一方面,提供了一种基于6D-Torus网络的作业调度装置。
该基于6D-Torus网络的作业调度装置包括:命名模块,用于根据预设的命名规则,对每个节点进行命名,以得到每个节点的节点名;排序模块,用于根据Hilbert曲线和节点名,将所有节点进行排序,以得到所有节点的一维向量;第一选择模块,用于根据作业的资源请求和一维向量,选择运行节点并分配资源。
根据本发明的一个实施例,命名模块包括:获取模块,用于获取每个硅元的第一坐标信息,以及还获取每个硅元上的交换芯片的第二坐标信息,以及还获取每个交换芯片上的节点的序号信息;第一确定模块,用于根据第一坐标信息、第二坐标信息和序号坐标信息,确定每个节点的节点名。
根据本发明的一个实施例,排序模块包括:第一排序子模块,用于根据Hilbert曲线,将所有节点按照第一坐标信息进行第一次排序;以及第二排序子模块,用于根据Hilbert曲线,将第一坐标信息相同的节点按照第二坐标信息进行第二次排序,以得到所有节点的一维向量。
根据本发明的一个实施例,第一选择模块包括:第一划分模块,用于根据一维向量,将第一坐标信息和第二坐标信息均相同的节点划分为同一组,以得到多个第一组;第二确定模块,用于按照顺序确定每个第一组内的节点是否满足资源请求;第二选择模块,用于在确定第一组内的节点满足资源请求的情况下,选择确定后的第一组中的节点作为运行节点并分配资源。
根据本发明的一个实施例,作业调度装置还包括:第二划分模块,用于在确定每个第一组内的节点均不满足资源请求的情况下,根据一维向量,将第一坐标信息相同的节点划分为同一组,以得到多个第二组;第三确定模块,用于按照顺序确定每个第二组内的节点是否满足资源请求;第三选择模块,用于在确定第二组内的节点满足资源请求的情况下,选择确定后的第二组中的节点作为运行节点并分配资源。
根据本发明的一个实施例,作业调度装置还包括:判断模块,用于在确定每个第二组内的节点均不满足资源请求的情况下,根据一维向量,判断多个第二组之间的关系,并将相邻的第二组划分为同一组,以得到第三组;第四确定模块,用于按照顺序确定第三组内的节点是否满足资源请求;第四选择模块,用于在确定第三组内的节点满足资源请求的情况下,选择确定后的第三组内的节点作为运行节点并分配资源。
本发明的有益技术效果在于:
本发明通过根据预设的命名规则,对每个节点进行命名,以得到每个节点的节点名,随后根据Hilbert曲线和节点名,将所有节点进行排序,以得到所有节点的一维向量,最后根据作业的资源请求和一维向量,选择运行节点并分配资源,从而利用Hilbert曲线,在3D-Torus网络的基础上实现6D-Torus网络的支持,优化作业在6D-Torus网络的调度算法,其还能有效避免高维Hilbert曲线大计算量带来的性能等问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的基于6D-Torus网络的作业调度方法的流程图;
图2是根据本发明实施例的基于6D-Torus网络的作业调度方法的具体流程图;
图3是根据本发明实施例的基于6D-Torus网络的作业调度装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种基于6D-Torus网络的作业调度方法。
如图1所示,根据本发明实施例的基于6D-Torus网络的作业调度方法包括:步骤S101,根据预设的命名规则,对每个节点进行命名,以得到每个节点的节点名;步骤S103,根据Hilbert曲线和节点名,将所有节点进行排序,以得到所有节点的一维向量;步骤S105,根据作业的资源请求和一维向量,选择运行节点并分配资源。借助于本发明的上述技术方案,通过根据预设的命名规则,对每个节点进行命名,以得到每个节点的节点名,随后根据Hilbert曲线和节点名,将所有节点进行排序,以得到所有节点的一维向量,最后根据作业的资源请求和一维向量,选择运行节点并分配资源,从而利用Hilbert曲线,在3D-Torus网络的基础上实现6D-Torus网络的支持,优化作业在6D-Torus网络的调度算法,其还能有效避免高维Hilbert曲线大计算量带来的性能等问题。
根据本发明的一个实施例,根据预设的命名规则,对每个节点进行命名,以得到每个节点的节点名包括:获取每个硅元的第一坐标信息,以及还获取每个硅元上的交换芯片的第二坐标信息,以及还获取每个交换芯片上的节点的序号信息;根据第一坐标信息、第二坐标信息和序号坐标信息,确定每个节点的节点名。
根据本发明的一个实施例,根据Hilbert曲线和节点名,将所有节点进行排序,以得到所有节点的一维向量包括:根据Hilbert曲线,将所有节点按照第一坐标信息进行第一次排序;以及根据Hilbert曲线,将第一坐标信息相同的节点按照第二坐标信息进行第二次排序,以得到所有节点的一维向量。
根据本发明的一个实施例,根据作业的资源请求和一维向量,选择运行节点并分配资源包括:根据一维向量,将第一坐标信息和第二坐标信息均相同的节点划分为同一组,以得到多个第一组;按照顺序确定每个第一组内的节点是否满足资源请求;在确定第一组内的节点满足资源请求的情况下,选择确定后的第一组中的节点作为运行节点并分配资源。
根据本发明的一个实施例,作业调度方法还包括:在确定每个第一组内的节点均不满足资源请求的情况下,根据一维向量,将第一坐标信息相同的节点划分为同一组,以得到多个第二组;按照顺序确定每个第二组内的节点是否满足资源请求;在确定第二组内的节点满足资源请求的情况下,选择确定后的第二组中的节点作为运行节点并分配资源。
根据本发明的一个实施例,作业调度方法还包括:在确定每个第二组内的节点均不满足资源请求的情况下,根据一维向量,判断多个第二组之间的关系,并将相邻的第二组划分为同一组,以得到第三组;按照顺序确定第三组内的节点是否满足资源请求;在确定第三组内的节点满足资源请求的情况下,选择确定后的第三组内的节点作为运行节点并分配资源。
为了更好的理解本发明的技术方案,下面通过具体的实施例进行详细的描述。
本发明优化了SLURM调度系统在6D-Torus网络下的调度算法,其将6D-Torus网络视为两层的3D-Torus网络,避免了高维Hilbert曲线的计算量大带来的影响性能等问题。同时,其利用Hilbert曲线和格雷码(GrayCode),将3D-Torus网络展开为一维,从而在3D-Torus网络的基础上实现了6D-Torus网络的支持,优化了作业在6D-Torus网络的调度,提升了作业的运行效率,其中,格雷码是指任意两个相邻的代码只有一位二进制数不同,另外由于最大数与最小数之间也仅一位数不同的编码方式。
此外,Hilbert曲线将高维空间中没有良好顺序的数据映射到一维空间,经过这种编码方式,空间上相邻的对象会邻近存储。在一组数的编码中,格雷码任意两个相邻的代码只有一位二进制数不同,另外由于最大数与最小数之间也仅一位数不同,即“首尾相连”,符合了Torus网络的环形结构的要求。
下面以节点后三位为三维坐标,将节点通过Hilbert曲线转化后的节点顺序示例如下表1所示。
SLURM0000 |
SLURM0001 |
SLURM0010 |
SLURM0011 |
SLURM0100 |
SLURM0101 |
SLURM0110 |
SLURM0111 |
表1
通过Hilbert曲线转换后节点排序如下表2所示,其中,在下表2中,JOBID是指作业的ID号,NODELIST是指包含的节点数。
JOBID | ··· | NODELIST |
180 | ··· | SLURM0000 |
181 | ··· | SLURM0010 |
182 | ··· | SLURM0110 |
183 | ··· | SLURM0100 |
184 | ··· | SLURM0101 |
185 | ··· | SLURM0111 |
186 | ··· | SLURM0011 |
187 | ··· | SLURM0001 |
表2
从而,通过上面这种结合Hilbert曲线和格雷码的特性,以并对每个离散单元进行线性排序,以格雷码作为编码方式,此编码作为该单元的唯一标识。
此外,Hilbert曲线生成的关键是如何计算每一个离散单元所对应的编码以及根据编码获得离散单元所处的位置。但是,因为高维Hilbert曲线的复杂性,生成高维Hilbert曲线的计算量很大,为避免大量计算影响调度性能,系统选择将Hilbert曲线6维展开,转化为2层的3维问题。逻辑上选取3个维度组成3D-Torus结构的硅元,作为下层;另外3个维度作为逻辑上硅元间的关系,形成上层的3D-Torus结构。上层将硅元坐标从3维转换成一维,确定硅元间的拓扑邻近关系;下层转换硅元内部交换芯片坐标,确定硅元内交换芯片间的拓扑邻近关系,从而选择规模较小的维度作为下层拓扑结构,有助于提升调度效率和调度效果。
另外,节点命名按照一定的规则,从节点名称映射节点在6D-Torus网络中的坐标。节点名的命名规则如下:t-XYZabcN,其中,XYZabc分别表示网络的6个维度,并且每一位是设置为数字或字母(支持0-9,A-Z,A表示10,B表示11等依次类推),同时,XYZ用来标识硅元的坐标,abc标识硅元内交换芯片的坐标,N标识节点在交换芯片中的节点序号。同时,在XYZabc某位相差+-1,表示交换芯片相邻。此外,SLURM启动时,使用Hilbert曲线会进行两次排序,从而避免了高维Hilbert曲线大量计算的方问题,其首先获取关于硅元的第一坐标信息,随后获取硅元内的交换芯片的第二坐标信息,随后分别对应第一坐标信息和第二坐标信息进行排序,随后将节点先按照第一坐标信息进行第一次排序,随后将第一坐标信息相同的节点再按照第二坐标信息排序,此时,所有的节点排序变成一维,即得到所有节点的一维向量,并且将一维向量以格雷码的形式存储。
此外,硅元内及硅元间的拓扑结构是可以无限扩展的,建议将跨度较小或者后期扩展可能较小的维度,作为逻辑上的硅元,以提升调度算法的效果。同时,在完成逻辑划分后,硅元内部的拓扑结构是固定的,节点间通讯的路由跳数<=硅元内交换芯片间最大跳数,例如,2x2x3的逻辑硅元,节点间通讯的路由跳数<=3,因此作业调度的节点选择策略,按照优先同一交换芯片内节点、同一硅元内节点、邻近硅元内节点的顺序,分层选择运行节点,具体如下:
a、硅元相同、交换芯片相同的节点,是否满足作业的资源请求,即其根据第一坐标信息和第二坐标信息,将第一坐标信息和第二坐标信息均相同的节点划分为多个第一组,再根据顺序判断各个第一组内的节点是否满足资源要求,其中,应当理解,上述第一组表示的为同一硅元内的同一交换芯片上的节点。若满足,选择该交换芯片的节点,此时计算节点间路由跳数为1。
b、若a不满足,检查硅元相同的节点,是否满足作业资源请求,即其根据第一坐标信息,将第一坐标信息相同的节点划分为多个第二组,再顺序判断各个第二组内的节点是否满足资源要求,其中,应当理解,上述第二组表示的是同一硅元内的节点。若满足,根据硅元内交换芯片坐标的Hilbert曲线临近关系,选择运行作业的节点。此时计算节点间路由跳数<=3。
c、若b不满足,根据硅元坐标Hilbert曲线的临近关系,选择相邻硅元的节点,其通过第二组的基础上,判断多个第二组之间的关系,其可通过硅元的坐标来判断硅元的关系,例如,根据本发明的一个实施例,在硅元坐标XYZ某位相差+-1,表示硅元相邻,并将相邻的第二组划分为第三组,其中,应当理解,上述第三组表示的是空间相邻的硅元。此时计算节点间路由跳数<=3+硅元间跳数。
另外,为了便于理解本发明的技术方案,下面通过图2对本发明的技术方案进行详细的描述。
如图2所示,该基于6D-Torus网络的作业调度方法包括:首先,获取单个作业资源请求,随后获取最新的集群资源,随后将不符合作业资源请求的节点剔除,例如,可将正在运行作业的节点进行剔除,随后确定集群的整体资源是否满足资源请求,在集群的整体资源不满足资源请求的情况下,终止节点选择流程,然而,在集群的整体资源满足资源请求的情况下,顺序检查交换芯片下的资源,例如,可根据交换芯片的坐标来进行顺序检查,或还可根据Hilbert曲线生成的一维向量来确定检查顺序,随后确定当前交换芯片是否满足资源请求,在当前交换芯片满足资源请求的情况下,顺序选择当前交换芯片下满足要求的节点并分配资源,例如,可按照交换芯片和节点的节点序号顺序进行节点的选择,然而,在当前交换芯片不满足资源请求的情况下,进行下一个交换芯片的检查,直至遍历所有的交换芯片,随后在遍历完所有交换芯片后,按照Hilbert曲线生成的一维向量的顺序检查硅元整体资源,随后确定当前硅元是否满足资源请求,在当前硅元满足资源请求的情况下,顺序选择当前硅元下满足要求的节点并分配资源,例如,按照Hilbert曲线生成的一维向量来选择满足要求的当前硅元内的交换芯片,随后在确定交换芯片后,顺序选择确定后的交换芯片内的节点并分配资源,然而,在当前硅元不满足资源请求的情况下,进行下一个硅元的检查,直至遍历所有的硅元,在遍历完所有的硅元后,按照Hilbert曲线生成的一维向量的顺序检查多个硅元的整体资源,尽可能选择满足资源请求的相邻硅元,其中,该相邻的硅元的数量可根据实际需求进行选择,例如,根据本发明的一个实施例的基础上,其为相邻的两个硅元,随后按照Hilbert曲线生成的一维向量来选择满足要求的当前硅元内的交换芯片,当然可以理解,在相邻的两个硅元的节点无法满足资源需求的情况下,可依次通过间隔的硅元等等实现资源的需求,其标准是保证空间最为相邻的硅元满足上述资源需求,随后在确定交换芯片后,顺序选择确定后的交换芯片内的节点并分配资源,从而本发明针对6D-Torus网络拓扑结构,利用Hilbert曲线和格雷码,在3D-Torus的基础上实现6D-Torus支持,优化作业在6D-Torus网络的调度算法,并且其将作业运行在拓扑邻近的节点上,减少节点通讯的延迟,提升作业运行效率,以及还能合理利用资源,减少资源的浪费,以及还能有效避免高维Hilbert曲线大计算量带来的性能等问题。
根据本发明的实施例,还提供了一种基于6D-Torus网络的作业调度装置。
如图3所示,根据本发明实施例的基于6D-Torus网络的作业调度装置包括:命名模块31,用于根据预设的命名规则,对每个节点进行命名,以得到每个节点的节点名;排序模块32,用于根据Hilbert曲线和节点名,将所有节点进行排序,以得到所有节点的一维向量;第一选择模块33,用于根据作业的资源请求和一维向量,选择运行节点并分配资源。
根据本发明的一个实施例,命名模块31包括:获取模块(未示出),用于获取每个硅元的第一坐标信息,以及还获取每个硅元上的交换芯片的第二坐标信息,以及还获取每个交换芯片上的节点的序号信息;第一确定模块(未示出),用于根据第一坐标信息、第二坐标信息和序号坐标信息,确定每个节点的节点名。
根据本发明的一个实施例,排序模块32包括:第一排序子模块(未示出),用于根据Hilbert曲线,将所有节点按照第一坐标信息进行第一次排序;以及第二排序子模块(未示出),用于根据Hilbert曲线,将第一坐标信息相同的节点按照第二坐标信息进行第二次排序,以得到所有节点的一维向量。
根据本发明的一个实施例,第一选择模块33包括:第一划分模块(未示出),用于根据一维向量,将第一坐标信息和第二坐标信息均相同的节点划分为同一组,以得到多个第一组;第二确定模块(未示出),用于按照顺序确定每个第一组内的节点是否满足资源请求;第二选择模块,用于在确定第一组内的节点满足资源请求的情况下,选择确定后的第一组中的节点作为运行节点并分配资源。
根据本发明的一个实施例,作业调度装置还包括:第二划分模块(未示出),用于在确定每个第一组内的节点均不满足资源请求的情况下,根据一维向量,将第一坐标信息相同的节点划分为同一组,以得到多个第二组;第三确定模块(未示出),用于按照顺序确定每个第二组内的节点是否满足资源请求;第三选择模块(未示出),用于在确定第二组内的节点满足资源请求的情况下,选择确定后的第二组中的节点作为运行节点并分配资源。
根据本发明的一个实施例,作业调度装置还包括:判断模块(未示出),用于在确定每个第二组内的节点均不满足资源请求的情况下,根据一维向量,判断多个第二组之间的关系,并将相邻的第二组划分为同一组,以得到第三组;第四确定模块(未示出),用于按照顺序确定第三组内的节点是否满足资源请求;第四选择模块(未示出),用于在确定第三组内的节点满足资源请求的情况下,选择确定后的第三组内的节点作为运行节点并分配资源。
综上所述,借助于本发明的上述技术方案,通过根据预设的命名规则,对每个节点进行命名,以得到每个节点的节点名,随后根据Hilbert曲线和节点名,将所有节点进行排序,以得到所有节点的一维向量,最后根据作业的资源请求和一维向量,选择运行节点并分配资源,从而利用Hilbert曲线,在3D-Torus网络的基础上实现6D-Torus网络的支持,优化作业在6D-Torus网络的调度算法,其还能有效避免高维Hilbert曲线大计算量带来的性能等问题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种基于6D-Torus网络的作业调度方法,其特征在于,包括:
根据预设的命名规则,对每个节点进行命名,以得到每个所述节点的节点名;
根据Hilbert曲线和所述节点名,将所有节点进行排序,以得到所述所有节点的一维向量;
根据作业的资源请求和所述一维向量,选择运行节点并分配资源。
2.根据权利要求1所述的作业调度方法,其特征在于,根据预设的命名规则,对每个节点进行命名,以得到每个所述节点的节点名包括:
获取每个硅元的第一坐标信息,以及还获取每个所述硅元上的交换芯片的第二坐标信息,以及还获取每个交换芯片上的节点的序号信息;
根据所述第一坐标信息、所述第二坐标信息和所述序号坐标信息,确定每个所述节点的节点名。
3.根据权利要求2所述的作业调度方法,其特征在于,根据Hilbert曲线和所述节点名,将所有节点进行排序,以得到所述所有节点的一维向量包括:
根据所述Hilbert曲线,将所述所有节点按照所述第一坐标信息进行第一次排序;以及
根据所述Hilbert曲线,将所述第一坐标信息相同的节点按照所述第二坐标信息进行第二次排序,以得到所有节点的一维向量。
4.根据权利要求3所述的作业调度方法,其特征在于,根据作业的资源请求和所述一维向量,选择运行节点并分配资源包括:
根据所述一维向量,将所述第一坐标信息和所述第二坐标信息均相同的节点划分为同一组,以得到多个第一组;
按照顺序确定每个所述第一组内的节点是否满足所述资源请求;
在确定所述第一组内的节点满足所述资源请求的情况下,选择确定后的第一组中的节点作为所述运行节点并分配资源。
5.根据权利要求4所述的作业调度方法,其特征在于,所述作业调度方法还包括:
在确定每个所述第一组内的节点均不满足所述资源请求的情况下,根据所述一维向量,将所述第一坐标信息相同的节点划分为同一组,以得到多个第二组;
按照顺序确定每个所述第二组内的节点是否满足所述资源请求;
在确定所述第二组内的节点满足所述资源请求的情况下,选择确定后的所述第二组中的节点作为所述运行节点并分配资源。
6.根据权利要求5所述的作业调度方法,其特征在于,所述作业调度方法还包括:
在确定每个所述第二组内的节点均不满足所述资源请求的情况下,根据所述一维向量,判断多个所述第二组之间的关系,并将相邻的第二组划分为同一组,以得到第三组;
按照顺序确定所述第三组内的节点是否满足所述资源请求;
在确定所述第三组内的节点满足所述资源请求的情况下,选择确定后的第三组内的节点作为所述运行节点并分配资源。
7.一种基于6D-Torus网络的作业调度装置,其特征在于,包括:
命名模块,用于根据预设的命名规则,对每个节点进行命名,以得到每个所述节点的节点名;
排序模块,用于根据Hilbert曲线和所述节点名,将所有节点进行排序,以得到所述所有节点的一维向量;
第一选择模块,用于根据作业的资源请求和所述一维向量,选择运行节点并分配资源。
8.根据权利要求7所述的作业调度装置,其特征在于,所述命名模块包括:
获取模块,用于获取每个硅元的第一坐标信息,以及还获取每个所述硅元上的交换芯片的第二坐标信息,以及还获取每个交换芯片上的节点的序号信息;
第一确定模块,用于根据所述第一坐标信息、所述第二坐标信息和所述序号坐标信息,确定每个所述节点的节点名。
9.根据权利要求8所述的作业调度装置,其特征在于,所述排序模块包括:
第一排序子模块,用于根据所述Hilbert曲线,将所述所有节点按照所述第一坐标信息进行第一次排序;以及
第二排序子模块,用于根据所述Hilbert曲线,将所述第一坐标信息相同的节点按照所述第二坐标信息进行第二次排序,以得到所有节点的一维向量。
10.根据权利要求9所述的作业调度装置,其特征在于,所述第一选择模块包括:
第一划分模块,用于根据所述一维向量,将所述第一坐标信息和所述第二坐标信息均相同的节点划分为同一组,以得到多个第一组;
第二确定模块,用于按照顺序确定每个所述第一组内的节点是否满足所述资源请求;
第二选择模块,用于在确定所述第一组内的节点满足所述资源请求的情况下,选择确定后的第一组中的节点作为所述运行节点并分配资源。
11.根据权利要求10所述的作业调度装置,其特征在于,所述作业调度装置还包括:
第二划分模块,用于在确定每个所述第一组内的节点均不满足所述资源请求的情况下,根据所述一维向量,将所述第一坐标信息相同的节点划分为同一组,以得到多个第二组;
第三确定模块,用于按照顺序确定每个所述第二组内的节点是否满足所述资源请求;
第三选择模块,用于在确定所述第二组内的节点满足所述资源请求的情况下,选择确定后的所述第二组中的节点作为所述运行节点并分配资源。
12.根据权利要求11所述的作业调度装置,其特征在于,所述作业调度装置还包括:
判断模块,用于在确定每个所述第二组内的节点均不满足所述资源请求的情况下,根据所述一维向量,判断多个所述第二组之间的关系,并将相邻的第二组划分为同一组,以得到第三组;
第四确定模块,用于按照顺序确定所述第三组内的节点是否满足所述资源请求;
第四选择模块,用于在确定所述第三组内的节点满足所述资源请求的情况下,选择确定后的第三组内的节点作为所述运行节点并分配资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810210221.XA CN108494845B (zh) | 2018-03-14 | 2018-03-14 | 一种基于6D-Torus网络的作业调度方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810210221.XA CN108494845B (zh) | 2018-03-14 | 2018-03-14 | 一种基于6D-Torus网络的作业调度方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108494845A true CN108494845A (zh) | 2018-09-04 |
CN108494845B CN108494845B (zh) | 2020-12-22 |
Family
ID=63339003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810210221.XA Active CN108494845B (zh) | 2018-03-14 | 2018-03-14 | 一种基于6D-Torus网络的作业调度方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108494845B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109064750A (zh) * | 2018-09-28 | 2018-12-21 | 深圳大学 | 城市路网交通估计方法及系统 |
CN113094179A (zh) * | 2021-04-23 | 2021-07-09 | 曙光信息产业(北京)有限公司 | 作业分配方法、装置、电子设备及可读存储介质 |
CN115202888A (zh) * | 2022-09-13 | 2022-10-18 | 清华大学 | 设备调度方法、装置、电子设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150277531A1 (en) * | 2014-03-31 | 2015-10-01 | Fujitsu Limited | Apparatus and method for controlling power consumption of devices performing communications between a processor and i/o devices |
US20150295756A1 (en) * | 2014-04-10 | 2015-10-15 | Nec Laboratories America, Inc. | Hybrid Optical/Electrical Interconnect Network Architecture for Direct-connect Data Centers and High Performance Computers |
US20170099190A1 (en) * | 2015-10-02 | 2017-04-06 | Seagate Technology Llc | Data center rack flexplane |
CN107563435A (zh) * | 2017-08-30 | 2018-01-09 | 哈尔滨工业大学深圳研究生院 | 基于svm的高维不平衡数据分类方法 |
CN107612746A (zh) * | 2017-10-12 | 2018-01-19 | 曙光信息产业股份有限公司 | 一种构建Torus网络的方法、Torus网络和路由算法 |
-
2018
- 2018-03-14 CN CN201810210221.XA patent/CN108494845B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150277531A1 (en) * | 2014-03-31 | 2015-10-01 | Fujitsu Limited | Apparatus and method for controlling power consumption of devices performing communications between a processor and i/o devices |
US20150295756A1 (en) * | 2014-04-10 | 2015-10-15 | Nec Laboratories America, Inc. | Hybrid Optical/Electrical Interconnect Network Architecture for Direct-connect Data Centers and High Performance Computers |
US20170099190A1 (en) * | 2015-10-02 | 2017-04-06 | Seagate Technology Llc | Data center rack flexplane |
CN107563435A (zh) * | 2017-08-30 | 2018-01-09 | 哈尔滨工业大学深圳研究生院 | 基于svm的高维不平衡数据分类方法 |
CN107612746A (zh) * | 2017-10-12 | 2018-01-19 | 曙光信息产业股份有限公司 | 一种构建Torus网络的方法、Torus网络和路由算法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109064750A (zh) * | 2018-09-28 | 2018-12-21 | 深圳大学 | 城市路网交通估计方法及系统 |
CN113094179A (zh) * | 2021-04-23 | 2021-07-09 | 曙光信息产业(北京)有限公司 | 作业分配方法、装置、电子设备及可读存储介质 |
CN113094179B (zh) * | 2021-04-23 | 2024-04-19 | 曙光信息产业(北京)有限公司 | 作业分配方法、装置、电子设备及可读存储介质 |
CN115202888A (zh) * | 2022-09-13 | 2022-10-18 | 清华大学 | 设备调度方法、装置、电子设备及可读存储介质 |
CN115202888B (zh) * | 2022-09-13 | 2023-02-03 | 清华大学 | 设备调度方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108494845B (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106919769A (zh) | 一种基于多层次方法和赋权超图的层次式fpga布局布线方法 | |
CN108494845A (zh) | 一种基于6D-Torus网络的作业调度方法和装置 | |
CN105096006A (zh) | 一种智能电能表的配送车辆路径优化方法 | |
WO2009007965A2 (en) | Routing methods for multiple geographical entities | |
CN104767642B (zh) | 基于gis平台的odn配线管理方法及系统 | |
CN110321443A (zh) | 三维实景模型数据库构建方法、装置及数据服务系统 | |
González-Ramírez et al. | A hybrid metaheuristic approach to optimize the districting design of a parcel company | |
CN107341191A (zh) | 一种三维空间的多尺度整数化编码方法和装置 | |
CN108256969A (zh) | 一种公共自行车租赁点调度区域划分方法 | |
Vin et al. | A multiple-objective grouping genetic algorithm for the cell formation problem with alternative routings | |
CN109343945A (zh) | 一种基于合同网算法的多任务动态分配方法 | |
CN107196806A (zh) | 基于子图辐射的拓扑临近匹配虚拟网络映射方法 | |
CN108764510B (zh) | 面向大规模路网的城市轨道交通并行仿真任务分解方法 | |
CN104125582A (zh) | 一种规划通信网络的方法 | |
CN109858698A (zh) | 目标区域的车辆供需优化方法、装置、设备及存储介质 | |
CN114048204A (zh) | 基于数据库倒排索引的北斗网格空间索引方法和装置 | |
Chen et al. | A modified harmony search algorithm for solving the dynamic vehicle routing problem with time windows | |
CN114727353A (zh) | 基于遗传算法的移动机会传感器网络自适应信息传输方法 | |
CN110689174A (zh) | 基于公共交通的人员路线规划方法及装置 | |
Guo et al. | Max-flow rate priority algorithm for evacuation route planning | |
CN102420812A (zh) | 一种支持分布并行处理的Web服务自动QoS组合方法 | |
Hababeh et al. | A method for fragment allocation design in the distributed database systems | |
CN102223385A (zh) | 一种基于多智能体的网格gis资源管理系统 | |
Pardalos et al. | Combinatorial and global optimization | |
CN107155215A (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210928 Address after: 100089 building 36, courtyard 8, Dongbeiwang West Road, Haidian District, Beijing Patentee after: Dawning Information Industry (Beijing) Co.,Ltd. Patentee after: ZHONGKE SUGON INFORMATION INDUSTRY CHENGDU Co.,Ltd. Address before: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing Patentee before: Dawning Information Industry (Beijing) Co.,Ltd. |