作业调度方法和装置、计算机机群、计算机可读存储介质_第1页
作业调度方法和装置、计算机机群、计算机可读存储介质_第2页
作业调度方法和装置、计算机机群、计算机可读存储介质_第3页
作业调度方法和装置、计算机机群、计算机可读存储介质_第4页
作业调度方法和装置、计算机机群、计算机可读存储介质_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号CN114217920A

(43)申请公布日2022.03.22

(21)申请号202111353082.4

(22)申请日2021.11.16

(71)申请人曙光信息产业(北京)有限公司

地址100089北京市海淀区东北旺西路8号

院36号楼

(72)发明人苏勇李博万伟

(74)专利代理机构华进联合专利商标代理有限

公司44224

代理人赖远龙

(51)Int.CI.

G06F9/48(2006.01)

G06F9/50(2006.01)

H04L67/5/(2022.01)

权利要求书2页说明书20页附图6页

(54)发明名称

作业调度方法和装置、计算机机群、计算机

可读存储介质

(57)摘要〜320

本申请涉及一种作业调度方法和装置、计算

机机群、计算机可读存储介质,计算机机群包括

至少两个不同通信带宽的机群,各机群包括多个

同一通信带宽的计算节点。该方法包括:获取待

处理业务的服务级别;服务级别用于表征待处理

业务调用计算机机群中不同通信带宽的计算节

点的优先级顺序;获取计算机机群的多条通信链

路;多条通信链路包括多个不同通信带宽的计算

节点;根据待处理业务所需的计算节点数目、待

处理业务的服务级别,从多条通信链路中确定目

标通信链路,将待处理业务分配至目标通信链路

V上的计算节点进行执行。实现了在不同通信带宽

0

Z

6的机群之间进行作业调度,进而也实现了大规模

Z

I

Z机群作业的优化。

I寸

I

g

CN114217920A权利要求书1/2页

1.一种作业调度方法,其特征在于,应用于计算机机群,所述计算机机群包括至少两个

不同通信带宽的机群,各所述机群包括多个同一通信带宽的计算节点;所述方法包括:

获取待处理业务的服务级别;所述服务级别用于表征所述待处理业务调用所述计算机

机群中不同通信带宽的计算节点的优先级顺序;

获取所述计算机机群的多条通信链路;所述多条通信链路包括从所述不同通信带宽的

机群中所获取的多个不同通信带宽的计算节点;

根据所述待处理业务所需的计算节点数目、所述待处理业务的服务级别,从所述多条

通信链路中确定目标通信链路,将所述待处理业务分配至所述目标通信链路上的计算节点

进行执行。

2.根据权利要求1所述的作业调度方法,其特征在于,所述方法还包括:

在所述计算机机群中,预先遍历所述至少两个不同通信带宽的机群的网络拓扑结构,

对所述网络拓扑结构进行解析生成多条通信链路。

3.根据权利要求2所述的作业调度方法,其特征在于,所述在所述计算机机群中,预先

遍历所述至少两个不同通信带宽的机群的网络拓扑结构,对所述网络拓扑结构进行解析生

成多条通信链路,包括:

在所述计算机机群中,从预设根节点开始遍历所述至少两个不同通信带宽的机群的网

络拓扑结构,获取所述至少两个不同通信带宽的机群中的网络设备;

获取所述网络设备的端口连接关系,基于所述网络设备、所述网络设备的端口连接关

系构建所述计算机机群的网络拓扑结构;

遍历所述计算机机群的网络拓扑结构,对所述网络拓扑结构进行解析生成多条通信链

路;所述通信链路包括从源节点到目标节点之间的网络设备及所述网络设备之间的链路信

,息、。

4.根据权利要求3所述的作业调度方法,其特征在于,所述方法还包括:

若所述计算机机群发生更新,则从预设根节点重新开始遍历所述计算机机群,获取所

述计算机机群中的网络设备;

获取所述网络设备的端口连接关系,基于所述网络设备、所述网络设备的端口连接关

系重新构建所述计算机机群的新的网络拓扑结构;

遍历所述计算机机群的新的网络拓扑结构,对所述新的网络拓扑结构进行解析生成多

条新的通信链路。

5.根据权利要求1所述的作业调度方法,其特征在于,所述根据所述待处理业务所需的

计算节点数目、所述待处理业务的服务级别,从所述多条通信链路中确定目标通信链路,包

括:

获取所述待处理业务所需的计算节点数目;

根据所述待处理业务所需的计算节点数目,从所述多条通信链路中确定候选通信链

路;所述候选通信链路所包含的计算节点的数目与所述待处理业务所需的计算节点数目相

同;

计算所述候选通信链路的带宽资源代价;

根据所述待处理业务的服务级别及所述候选通信链路的带宽资源代价,从所述候选通

信链路中确定所述带宽资源代价与所述服务级别相匹配的目标通信链路。

2

CN114217920A权利要求书2/2页

6.根据权利要求1所述的作业调度方法,其特征在于,所述获取待处理业务的服务级

别,包括:

获取所述待处理业务的通信带宽需求;

根据所述待处理业务的通信带宽需求,确定所述待处理业务的服务级别。

7.根据权利要求1所述的作业调度方法,其特征在于,所述方法还包括:

获取所述待处理业务的数据通信特征;

根据所述待处理业务的数据通信特征,确定所述待处理业务的流量类型;

所述根据所述待处理业务所需的计算节点数目、所述待处理业务的服务级别,从所述

多条通信链路中确定目标通信链路,将所述待处理业务分配至所述目标通信链路上的计算

节点进行执行,包括:

根据所述待处理业务所需的计算节点数目、所述待处理业务的服务级别及所述待处理

业务的流量类型,从所述多条通信链路中确定目标通信链路,将所述待处理业务分配至所

述目标通信链路上的计算节点进行执行。

8.根据权利要求1所述的作业调度方法,其特征在于,所述多个不同通信带宽的机群包

括第一机群、第二机群及第三机群;

所述第一机群中包括多个第一通信带宽的计算节点;所述第二机群中包括多个第二通

信带宽的计算节点;所述第三机群中包括多个第三通信带宽的计算节点;所述第一通信带

宽小于所述第二通信带宽,所述第二通信带宽小于所述第三通信带宽。

9.一种作业调度装置,其特征在于,应用于计算机机群,所述计算机机群包括至少两个

不同通信带宽的机群,各所述机群包括多个同一通信带宽的计算节点;所述装置包括:

服务级别获取模块,用于获取待处理业务的服务级别;所述服务级别用于表征所述待

处理业务调用所述计算机机群中不同通信带宽的计算节点的优先级顺序;

通信链路获取模块,用于获取所述计算机机群的多条通信链路;所述多条通信链路包

括从所述不同通信带宽的机群中所获取的多个不同通信带宽的计算节点;

目标通信链路确定模块,用于根据所述待处理业务所需的计算节点数目、所述待处理

业务的服务级别,从所述多条通信链路中确定目标通信链路,将所述待处理业务分配至所

述目标通信链路上的计算节点进行执行。

10.一种计算机机群,包括存储器及处理器,所述存储器中储存有计算机程序,其特征

在于,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至8中任一

项所述的作业调度方法的步骤。

11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序

被处理器执行时实现如权利要求1至8中任一项所述的作业调度方法的步骤。

3

CN114217920A说明书1/20页

作业调度方法和装置'计算机机群'计算机可读存储介质

技术领域

[0001]本申请涉及计算机技术领域,特别是涉及一种作业调度方法和装置、计算机机群、

计算机可读存储介质。

背景技术

[0002]随着互联网技术的快速发展,网络设备也得到了快速地发展,随之出现了各种各

样高性能的网络设备。

[0003]数据中心(DataCenter)通常是指在一个物理空间内实现信息的集中处理、存储、

传输、交换、管理的场所,由位于同一个机房的一个或者多个机群组成。机群是由众多服务

器或工作站(workstation)通过高速网络连接起来构成的计算机系统,构成机群的服务器

或工作站被称为节点。

[0004]近年来,互联网应用发展迅速,呈现出应用类型多,应用规模大(活跃用户量、访问

量和业务数据量)等特征,使得支撑互联网应用的数据中心规模急剧扩大,由几百台、几千

台扩展至几万台甚至是几十万台规模。

[0005]为了构建更大规模的数据中心,一般会在早期的机群系统的基础上进行扩展,而

早期的机群系统中的机群的通信带宽一般较低,后期的机群系统中的机群的通信带宽一般

较高。因此,基于早期的机群系统的基础上进行扩展所形成的数据中心,会存在多个不同通

信带宽的机群共存的情况。

[0006]由于扩展后的数据中心中包括多个不同通信带宽的机群,因此,针对多个不同通

信带宽的机群共存的数据中心,现有的作业调度系统,不能在整个机群范围内进行作业调

度,实现大规模机群作业的优化。

发明内容

[0007]本申请实施例提供了一种作业调度方法和装置、计算机机群、计算机可读存储介

质,能够实现在不同通信带宽的机群之间进行作业调度,进而也实现了大规模机群作业的

优化。

[0008]在其中一个实施例中,提供了一种作业调度方法,应用于计算机机群,所述计算机

机群包括至少两个不同通信带宽的机群,各所述机群包括多个同一通信带宽的计算节点;

所述方法包括:

[0009]获取待处理业务的服务级别;所述服务级别用于表征所述待处理业务调用所述计

算机机群中不同通信带宽的计算节点的优先级顺序;

[0010]获取所述计算机机群的多条通信链路;所述多条通信链路包括从所述不同通信带

宽的机群中所获取的多个不同通信带宽的计算节点;

[0011]根据所述待处理业务所需的计算节点数目、所述待处理业务的服务级别,从所述

多条通信链路中确定目标通信链路,将所述待处理业务分配至所述目标通信链路上的计算

节点进行执行。

4

CN114217920A说明书2/20页

[0012]本申请实施例中,首先,获取待处理业务的服务级别。其次,预先获取计算机机群

的多条通信链路,多条通信链路包括从不同通信带宽的机群中所获取的多个不同通信带宽

的计算节点。最后,根据待处理业务所需的计算节点数目、待处理业务的服务级别,按照待

处理业务调用计算机机群中不同通信带宽的计算节点的优先级顺序,从多条通信链路中确

定目标通信链路,将待处理业务分配至目标通信链路上的计算节点进行执行o如此,就实现

了在不同通信带宽的机群之间进行作业调度,进而也实现了大规模机群作业的优化。

[0013]在其中一个实施例中,所述方法还包括:

[0014]在所述计算机机群中,预先遍历所述至少两个不同通信带宽的机群的网络拓扑结

构,对所述网络拓扑结构进行解析生成多条通信链路。

[0015]本申请实施例中,在后续进行作业调度时,可以基于作业所需的通信带宽需求,从

至少两个不同通信带宽的机群中的多条通信链路里面筛选出匹配的通信链路。

[0016]在其中一个实施例中,所述在所述计算机机群中,预先遍历所述至少两个不同通

信带宽的机群的网络拓扑结构,对所述网络拓扑结构进行解析生成多条通信链路,包括:

[0017]在所述计算机机群中,从预设根节点开始遍历所述至少两个不同通信带宽的机群

的网络拓扑结构,获取所述至少两个不同通信带宽的机群中的网络设备;

[0018]获取所述网络设备的端口连接关系,基于所述网络设备、所述网络设备的端口连

接关系构建所述计算机机群的网络拓扑结构;

[0019]遍历所述计算机机群的网络拓扑结构,对所述网络拓扑结构进行解析生成多条通

信链路;所述通信链路包括从源节点到目标节点之间的网络设备及所述网络设备之间的链

路信息。

[0020]本申请实施例中,针对至少两个不同通信带宽的计算机机群,通过网络拓扑结构

发现的过程可以获取计算机机群中的网络设备。然后,再基于所获取的网络设备,构建计算

机机群的网络拓扑结构。最后,遍历计算机机群的网络拓扑结构,对网络拓扑结构进行解析

生成多条通信链路。如此,就实现了在不同通信带宽的计算机机群中解析出了多条通信链

路,以便在不同通信带宽的机群之间进行作业调度,进而也实现了大规模机群作业的优化。

[0021]在其中一个实施例中,所述方法还包括:

[0022]若所述计算机机群发生更新,则从预设根节点重新开始遍历所述计算机机群,获

取所述计算机机群中的网络设备;

[0023]获取所述网络设备的端口连接关系,基于所述网络设备、所述网络设备的端口连

接关系重新构建所述计算机机群的新的网络拓扑结构;

[0024]遍历所述计算机机群的新的网络拓扑结构,对所述新的网络拓扑结构进行解析生

成多条新的通信链路。

[0025]本申请实施例中,若具有不同通信带宽的计算机机群发生更新,也依然可以及时

从新的计算机机群中解析出了多条通信链路,以便在新的计算机机群之间进行作业调度,

进而实现了大规模机群作业的优化。

[0026]在其中一个实施例中,所述根据所述待处理业务所需的计算节点数目、所述待处

理业务的服务级别,从所述多条通信链路中确定目标通信链路,包括:

[0027]获取所述待处理业务所需的计算节点数目;

[0028]根据所述待处理业务所需的计算节点数目,从所述多条通信链路中确定候选通信

5

CN114217920A说明书3/20页

链路;所述候选通信链路所包含的计算节点的数目与所述待处理业务所需的计算节点数目

相同;

[0029]计算所述候选通信链路的带宽资源代价;

[0030]根据所述待处理业务的服务级别及所述候选通信链路的带宽资源代价,从所述候

选通信链路中确定所述带宽资源代价与所述服务级别相匹配的目标通信链路。

[0031]本申请实施例中,针对各候选通信链路,首先计算候选通信链路的带宽资源代价,

然后,再结合待处理业务的服务级别及候选通信链路的带宽资源代价,从候选通信链路中

为待处理业务分配目标通信链路。如此,通过将带宽资源代价与服务级别进行匹配,就能够

实现在不同通信带宽的计算机机群之间进行资源分配。也就实现了在不同通信带宽的机群

之间进行作业调度,进而也实现了大规模机群作业的优化。

[0032]在其中一个实施例中,所述获取待处理业务的服务级别,包括:

[0033]获取所述待处理业务的通信带宽需求;

[0034]根据所述待处理业务的通信带宽需求,确定所述待处理业务的服务级别。

[0035]本申请实施例中,基于通信带宽需求确定了待处理业务的服务级别之后,后续就

可以基于待处理业务的服务级别从计算进机群中的多条通信链路中确定目标通信链路。并

将待处理业务分配至目标通信链路上的计算节点进行执行,就实现了在不同通信带宽的机

群之间进行作业调度,进而也实现了大规模机群作业的优化。

[0036]在其中一个实施例中,所述方法还包括:

[0037]获取所述待处理业务的数据通信特征;

[0038]根据所述待处理业务的数据通信特征,确定所述待处理业务的流量类型;

[0039]所述根据所述待处理业务所需的计算节点数目、所述待处理业务的服务级别,从

所述多条通信链路中确定目标通信链路,将所述待处理业务分配至所述目标通信链路上的

计算节点进行执行,包括:

[0040]根据所述待处理业务所需的计算节点数目、所述待处理业务的服务级别及所述待

处理业务的流量类型,从所述多条通信链路中确定目标通信链路,将所述待处理业务分配

至所述目标通信链路上的计算节点进行执行。

[0041]本申请实施例中,因为各候选通信链路中包括不同通信带宽的计算机机群中的计

算节点,所以,同样数目的计算节点所能够提供的带宽资源代价是不同的。因此,针对各候

选通信链路,首先计算候选通信链路的带宽资源代价,然后,再结合待处理业务的服务级别

及候选通信链路的带宽资源代价,从候选通信链路中为待处理业务分配目标通信链路。

[0042]在其中一个实施例中,所述多个不同通信带宽的机群包括第一机群、第二机群及

第三机群;

[0043]所述第一机群中包括多个第一通信带宽的计算节点;所述第二机群中包括多个第

二通信带宽的计算节点;所述第三机群中包括多个第三通信带宽的计算节点;所述第一通

信带宽小于所述第二通信带宽,所述第二通信带宽小于所述第三通信带宽。

[0044]本申请实施例中,本申请中的作业调度方法,应用于包括至少两个不同通信带宽

的计算机机群。其中,至少两个不同通信带宽的机群包括早期的FDR机群、EDR机群及新的

HDR机群。因此,本申请中的作业调度方法,应用于包括早期的FDR机群、EDR机群及新的HDR

机群的计算机机群。从而,实现了在早期机群的基础上,及时引进新的机群对计算机机群进

6

CN114217920A说明书4/20页

行扩展,以满足快速增长的计算需求。且通过本申请中的作用调度方法,能够实现在不同通

信带宽的机群之间进行作业调度,提高了计算机机群中资源的利用率。

[0045]在其中一个实施例中,提供了一种作业调度装置,应用于计算机机群,所述计算机

机群包括至少两个不同通信带宽的机群,各所述机群包括多个同一通信带宽的计算节点;

所述装置包括:

[0046]服务级别获取模块,用于获取待处理业务的服务级别;所述服务级别用于表征所

述待处理业务调用所述计算机机群中不同通信带宽的计算节点的优先级顺序;

[0047]通信链路获取模块,用于获取所述计算机机群的多条通信链路;所述多条通信链

路包括从所述不同通信带宽的机群中所获取的多个不同通信带宽的计算节点;

[0048]目标通信链路确定模块,用于根据所述待处理业务所需的计算节点数目、所述待

处理业务的服务级别,从所述多条通信链路中确定目标通信链路,将所述待处理业务分配

至所述目标通信链路上的计算节点进行执行。

[0049]一种计算机机群,包括存储器及处理器,所述存储器中储存有计算机程序,所述计

算机程序被所述处理器执行时,使得所述处理器执行如上所述的作业调度方法的步骤。

[0050]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执

行时实现如上所述的作业调度方法的步骤。

[0051]一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上

所述的作业调度方法的步骤。

[0052]上述作业调度方法和装置、计算机机群、计算机可读存储介质,计算机机群包括至

少两个不同通信带宽的机群,各机群包括多个同一通信带宽的计算节点。该方法包括:获取

待处理业务的服务级别;服务级别用于表征待处理业务调用计算机机群中不同通信带宽的

计算节点的优先级顺序;获取计算机机群的多条通信链路;多条通信链路包括多个不同通

信带宽的计算节点;根据待处理业务所需的计算节点数目、待处理业务的服务级别,从多条

通信链路中确定目标通信链路,将待处理业务分配至目标通信链路上的计算节点进行执

行。

[0053]传统的作业调度方法,仅能够在同一通信带宽的机群内部进行作业调度。而本申

请中的计算机机群包括至少两个不同通信带宽的机群,且各机群包括多个同一通信带宽的

计算节点。因此,为了实现在不同通信带宽的机群之间进行作业调度,首先,获取待处理业

务的服务级别。其次,预先获取计算机机群的多条通信链路,多条通信链路包括从不同通信

带宽的机群中所获取的多个不同通信带宽的计算节点。最后,根据待处理业务所需的计算

节点数目、待处理业务的服务级别,按照待处理业务调用计算机机群中不同通信带宽的计

算节点的优先级顺序,从多条通信链路中确定目标通信链路,将待处理业务分配至目标通

信链路上的计算节点进行执行。如此,就实现了在不同通信带宽的机群之间进行作业调度,

进而也实现了大规模机群作业的优化。

附图说明

[0054]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现

有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本

申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以

7

CN114217920A说明书5/20页

根据这些附图获得其他的附图。

[0055]图1为一个实施例中传统的计算机机群的结构示意图;

[0056]图2为一个实施例中作业调度方法的应用场景图;

[0057]图3为一个实施例中作业调度方法的流程图;

[0058]图4为一个实施例中在计算机机群中,预先遍历至少两个不同通信带宽的机群的

网络拓扑结构,对网络拓扑结构进行解析生成多条通信链路方法的示意图;

[0059]图5为一个实施例中拓扑发现过程的流程示意图;

[0060]图6为图3中根据待处理业务所需的计算节点数目、待处理业务的服务级别,从多

条通信链路中确定目标通信链路方法的流程图;

[0061]图7为另一个实施例中作业调度方法的流程图;

[0062]图8为一个具体的实施例中作业调度方法的示意图;

[0063]图9为一个实施例中作业调度装置的结构框图;

[0064]图10为另一个实施例中作业调度装置的结构框图;

[0065]图11为一个实施例中服务器的内部结构示意图。

具体实施方式

[0066]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对

本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并

不用于限定本申请。

[0067]近年来,互联网应用发展迅速,呈现出应用类型多,应用规模大(活跃用户量、访问

量和业务数据量)等特征,使得支撑互联网应用的数据中心规模急剧扩大,由几百台、几千

台扩展至几万台甚至是几十万台规模。

[0068]为了构建更大规模的数据中心,一般会在早期的机群系统的基础上进行扩展,而

早期的机群系统中的机群的通信带宽一般较低,后期的机群系统中的机群的通信带宽一般

较高。因此,基于早期的机群系统的基础上进行扩展所形成的数据中心,会存在多个不同通

信带宽的机群共存的情况。

[0069]传统的作业调度方法,仅能够在同一通信带宽的机群内部进行作业调度。由于扩

展后的数据中心中包括多个不同通信带宽的机群,因此,针对多个不同通信带宽的机群共

存的数据中心,传统的作业调度方法,不能在整个机群范围内进行作业调度,实现大规模机

群作业的优化。

[0070]例如,以网络标准infiniband为例,通信带宽从早期的FDR机群中的计算节点的

56Gbps(每秒传输56X109比特数据),提升到EDR机群中的计算节点的lOOGbps,而最新的

HDR机群则可提供200Gbps的高速通信带宽。为了构建更大规模的计算机机群系统,许多数

据中心会在早期的机群系统的基础上进行扩展,于是许多数据中心存在FDR/EDR/HDR机群

这些各种时代产品共存的情况。

[0071]如图1所示,为包括3个独立的FDR/EDR/HDR机群的计算机机群的结构示意图。该计

算机机群包括1个FDR的机群-FDRCluster(一期建设)、1个EDR机群-EDRCluster(二期建

设)及1个HDR机群-HDRCluster(三期建设)。传统的作业调度方法,例如,slrum(Simple

LinuxUtilityforResourceManagement)资源管理系统,仅能够在同一通信带宽的机群

8

CN114217920A说明书6/20页

内部进行作业调度,不能在不同通信带宽的机群之间进行作业调度。其中,Rack指的是机

柜,机柜中包括通过交换机连接的多个计算节点。其中,SW(switch)指的是交换机。这里,计

算节点可以是服务器或终端设备,其中,终端设备可以是台式机电脑、笔记本电脑、平板电

脑、PDA(PersonalDigitalAssistant,个人数字助理)等终端设备,本申请对此不做限

定。

[0072]为了解决这个问题,本申请中提出了一种新的作业调度方法。图2为一个实施例中

作业调度方法的应用场景图,为包括通过网络连接的FDR/EDR/HDR机群的计算机机群的示

意图。通过增加部分HDR交换机208将3个二层胖树网络连接为一个三层胖树网络210。这里,

3个二层胖树网络分别指的是图2中的3个独立的FDR机群202、EDR机群204及HDR机群206。

其中,SystemCluster指的是通过网络连接的FDR/EDR/HDR机群的计算机机群,具体指三层

胖树网络210。

[0073]因此,本申请实施例中提出了一种作业调度方法,可以在如图2所示的计算机机群

中进行作业调度,实现在不同通信带宽的机群之间进行作业调度,进而也实现了大规模机

群作业的优化。图3为一个实施例中作业调度方法的流程图。应用于计算机机群,计算机机

群包括至少两个不同通信带宽的机群,各机群包括多个同一通信带宽的计算节点,该方法

包括以下步骤320至步骤360,其中,

[0074]步骤320,获取待处理业务的服务级别;服务级别用于表征待处理业务调用计算机

机群中不同通信带宽的计算节点的优先级顺序。

[0075]每个应用在运行过程中,实际是在执行多个不同的业务。这里,待处理业务包括通

过计算机机群运行应用时,所执行的多种业务,具体可以是计算业务等,本申请对此不做限

定。

[0076]其中,待处理业务的服务级别与待处理业务的通信带宽需求相关。例如,待处理业

务主要用于发送较大的数据包,则待处理业务对通信带宽的需求较大,同时预先为待处理

业务设置较高的服务级别;待处理业务主要用于发送较小的数据包,则待处理业务对通信

带宽的需求较小,同时预先为待处理业务设置较低的服务级别。基于每个待处理业务及该

待处理业务的服务级别建立数据表,该数据表中存储了每个待处理业务及该待处理业务的

服务级别的对应关系。

[0077]其中,服务级别用于表征待处理业务调用计算机机群中不同通信带宽的计算节点

的优先级顺序。即服务级别越高的待处理业务,调用计算机机群中通信带宽大的计算节点

的优先级顺序越高,即可以优先调用计算机机群中通信带宽大的计算节点。例如,可以为待

处理业务设置五级优先级,包括第1级、第2级、第3级、第4级及第5级。其中,以上五级的优先

级顺序依次降低。即处于第1级的待处理业务调用计算机机群中通信带宽大的计算节点的

优先级顺序最高,处于第2级的待处理业务调用计算机机群中通信带宽大的计算节点的优

先级顺序次之,依次类推,处于第5级的待处理业务调用计算机机群中通信带宽大的计算节

点的优先级顺序最低。

[0078]因此,在进行作业调度时,首先,就可以直接从该数据表中获取预先为待处理业务

所设置的服务级别。并在获取了待处理业务的服务级别之后,就可以确定待处理业务调用

计算机机群中通信带宽大的计算节点的优先级顺序。以便后续根据该优先级顺序调用计算

机机群中不同的通信链路,这里,不同的通信链路可以提供不同的通信带宽。

9

CN114217920A说明书7/20页

[0079]步骤340,获取计算机机群的多条通信链路;多条通信链路包括从不同通信带宽的

机群中所获取的多个不同通信带宽的计算节点。

[0080]在进行作业调度时,首先,就可以直接从该数据表中获取预先为待处理业务所设

置的服务级别。其次,获取计算机机群的多条通信链路。其中,每个计算机机群都有特定的

网络拓扑结构,基于该计算机机群特定的网络拓扑结构,从根节点(源节点)开始遍历整个

网络拓扑结构就可以得到多条通信链路。

[0081]由于计算机机群包括至少两个不同通信带宽的机群,各机群包括多个同一通信带

宽的计算节点。因此,为了提高不同通信带宽的机群中计算节点的资源利用率,在预先从计

算机机群中获取通信链路时,可以分别从不同的通信带宽的机群中获取多个不同通信带宽

的计算节点,基于这些多个不同通信带宽的计算节点得到通信链路。从而,就可以形成多种

多样、包含不同节点数目且不同通信带宽的通信链路。

[0082]其中,每条通信链路均包括源节点、目标节点及从源节点到目标节点之间的网络

设备及各网络设备之间的链路信息。

[0083]步骤360,根据待处理业务所需的计算节点数目、待处理业务的服务级别,从多条

通信链路中确定目标通信链路,将待处理业务分配至目标通信链路上的计算节点进行执

行。

[0084]获取待处理业务所需的计算节点数目,其中,待处理业务所需的计算节点数目可

以是根据预设经验所设置的计算节点数目,或根据待处理业务的计算量大小来设置。例如,

A业务所需的计算节点数目为200个。

[0085]然后,就可以根据待处理业务所需的计算节点数目、待处理业务的服务级别,从多

条通信链路中确定目标通信链路。具体的,从该计算机机群的多条通信链路中,确定与待处

理业务所需的计算节点数目一致、与待处理业务的服务级别匹配的目标通信链路。换言之,

目标通信链路所包含的计算节点数目与待处理业务所需的计算节点数目一致,且目标通信

链路适配的服务级别与待处理业务的服务级别一致。

[0086]最后,将待处理业务分配至目标通信链路上的计算节点依次进行执行。

[0087]传统的作业调度方法,仅能够在同一通信带宽的机群内部进行作业调度。而本申

请中的计算机机群包括至少两个不同通信带宽的机群,且各机群包括多个同一通信带宽的

计算节点。因此,为了实现在不同通信带宽的机群之间进行作业调度,本申请实施例中,首

先,获取待处理业务的服务级别。其次,预先获取计算机机群的多条通信链路,多条通信链

路包括从不同通信带宽的机群中所获取的多个不同通信带宽的计算节点。最后,根据待处

理业务所需的计算节点数目、待处理业务的服务级别,按照待处理业务调用计算机机群中

不同通信带宽的计算节点的优先级顺序,从多条通信链路中确定目标通信链路,将待处理

业务分配至目标通信链路上的计算节点进行执行。如此,就实现了在不同通信带宽的机群

之间进行作业调度,进而也实现了大规模机群作业的优化。

[0088]在一个实施例中,提供了一种作业调度方法,还包括:

[0089]在计算机机群中,预先遍历至少两个不同通信带宽的机群的网络拓扑结构,对网

络拓扑结构进行解析生成多条通信链路。

[0090]具体的,针对每个计算机机群,在进行作业调度之前,需要预先遍历至少两个不同

通信带宽的机群的网络拓扑结构,对网络拓扑结构进行解析生成多条通信链路。以便后续

10

CN114217920A说明书8/20页

在进行作业调度时,可以从至少两个不同通信带宽的机群中的多条通信链路里面筛选出匹

配的通信链路。

[0091]其中,网络拓扑结构是指用传输介质互连各种设备的物理布局。网络中的计算机

等设备要实现互联,就需要以一定的结构方式进行连接,这种连接方式就叫做“拓扑结构”,

通俗地讲就是这些网络设备是如何连接在一起的。常见的网络拓扑结构主要有:总线型结

构、环形结构、星形结构、树形结构和网状结构等。

[0092]首先,需要遍历整个计算机机群,构建计算机机群的网络拓扑结构。然后,就可以

对计算机机群的网络拓扑结构进行解析,生成多条通信链路。具体的,在预先从计算机机群

的网络拓扑结构中解析出通信链路时,可以分别从不同的通信带宽的机群中获取多个不同

通信带宽的计算节点,基于这些多个不同通信带宽的计算节点得到通信链路。从而,就可以

形成多种多样、包含不同节点数目且不同通信带宽的通信链路。其中,每条通信链路包括多

个网络设备及网络设备之间的链路信息(即连接信息)。

[0093]其中,对网络拓扑结构进行解析指的是需要将所收集到的网络拓扑结构转化为作

业调度系统可识别的形式,汇总为各个源节点到目标节点的链路信息,使现有调度系统可

据此进行后续的资源分配。例如,以下为对计算机机群的网络拓扑结构进行解析,生成作业

调度系统可识别的多条通信链路的形式的示例:

[0094]Fromca{0xe612c24004120191}portnumHid82-82"L44HCA-2”

[0095][l]->switchport{0xlc34da03005127f4}[9]lid66-66/,SW200-R0-G0L0/,

/,,/

[0096][36]->switchPort{0xlc34da03006082c4}[26]lid62-62SW200-R0-G0Rl

[0097][34]->switchport{0xlc34da0300608244}[24]lid54-54^200-RO-GOLI"

[0098][H]->caport{Oxe612c24004120481}[1]lid44-44"L19HCA-2”

[0099]Toca{0xe612c24004120481}portnumHid44-44"L19HCA-2”

[0100]该通信链路的根节点为:计算节点L44中的HCA-2(编号为2的网卡)。该HCA-2的

LID(本地标识)为82。

[0101]然后,该完整的通信链路具体为:

[0102]从该根节点HCA-2的第1端口,指向设备名称为“SW200-R0-G0L0”的路由器的第9端

口,该路由器”SW200-R0-G0L0”的设备GUID为{0xlc34da03005127f4};该路由器”SW200-

RO-GOLO”的LID(本地标识)为66;

[0103]从路由器“SW200-R0-G0L0”的第36端口指向设备名称为"SW200-R0-G0R1”的路由

器的第26端口,该路由器“SW200-R0-G0R1”的设备GUID为{0xlc34da03006082c4};该路由器

“SW200-R0-G0R1”的LID(本地标识)为62;

[0104]从路由器“SW200-R0-G0R1”的第34端口,指向设备名称为“SW200-R0-G0L1”的路由

器的第24端口,该路由器“SW200-R0-G0L1”的设备GUID为{0xlc34da0300608244};该路由器

“SW200-R0-G0L1”的LID(本地标识)为54;

[0105]从路由器“SW200-R0-G0L1”的第11端口,指向计算节点L19中的HCA-2(编号为2的

网卡)。该HCA-2的LID(本地标识)为44。

[0106]至此,该通信链路的末端节点为:计算节点L19中的HCA-2(编号为2的网卡)。

[0107]如此,在后续根据所述待处理业务所需的计算节点数目、所述待处理业务的服务

级别,从所述多条通信链路中确定目标通信链路时,就可以直接从这些预先建立的通信链

11

CN114217920A说明书9/20页

路中直接确定。由于这些通信链路是从所述多个不同通信带宽的机群中所获取的,因此,就

可以实现在不同通信带宽的机群之间进行作业调度,进而也实现了大规模机群作业的优

化。

[0108]本申请实施例中,针对每个计算机机群,在进行作业调度之前,需要在计算机机群

中,预先遍历至少两个不同通信带宽的机群的网络拓扑结构,对网络拓扑结构进行解析生

成多条通信链路。且这些通信链路中包括多个不同通信带宽的计算节点。因此,在后续进行

作业调度时,可以基于作业所需的通信带宽需求,从至少两个不同通信带宽的机群中的多

条通信链路里面筛选出匹配的通信链路。

[0109]在一个实施例中,如图4所示,在计算机机群中,预先遍历至少两个不同通信带宽

的机群的网络拓扑结构,对网络拓扑结构进行解析生成多条通信链路,包括:

[0110]步骤420,在计算机机群中,从预设根节点开始遍历至少两个不同通信带宽的机群

的网络拓扑结构,获取至少两个不同通信带宽的机群中的网络设备。

tom]在预先对计算机机群的网络拓扑结构进行解析,生成多条通信链路时,首先,进行

网络拓扑结构发现,即在计算机机群中,从预设根节点开始遍历至少两个不同通信带宽的

机群的网络拓扑结构,获取至少两个不同通信带宽的机群中的网络设备。即在计算机机群

中,从预设根节点开始寻找与该预设根节点的端口相连的下一个网络设备,基于该网络设

备再寻找与该网络设备的端口相连的下一个网络设备,依次寻找下一个网络设备,就实现

了在计算机机群中,从预设根节点开始遍历至少两个不同通信带宽的机群的网络拓扑结

构,获取至少两个不同通信带宽的机群中的网络设备的过程。这里的网络设备包括网卡设

备及交换机设备等,本申请对此不做限定。

[0112]然后,在基于网络拓扑结构发现得到的网络设备,获取该网络设备之间的端口连

接关系。基于网络设备、网络设备的端口连接关系构建计算机机群的网络拓扑结构。最后,

就可以遍历计算机机群的网络拓扑结构,对网络拓扑结构进行解析生成多条通信链路。

[0113]其中,拓扑发现算法的具体流程为:

[0114]1.首先,通过检测函数检测算法所在的节点信息,将其作为根节点;

[0115]2.然后,通过检测函数从根节点开始对网络设备进行搜索,遍历全部网络:并返回

每个设备的相关信息(例如,设备名称,设备类型:FDR/EDR/HDR,全局唯一标识符GUID等);

[0116]3.再遍历每个节点的全部端口,将节点的全部相邻节点添加到节点列表,并获取

每个链路端口的端口类型和带宽信息,返回端口类型port_type和带宽信息port_

bandwidth;

[0117]4.通过函数建立设备信息,并根据设备类型识别设备是交换机设备还是网卡设

备;

[0118]5.再调用函数对拓扑发现的设备进行坐标赋值和命名,并将其加入网络拓扑结

构。

[0119]6.最后,调用函数来构建设备数组,将全部网络设备映射到设备数组,即可完成拓

扑发现的过程。

[0120]其中,如图6所示,为进行网络拓扑结构发现的过程的流程图,即在计算机机群中,

从预设根节点开始遍历至少两个不同通信带宽的机群的网络拓扑结构,获取至少两个不同

通信带宽的机群中的网络设备过程的流程图。其中,物理网络结构(Physical_Topology)是

12

CN114217920A说明书10/20页

指计算机机群中实际网络设备之间的连接关系,对应到某个交换机的某个端口连接到对端

的某个交换机的某个端口或者某个HCA(HostChannelAdapter)网卡的某个端口。逻辑网

络结构(Logical_Topology)是计算机机群中的作业调度系统可识别理解的逻辑形式,便

于进行作业调度。其中,物理网络结构与逻辑网络结构二者在对应关系上是完全一致的。将

所获取的网络设备数组,划分为网卡设备数组及交换机设备数组。

[0121]步骤440,获取网络设备的端口连接关系,基于网络设备、网络设备的端口连接关

系构建计算机机群的网络拓扑结构。

[0122]在进行网络拓扑结构发现,即在计算机机群中,从预设根节点开始遍历至少两个

不同通信带宽的机群的网络拓扑结构,获取至少两个不同通信带宽的机群中的网络设备之

后,构建网络拓扑结构。具体的,基于进行网络拓扑结构发现所得到的网络设备,遍历整个

计算机机群,梳理出每条链路的连接关系,即梳理出每条链路上的网络设备、网络设备的端

口连接关系,就可以基于网络设备、网络设备的端口连接关系构建计算机机群的网络拓扑

结构。

[0123]例如,可以以交换机为基础单位,构建每台交换机的端口连接关系列表

topology.list,该端口连接关系列表topology.list中包括交换机名称、设备类型、端口

号、端口类型、端口带宽等信息,以供在进行作业调度时进行解析拓扑结构。其中,端口连接

关系列表topology.list,具体如表1所示:

[0124]表1端口连接关系列表topology,list

设备命设备类对端设对端设备端口端口

设备名称设备GUID对端GUID

名型备名称类型类型带宽

SW-HDSW200-a0x98039b0300bSW200-0x98039b0300b

SwitchSwitchHDR200G

R-01Olrl7d6deR017d6ee

SW-EDSW100-C0xb8599f03005SW100-0xb8599f03003

SwitchSwitchEDR100G

R-0202r323df8R02f7f36

..............................................................

[0126]其中,全局唯一标识符(GUI中GloballyUniqueIdentifier)是一种由算法生成

的二进制长度为128位的数字标识符。

[0127]步骤460,遍历计算机机群的网络拓扑结构,对网络拓扑结构进行解析生成多条通

信链路;通信链路包括从源节点到目标节点之间的网络设备及网络设备之间的链路信息。

[0128]在计算机机群中,从预设根节点开始遍历至少两个不同通信带宽的机群的网络拓

扑结构,获取至少两个不同通信带宽的机群中的网络设备之后,构建了计算机机群的网络

拓扑结构。然后,遍历整个网络拓扑结构,对端口连接关系列表topology,list进行解析,生

成多条通信链路。即从源节点到目标节点,将网络设备基于网络设备之间的链路关系进行

连接起来。如下所示为所解析出的一条具体的通信链路1:

[0129]Fromca{0xe612c24004120191}portnum1lid82-82"L44HCA-2"

[0130][l]->switchport{0xlc34da03005127f4}[9]lid66-66,,SW200-R0-G0L0,/

[0131][36]->switchport{0xlc34da03006082c4}[26]lid62-62z,SW200-R0-G0Rl/,

[0132][34]->switchport{0xlc34da0300608244}[24]lid54-54^200-R0-GOLI"

[0133][H]->caport{Oxe612c24004120481}[1]lid44-44"L19HCA-2"

[0134]Toca{0xe612c24004120481}portnum1lid44-44"L19HCA-2"

[0135]对该通信链路的具体解释,可以参考上文中的描述,在此处不再赘述。其中,若根

13

CN114217920A说明书11/20页

据所述待处理业务所需的计算节点数目、所述待处理业务的服务级别,从所述多条通信链

路中确定目标通信链路为通信链路1,则将所述待处理业务分配至所述通信链路1进行执

行。即待处理业务依次由通信链路1上计算节点L44的网卡HCA-2、路由器“SW200-R0-G0L0”、

路由器”SW200-R0-G0R1"、路由器"SW200-R0-G0L1”、计算节点L19中的HCA-2进行执行,以完

成待处理业务的整个处理过程。

[0136]本申请实施例中,在计算机机群中,从预设根节点开始遍历至少两个不同通信带

宽的机群的网络拓扑结构,获取至少两个不同通信带宽的机群中的网络设备。获取网络设

备的端口连接关系,基于网络设备、网络设备的端口连接关系构建计算机机群的网络拓扑

结构。遍历计算机机群的网络拓扑结构,对网络拓扑结构进行解析生成多条通信链路;通信

链路包括从源节点到目标节点之间的网络设备及网络设备之间的链路信息。针对至少两个

不同通信带宽的计算机机群,通过网络拓扑结构发现的过程可以获取计算机机群中的网络

设备。然后,再基于所获取的网络设备,构建计算机机群的网络拓扑结构。最后,遍历计算机

机群的网络拓扑结构,对网络拓扑结构进行解析生成多条通信链路。如此,就实现了在不同

通信带宽的计算机机群中解析出了多条通信链路,以便在不同通信带宽的机群之间进行作

业调度,进而也实现了大规模机群作业的优化。

[0137]在一个实施例中,提供了一种作业调度方法,还包括:

[0138]若计算机机群发生更新,则从预设根节点重新开始遍历计算机机群,获取计算机

机群中的网络设备;

[0139]获取网络设备的端口连接关系,基于网络设备、网络设备的端口连接关系重新构

建计算机机群的新的网络拓扑结构;

[0140]遍历计算机机群的新的网络拓扑结构,对新的网络拓扑结构进行解析生成多条新

的通信链路。

[0141]具体的,计算机机群并不是一成不变的,计算机机群内部的网络设备会发生变更。

例如,在计算机机群中增加、减少或变更网络设备,均为计算机机群发生了更新的情况,本

申请对此不做限定。

[0142]若计算机机群发生更新时,首先,需要重新在计算机机群中,从预设根节点开始遍

历至少两个不同通信带宽的机群的网络拓扑结构,获取至少两个不同通信带宽的机群中的

网络设备。如图6所示,为进行网络拓扑结构发现的过程的流程图,即从预设根节点开始遍

历计算机机群,获取计算机机群中的网络设备过程的流程图。

[0143]其次,在进行网络拓扑结构发现,即在计算机机群中,从预设根节点开始遍历至少

两个不同通信带宽的机群的网络拓扑结构,获取至少两个不同通信带宽的机群中的网络设

备之后,构建网络拓扑结构。具体的,基于进行网络拓扑结构发现所得到的网络设备,遍历

整个计算机机群,梳理出每条链路的连接关系,即梳理出每条链路上的网络设备、网络设备

的端口连接关系,就可以基于网络设备、网络设备的端口连接关系构建计算机机群的网络

拓扑结构。

[0144]最后,遍历整个网络拓扑结构,对端口连接关系列表topology,list进行解析,生

成多条通信链路。即从源节点到目标节点,将网络设备基于网络设备之间的链路关系进行

连接起来。具体的解析算法,同上一个实施例中的记载,在此不再赘述。

[0145]本申请实施例中,若计算机机群发生更新,针对至少两个不同通信带宽的计算机

14

CN114217920A说明书12/20页

机群,通过网络拓扑结构发现的过程可以获取计算机机群中的网络设备。然后,再基于所获

取的网络设备,构建计算机机群的网络拓扑结构。最后,遍历计算机机群的网络拓扑结构,

对网络拓扑结构进行解析生成多条通信链路。如此,若具有不同通信带宽的计算机机群发

生更新,也依然可以及时从新的计算机机群中解析出了多条通信链路,以便在新的计算机

机群之间进行作业调度,进而实现了大规模机群作业的优化。

[0146]在一个实施例中,如图6所示,步骤360,根据待处理业务所需的计算节点数目、待

处理业务的服务级别,从多条通信链路中确定目标通信链路,包括:

[0147]步骤362,获取待处理业务所需的计算节点数目。

[0148]不同的业务的计算量是不同的,而不同的计算量显然所需的计算节点数目也是不

同的。一般计算量越大则所需的计算节点数目越多。因此,可以基于业务的不同计算量确定

该业务所需的计算节点数目。或者,预先对业务进行划分类型,针对不同类型的业务确定其

所需的计算节点数目。

[0149]由于预先确定了不同业务所需的计算节点数目,因此,在进行作业调度过程中,就

可以根据待处理业务获取到该待处

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论