一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

作业调度方法和装置、计算机机群、计算机可读存储介质与流程

2022-03-22 23:17:00 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别是涉及一种作业调度方法和装置、计算机机群、计算机可读存储介质。


背景技术:

2.随着互联网技术的快速发展,网络设备也得到了快速地发展,随之出现了各种各样高性能的网络设备。
3.数据中心(datacenter)通常是指在一个物理空间内实现信息的集中处理、存储、传输、交换、管理的场所,由位于同一个机房的一个或者多个机群组成。机群是由众多服务器或工作站(workstation)通过高速网络连接起来构成的计算机系统,构成机群的服务器或工作站被称为节点。
4.近年来,互联网应用发展迅速,呈现出应用类型多,应用规模大(活跃用户量、访问量和业务数据量)等特征,使得支撑互联网应用的数据中心规模急剧扩大,由几百台、几千台扩展至几万台甚至是几十万台规模。
5.为了构建更大规模的数据中心,一般会在早期的机群系统的基础上进行扩展,而早期的机群系统中的机群的通信带宽一般较低,后期的机群系统中的机群的通信带宽一般较高。因此,基于早期的机群系统的基础上进行扩展所形成的数据中心,会存在多个不同通信带宽的机群共存的情况。
6.由于扩展后的数据中心中包括多个不同通信带宽的机群,因此,针对多个不同通信带宽的机群共存的数据中心,现有的作业调度系统,不能在整个机群范围内进行作业调度,实现大规模机群作业的优化。


技术实现要素:

7.本技术实施例提供了一种作业调度方法和装置、计算机机群、计算机可读存储介质,能够实现在不同通信带宽的机群之间进行作业调度,进而也实现了大规模机群作业的优化。
8.在其中一个实施例中,提供了一种作业调度方法,应用于计算机机群,所述计算机机群包括至少两个不同通信带宽的机群,各所述机群包括多个同一通信带宽的计算节点;所述方法包括:
9.获取待处理业务的服务级别;所述服务级别用于表征所述待处理业务调用所述计算机机群中不同通信带宽的计算节点的优先级顺序;
10.获取所述计算机机群的多条通信链路;所述多条通信链路包括从所述不同通信带宽的机群中所获取的多个不同通信带宽的计算节点;
11.根据所述待处理业务所需的计算节点数目、所述待处理业务的服务级别,从所述多条通信链路中确定目标通信链路,将所述待处理业务分配至所述目标通信链路上的计算节点进行执行。
12.本技术实施例中,首先,获取待处理业务的服务级别。其次,预先获取计算机机群的多条通信链路,多条通信链路包括从不同通信带宽的机群中所获取的多个不同通信带宽的计算节点。最后,根据待处理业务所需的计算节点数目、待处理业务的服务级别,按照待处理业务调用计算机机群中不同通信带宽的计算节点的优先级顺序,从多条通信链路中确定目标通信链路,将待处理业务分配至目标通信链路上的计算节点进行执行。如此,就实现了在不同通信带宽的机群之间进行作业调度,进而也实现了大规模机群作业的优化。
13.在其中一个实施例中,所述方法还包括:
14.在所述计算机机群中,预先遍历所述至少两个不同通信带宽的机群的网络拓扑结构,对所述网络拓扑结构进行解析生成多条通信链路。
15.本技术实施例中,在后续进行作业调度时,可以基于作业所需的通信带宽需求,从至少两个不同通信带宽的机群中的多条通信链路里面筛选出匹配的通信链路。
16.在其中一个实施例中,所述在所述计算机机群中,预先遍历所述至少两个不同通信带宽的机群的网络拓扑结构,对所述网络拓扑结构进行解析生成多条通信链路,包括:
17.在所述计算机机群中,从预设根节点开始遍历所述至少两个不同通信带宽的机群的网络拓扑结构,获取所述至少两个不同通信带宽的机群中的网络设备;
18.获取所述网络设备的端口连接关系,基于所述网络设备、所述网络设备的端口连接关系构建所述计算机机群的网络拓扑结构;
19.遍历所述计算机机群的网络拓扑结构,对所述网络拓扑结构进行解析生成多条通信链路;所述通信链路包括从源节点到目标节点之间的网络设备及所述网络设备之间的链路信息。
20.本技术实施例中,针对至少两个不同通信带宽的计算机机群,通过网络拓扑结构发现的过程可以获取计算机机群中的网络设备。然后,再基于所获取的网络设备,构建计算机机群的网络拓扑结构。最后,遍历计算机机群的网络拓扑结构,对网络拓扑结构进行解析生成多条通信链路。如此,就实现了在不同通信带宽的计算机机群中解析出了多条通信链路,以便在不同通信带宽的机群之间进行作业调度,进而也实现了大规模机群作业的优化。
21.在其中一个实施例中,所述方法还包括:
22.若所述计算机机群发生更新,则从预设根节点重新开始遍历所述计算机机群,获取所述计算机机群中的网络设备;
23.获取所述网络设备的端口连接关系,基于所述网络设备、所述网络设备的端口连接关系重新构建所述计算机机群的新的网络拓扑结构;
24.遍历所述计算机机群的新的网络拓扑结构,对所述新的网络拓扑结构进行解析生成多条新的通信链路。
25.本技术实施例中,若具有不同通信带宽的计算机机群发生更新,也依然可以及时从新的计算机机群中解析出了多条通信链路,以便在新的计算机机群之间进行作业调度,进而实现了大规模机群作业的优化。
26.在其中一个实施例中,所述根据所述待处理业务所需的计算节点数目、所述待处理业务的服务级别,从所述多条通信链路中确定目标通信链路,包括:
27.获取所述待处理业务所需的计算节点数目;
28.根据所述待处理业务所需的计算节点数目,从所述多条通信链路中确定候选通信
链路;所述候选通信链路所包含的计算节点的数目与所述待处理业务所需的计算节点数目相同;
29.计算所述候选通信链路的带宽资源代价;
30.根据所述待处理业务的服务级别及所述候选通信链路的带宽资源代价,从所述候选通信链路中确定所述带宽资源代价与所述服务级别相匹配的目标通信链路。
31.本技术实施例中,针对各候选通信链路,首先计算候选通信链路的带宽资源代价,然后,再结合待处理业务的服务级别及候选通信链路的带宽资源代价,从候选通信链路中为待处理业务分配目标通信链路。如此,通过将带宽资源代价与服务级别进行匹配,就能够实现在不同通信带宽的计算机机群之间进行资源分配。也就实现了在不同通信带宽的机群之间进行作业调度,进而也实现了大规模机群作业的优化。
32.在其中一个实施例中,所述获取待处理业务的服务级别,包括:
33.获取所述待处理业务的通信带宽需求;
34.根据所述待处理业务的通信带宽需求,确定所述待处理业务的服务级别。
35.本技术实施例中,基于通信带宽需求确定了待处理业务的服务级别之后,后续就可以基于待处理业务的服务级别从计算进机群中的多条通信链路中确定目标通信链路。并将待处理业务分配至目标通信链路上的计算节点进行执行,就实现了在不同通信带宽的机群之间进行作业调度,进而也实现了大规模机群作业的优化。
36.在其中一个实施例中,所述方法还包括:
37.获取所述待处理业务的数据通信特征;
38.根据所述待处理业务的数据通信特征,确定所述待处理业务的流量类型;
39.所述根据所述待处理业务所需的计算节点数目、所述待处理业务的服务级别,从所述多条通信链路中确定目标通信链路,将所述待处理业务分配至所述目标通信链路上的计算节点进行执行,包括:
40.根据所述待处理业务所需的计算节点数目、所述待处理业务的服务级别及所述待处理业务的流量类型,从所述多条通信链路中确定目标通信链路,将所述待处理业务分配至所述目标通信链路上的计算节点进行执行。
41.本技术实施例中,因为各候选通信链路中包括不同通信带宽的计算机机群中的计算节点,所以,同样数目的计算节点所能够提供的带宽资源代价是不同的。因此,针对各候选通信链路,首先计算候选通信链路的带宽资源代价,然后,再结合待处理业务的服务级别及候选通信链路的带宽资源代价,从候选通信链路中为待处理业务分配目标通信链路。
42.在其中一个实施例中,所述多个不同通信带宽的机群包括第一机群、第二机群及第三机群;
43.所述第一机群中包括多个第一通信带宽的计算节点;所述第二机群中包括多个第二通信带宽的计算节点;所述第三机群中包括多个第三通信带宽的计算节点;所述第一通信带宽小于所述第二通信带宽,所述第二通信带宽小于所述第三通信带宽。
44.本技术实施例中,本技术中的作业调度方法,应用于包括至少两个不同通信带宽的计算机机群。其中,至少两个不同通信带宽的机群包括早期的fdr机群、edr机群及新的hdr 机群。因此,本技术中的作业调度方法,应用于包括早期的fdr机群、edr机群及新的hdr 机群的计算机机群。从而,实现了在早期机群的基础上,及时引进新的机群对计算机机群进
行扩展,以满足快速增长的计算需求。且通过本技术中的作用调度方法,能够实现在不同通信带宽的机群之间进行作业调度,提高了计算机机群中资源的利用率。
45.在其中一个实施例中,提供了一种作业调度装置,应用于计算机机群,所述计算机机群包括至少两个不同通信带宽的机群,各所述机群包括多个同一通信带宽的计算节点;所述装置包括:
46.服务级别获取模块,用于获取待处理业务的服务级别;所述服务级别用于表征所述待处理业务调用所述计算机机群中不同通信带宽的计算节点的优先级顺序;
47.通信链路获取模块,用于获取所述计算机机群的多条通信链路;所述多条通信链路包括从所述不同通信带宽的机群中所获取的多个不同通信带宽的计算节点;
48.目标通信链路确定模块,用于根据所述待处理业务所需的计算节点数目、所述待处理业务的服务级别,从所述多条通信链路中确定目标通信链路,将所述待处理业务分配至所述目标通信链路上的计算节点进行执行。
49.一种计算机机群,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上所述的作业调度方法的步骤。
50.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的作业调度方法的步骤。
51.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所述的作业调度方法的步骤。
52.上述作业调度方法和装置、计算机机群、计算机可读存储介质,计算机机群包括至少两个不同通信带宽的机群,各机群包括多个同一通信带宽的计算节点。该方法包括:获取待处理业务的服务级别;服务级别用于表征待处理业务调用计算机机群中不同通信带宽的计算节点的优先级顺序;获取计算机机群的多条通信链路;多条通信链路包括多个不同通信带宽的计算节点;根据待处理业务所需的计算节点数目、待处理业务的服务级别,从多条通信链路中确定目标通信链路,将待处理业务分配至目标通信链路上的计算节点进行执行。
53.传统的作业调度方法,仅能够在同一通信带宽的机群内部进行作业调度。而本技术中的计算机机群包括至少两个不同通信带宽的机群,且各机群包括多个同一通信带宽的计算节点。因此,为了实现在不同通信带宽的机群之间进行作业调度,首先,获取待处理业务的服务级别。其次,预先获取计算机机群的多条通信链路,多条通信链路包括从不同通信带宽的机群中所获取的多个不同通信带宽的计算节点。最后,根据待处理业务所需的计算节点数目、待处理业务的服务级别,按照待处理业务调用计算机机群中不同通信带宽的计算节点的优先级顺序,从多条通信链路中确定目标通信链路,将待处理业务分配至目标通信链路上的计算节点进行执行。如此,就实现了在不同通信带宽的机群之间进行作业调度,进而也实现了大规模机群作业的优化。
附图说明
54.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
55.图1为一个实施例中传统的计算机机群的结构示意图;
56.图2为一个实施例中作业调度方法的应用场景图;
57.图3为一个实施例中作业调度方法的流程图;
58.图4为一个实施例中在计算机机群中,预先遍历至少两个不同通信带宽的机群的网络拓扑结构,对网络拓扑结构进行解析生成多条通信链路方法的示意图;
59.图5为一个实施例中拓扑发现过程的流程示意图;
60.图6为图3中根据待处理业务所需的计算节点数目、待处理业务的服务级别,从多条通信链路中确定目标通信链路方法的流程图;
61.图7为另一个实施例中作业调度方法的流程图;
62.图8为一个具体的实施例中作业调度方法的示意图;
63.图9为一个实施例中作业调度装置的结构框图;
64.图10为另一个实施例中作业调度装置的结构框图;
65.图11为一个实施例中服务器的内部结构示意图。
具体实施方式
66.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
67.近年来,互联网应用发展迅速,呈现出应用类型多,应用规模大(活跃用户量、访问量和业务数据量)等特征,使得支撑互联网应用的数据中心规模急剧扩大,由几百台、几千台扩展至几万台甚至是几十万台规模。
68.为了构建更大规模的数据中心,一般会在早期的机群系统的基础上进行扩展,而早期的机群系统中的机群的通信带宽一般较低,后期的机群系统中的机群的通信带宽一般较高。因此,基于早期的机群系统的基础上进行扩展所形成的数据中心,会存在多个不同通信带宽的机群共存的情况。
69.传统的作业调度方法,仅能够在同一通信带宽的机群内部进行作业调度。由于扩展后的数据中心中包括多个不同通信带宽的机群,因此,针对多个不同通信带宽的机群共存的数据中心,传统的作业调度方法,不能在整个机群范围内进行作业调度,实现大规模机群作业的优化。
70.例如,以网络标准infiniband为例,通信带宽从早期的fdr机群中的计算节点的56gbps (每秒传输56
×
109比特数据),提升到edr机群中的计算节点的100gbps,而最新的hdr 机群则可提供200gbps的高速通信带宽。为了构建更大规模的计算机机群系统,许多数据中心会在早期的机群系统的基础上进行扩展,于是许多数据中心存在fdr/edr/hdr机群这些各种时代产品共存的情况。
71.如图1所示,为包括3个独立的fdr/edr/hdr机群的计算机机群的结构示意图。该计算机机群包括1个fdr的机群-fdr cluster(一期建设)、1个edr机群-edr cluster(二期建设)及1个hdr机群-hdr cluster(三期建设)。传统的作业调度方法,例如,slrum(simplelinux utility for resource management)资源管理系统,仅能够在同一通信带宽的机群
内部进行作业调度,不能在不同通信带宽的机群之间进行作业调度。其中,rack指的是机柜,机柜中包括通过交换机连接的多个计算节点。其中,sw(switch)指的是交换机。这里,计算节点可以是服务器或终端设备,其中,终端设备可以是台式机电脑、笔记本电脑、平板电脑、 pda(personal digital assistant,个人数字助理)等终端设备,本技术对此不做限定。
72.为了解决这个问题,本技术中提出了一种新的作业调度方法。图2为一个实施例中作业调度方法的应用场景图,为包括通过网络连接的fdr/edr/hdr机群的计算机机群的示意图。通过增加部分hdr交换机208将3个二层胖树网络连接为一个三层胖树网络210。这里,3 个二层胖树网络分别指的是图2中的3个独立的fdr机群202、edr机群204及hdr机群 206。其中,system cluster指的是通过网络连接的fdr/edr/hdr机群的计算机机群,具体指三层胖树网络210。
73.因此,本技术实施例中提出了一种作业调度方法,可以在如图2所示的计算机机群中进行作业调度,实现在不同通信带宽的机群之间进行作业调度,进而也实现了大规模机群作业的优化。图3为一个实施例中作业调度方法的流程图。应用于计算机机群,计算机机群包括至少两个不同通信带宽的机群,各机群包括多个同一通信带宽的计算节点,该方法包括以下步骤320至步骤360,其中,
74.步骤320,获取待处理业务的服务级别;服务级别用于表征待处理业务调用计算机机群中不同通信带宽的计算节点的优先级顺序。
75.每个应用在运行过程中,实际是在执行多个不同的业务。这里,待处理业务包括通过计算机机群运行应用时,所执行的多种业务,具体可以是计算业务等,本技术对此不做限定。
76.其中,待处理业务的服务级别与待处理业务的通信带宽需求相关。例如,待处理业务主要用于发送较大的数据包,则待处理业务对通信带宽的需求较大,同时预先为待处理业务设置较高的服务级别;待处理业务主要用于发送较小的数据包,则待处理业务对通信带宽的需求较小,同时预先为待处理业务设置较低的服务级别。基于每个待处理业务及该待处理业务的服务级别建立数据表,该数据表中存储了每个待处理业务及该待处理业务的服务级别的对应关系。
77.其中,服务级别用于表征待处理业务调用计算机机群中不同通信带宽的计算节点的优先级顺序。即服务级别越高的待处理业务,调用计算机机群中通信带宽大的计算节点的优先级顺序越高,即可以优先调用计算机机群中通信带宽大的计算节点。例如,可以为待处理业务设置五级优先级,包括第1级、第2级、第3级、第4级及第5级。其中,以上五级的优先级顺序依次降低。即处于第1级的待处理业务调用计算机机群中通信带宽大的计算节点的优先级顺序最高,处于第2级的待处理业务调用计算机机群中通信带宽大的计算节点的优先级顺序次之,依次类推,处于第5级的待处理业务调用计算机机群中通信带宽大的计算节点的优先级顺序最低。
78.因此,在进行作业调度时,首先,就可以直接从该数据表中获取预先为待处理业务所设置的服务级别。并在获取了待处理业务的服务级别之后,就可以确定待处理业务调用计算机机群中通信带宽大的计算节点的优先级顺序。以便后续根据该优先级顺序调用计算机机群中不同的通信链路,这里,不同的通信链路可以提供不同的通信带宽。
79.步骤340,获取计算机机群的多条通信链路;多条通信链路包括从不同通信带宽的机群中所获取的多个不同通信带宽的计算节点。
80.在进行作业调度时,首先,就可以直接从该数据表中获取预先为待处理业务所设置的服务级别。其次,获取计算机机群的多条通信链路。其中,每个计算机机群都有特定的网络拓扑结构,基于该计算机机群特定的网络拓扑结构,从根节点(源节点)开始遍历整个网络拓扑结构就可以得到多条通信链路。
81.由于计算机机群包括至少两个不同通信带宽的机群,各机群包括多个同一通信带宽的计算节点。因此,为了提高不同通信带宽的机群中计算节点的资源利用率,在预先从计算机机群中获取通信链路时,可以分别从不同的通信带宽的机群中获取多个不同通信带宽的计算节点,基于这些多个不同通信带宽的计算节点得到通信链路。从而,就可以形成多种多样、包含不同节点数目且不同通信带宽的通信链路。
82.其中,每条通信链路均包括源节点、目标节点及从源节点到目标节点之间的网络设备及各网络设备之间的链路信息。
83.步骤360,根据待处理业务所需的计算节点数目、待处理业务的服务级别,从多条通信链路中确定目标通信链路,将待处理业务分配至目标通信链路上的计算节点进行执行。
84.获取待处理业务所需的计算节点数目,其中,待处理业务所需的计算节点数目可以是根据预设经验所设置的计算节点数目,或根据待处理业务的计算量大小来设置。例如,a业务所需的计算节点数目为200个。
85.然后,就可以根据待处理业务所需的计算节点数目、待处理业务的服务级别,从多条通信链路中确定目标通信链路。具体的,从该计算机机群的多条通信链路中,确定与待处理业务所需的计算节点数目一致、与待处理业务的服务级别匹配的目标通信链路。换言之,目标通信链路所包含的计算节点数目与待处理业务所需的计算节点数目一致,且目标通信链路适配的服务级别与待处理业务的服务级别一致。
86.最后,将待处理业务分配至目标通信链路上的计算节点依次进行执行。
87.传统的作业调度方法,仅能够在同一通信带宽的机群内部进行作业调度。而本技术中的计算机机群包括至少两个不同通信带宽的机群,且各机群包括多个同一通信带宽的计算节点。因此,为了实现在不同通信带宽的机群之间进行作业调度,本技术实施例中,首先,获取待处理业务的服务级别。其次,预先获取计算机机群的多条通信链路,多条通信链路包括从不同通信带宽的机群中所获取的多个不同通信带宽的计算节点。最后,根据待处理业务所需的计算节点数目、待处理业务的服务级别,按照待处理业务调用计算机机群中不同通信带宽的计算节点的优先级顺序,从多条通信链路中确定目标通信链路,将待处理业务分配至目标通信链路上的计算节点进行执行。如此,就实现了在不同通信带宽的机群之间进行作业调度,进而也实现了大规模机群作业的优化。
88.在一个实施例中,提供了一种作业调度方法,还包括:
89.在计算机机群中,预先遍历至少两个不同通信带宽的机群的网络拓扑结构,对网络拓扑结构进行解析生成多条通信链路。
90.具体的,针对每个计算机机群,在进行作业调度之前,需要预先遍历至少两个不同通信带宽的机群的网络拓扑结构,对网络拓扑结构进行解析生成多条通信链路。以便后续
在进行作业调度时,可以从至少两个不同通信带宽的机群中的多条通信链路里面筛选出匹配的通信链路。
91.其中,网络拓扑结构是指用传输介质互连各种设备的物理布局。网络中的计算机等设备要实现互联,就需要以一定的结构方式进行连接,这种连接方式就叫做“拓扑结构”,通俗地讲就是这些网络设备是如何连接在一起的。常见的网络拓扑结构主要有:总线型结构、环形结构、星形结构、树形结构和网状结构等。
92.首先,需要遍历整个计算机机群,构建计算机机群的网络拓扑结构。然后,就可以对计算机机群的网络拓扑结构进行解析,生成多条通信链路。具体的,在预先从计算机机群的网络拓扑结构中解析出通信链路时,可以分别从不同的通信带宽的机群中获取多个不同通信带宽的计算节点,基于这些多个不同通信带宽的计算节点得到通信链路。从而,就可以形成多种多样、包含不同节点数目且不同通信带宽的通信链路。其中,每条通信链路包括多个网络设备及网络设备之间的链路信息(即连接信息)。
93.其中,对网络拓扑结构进行解析指的是需要将所收集到的网络拓扑结构转化为作业调度系统可识别的形式,汇总为各个源节点到目标节点的链路信息,使现有调度系统可据此进行后续的资源分配。例如,以下为对计算机机群的网络拓扑结构进行解析,生成作业调度系统可识别的多条通信链路的形式的示例:
94.from ca{0xe612c24004120191}portnum 1lid 82-82"l44 hca-2"
95.[1]-》switch port{0x1c34da03005127f4}[9]lid 66-66"sw200-r0-g0l0"
[0096]
[36]-》switch port{0x1c34da03006082c4}[26]lid 62-62"sw200-r0-g0r1"
[0097]
[34]-》switch port{0x1c34da0300608244}[24]lid 54-54"sw200-r0-g0l1"
[0098]
[11]-》ca port{0xe612c24004120481}[1]lid 44-44"l19 hca-2"
[0099]
to ca{0xe612c24004120481}portnum 1lid 44-44"l19 hca-2"
[0100]
该通信链路的根节点为:计算节点l44中的hca-2(编号为2的网卡)。该hca-2的 lid(本地标识)为82。
[0101]
然后,该完整的通信链路具体为:
[0102]
从该根节点hca-2的第1端口,指向设备名称为"sw200-r0-g0l0"的路由器的第9端口,该路由器"sw200-r0-g0l0"的设备guid为{0x1c34da03005127f4};该路由器 "sw200-r0-g0l0"的lid(本地标识)为66;
[0103]
从路由器"sw200-r0-g0l0"的第36端口指向设备名称为"sw200-r0-g0r1"的路由器的第26端口,该路由器"sw200-r0-g0r1"的设备guid为{0x1c34da03006082c4};该路由器 "sw200-r0-g0r1"的lid(本地标识)为62;
[0104]
从路由器"sw200-r0-g0r1"的第34端口,指向设备名称为"sw200-r0-g0l1"的路由器的第24端口,该路由器"sw200-r0-g0l1"的设备guid为{0x1c34da0300608244};该路由器 "sw200-r0-g0l1"的lid(本地标识)为54;
[0105]
从路由器"sw200-r0-g0l1"的第11端口,指向计算节点l19中的hca-2(编号为2的网卡)。该hca-2的lid(本地标识)为44。
[0106]
至此,该通信链路的末端节点为:计算节点l19中的hca-2(编号为2的网卡)。
[0107]
如此,在后续根据所述待处理业务所需的计算节点数目、所述待处理业务的服务级别,从所述多条通信链路中确定目标通信链路时,就可以直接从这些预先建立的通信链
路中直接确定。由于这些通信链路是从所述多个不同通信带宽的机群中所获取的,因此,就可以实现在不同通信带宽的机群之间进行作业调度,进而也实现了大规模机群作业的优化。
[0108]
本技术实施例中,针对每个计算机机群,在进行作业调度之前,需要在计算机机群中,预先遍历至少两个不同通信带宽的机群的网络拓扑结构,对网络拓扑结构进行解析生成多条通信链路。且这些通信链路中包括多个不同通信带宽的计算节点。因此,在后续进行作业调度时,可以基于作业所需的通信带宽需求,从至少两个不同通信带宽的机群中的多条通信链路里面筛选出匹配的通信链路。
[0109]
在一个实施例中,如图4所示,在计算机机群中,预先遍历至少两个不同通信带宽的机群的网络拓扑结构,对网络拓扑结构进行解析生成多条通信链路,包括:
[0110]
步骤420,在计算机机群中,从预设根节点开始遍历至少两个不同通信带宽的机群的网络拓扑结构,获取至少两个不同通信带宽的机群中的网络设备。
[0111]
在预先对计算机机群的网络拓扑结构进行解析,生成多条通信链路时,首先,进行网络拓扑结构发现,即在计算机机群中,从预设根节点开始遍历至少两个不同通信带宽的机群的网络拓扑结构,获取至少两个不同通信带宽的机群中的网络设备。即在计算机机群中,从预设根节点开始寻找与该预设根节点的端口相连的下一个网络设备,基于该网络设备再寻找与该网络设备的端口相连的下一个网络设备,依次寻找下一个网络设备,就实现了在计算机机群中,从预设根节点开始遍历至少两个不同通信带宽的机群的网络拓扑结构,获取至少两个不同通信带宽的机群中的网络设备的过程。这里的网络设备包括网卡设备及交换机设备等,本技术对此不做限定。
[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)是
指计算机机群中实际网络设备之间的连接关系,对应到某个交换机的某个端口连接到对端的某个交换机的某个端口或者某个hca(host channel adapter)网卡的某个端口。逻辑网络结构 (logical_topology)是计算机机群中的作业调度系统可识别理解的逻辑形式,便于进行作业调度。其中,物理网络结构与逻辑网络结构二者在对应关系上是完全一致的。将所获取的网络设备数组,划分为网卡设备数组及交换机设备数组。
[0121]
步骤440,获取网络设备的端口连接关系,基于网络设备、网络设备的端口连接关系构建计算机机群的网络拓扑结构。
[0122]
在进行网络拓扑结构发现,即在计算机机群中,从预设根节点开始遍历至少两个不同通信带宽的机群的网络拓扑结构,获取至少两个不同通信带宽的机群中的网络设备之后,构建网络拓扑结构。具体的,基于进行网络拓扑结构发现所得到的网络设备,遍历整个计算机机群,梳理出每条链路的连接关系,即梳理出每条链路上的网络设备、网络设备的端口连接关系,就可以基于网络设备、网络设备的端口连接关系构建计算机机群的网络拓扑结构。
[0123]
例如,可以以交换机为基础单位,构建每台交换机的端口连接关系列表topology.list,该端口连接关系列表topology.list中包括交换机名称、设备类型、端口号、端口类型、端口带宽等信息,以供在进行作业调度时进行解析拓扑结构。其中,端口连接关系列表topology.list,具体如表1所示:
[0124]
表1端口连接关系列表topology.list
[0125][0126]
其中,全局唯一标识符(guid,globally unique identifier)是一种由算法生成的二进制长度为128位的数字标识符。
[0127]
步骤460,遍历计算机机群的网络拓扑结构,对网络拓扑结构进行解析生成多条通信链路;通信链路包括从源节点到目标节点之间的网络设备及网络设备之间的链路信息。
[0128]
在计算机机群中,从预设根节点开始遍历至少两个不同通信带宽的机群的网络拓扑结构,获取至少两个不同通信带宽的机群中的网络设备之后,构建了计算机机群的网络拓扑结构。然后,遍历整个网络拓扑结构,对端口连接关系列表topology.list进行解析,生成多条通信链路。即从源节点到目标节点,将网络设备基于网络设备之间的链路关系进行连接起来。如下所示为所解析出的一条具体的通信链路1:
[0129]
from ca{0xe612c24004120191}portnum 1 lid 82-82"l44 hca-2"
[0130]
[1]-》switch port{0x1c34da03005127f4}[9]lid 66-66"sw200-r0-g0l0"
[0131]
[36]-》switch port{0x1c34da03006082c4}[26]lid 62-62"sw200-r0-g0r1"
[0132]
[34]-》switch port{0x1c34da0300608244}[24]lid 54-54"sw200-r0-g0l1"
[0133]
[11]-》ca port{0xe612c24004120481}[1]lid 44-44"l19 hca-2"
[0134]
to ca{0xe612c24004120481}portnum 1 lid 44-44"l19 hca-2"
[0135]
对该通信链路的具体解释,可以参考上文中的描述,在此处不再赘述。其中,若根
据所述待处理业务所需的计算节点数目、所述待处理业务的服务级别,从所述多条通信链路中确定目标通信链路为通信链路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]
本技术实施例中,若计算机机群发生更新,针对至少两个不同通信带宽的计算机
机群,通过网络拓扑结构发现的过程可以获取计算机机群中的网络设备。然后,再基于所获取的网络设备,构建计算机机群的网络拓扑结构。最后,遍历计算机机群的网络拓扑结构,对网络拓扑结构进行解析生成多条通信链路。如此,若具有不同通信带宽的计算机机群发生更新,也依然可以及时从新的计算机机群中解析出了多条通信链路,以便在新的计算机机群之间进行作业调度,进而实现了大规模机群作业的优化。
[0146]
在一个实施例中,如图6所示,步骤360,根据待处理业务所需的计算节点数目、待处理业务的服务级别,从多条通信链路中确定目标通信链路,包括:
[0147]
步骤362,获取待处理业务所需的计算节点数目。
[0148]
不同的业务的计算量是不同的,而不同的计算量显然所需的计算节点数目也是不同的。一般计算量越大则所需的计算节点数目越多。因此,可以基于业务的不同计算量确定该业务所需的计算节点数目。或者,预先对业务进行划分类型,针对不同类型的业务确定其所需的计算节点数目。
[0149]
由于预先确定了不同业务所需的计算节点数目,因此,在进行作业调度过程中,就可以根据待处理业务获取到该待处理业务所需的计算节点数目。假设,确定出某个待处理业务所需的计算节点数目为k个。其中,1≤k≤n,n为计算机机群所包含的计算节点的总数目。
[0150]
步骤364,根据待处理业务所需的计算节点数目,从多条通信链路中确定候选通信链路;候选通信链路所包含的计算节点的数目与待处理业务所需的计算节点数目相同。
[0151]
具体的,预先在计算机机群中,从预设根节点开始遍历至少两个不同通信带宽的机群的网络拓扑结构,获取至少两个不同通信带宽的机群中的网络设备。进而,获取网络设备的端口连接关系,基于网络设备、网络设备的端口连接关系构建计算机机群的网络拓扑结构。并遍历计算机机群的网络拓扑结构,对网络拓扑结构进行解析生成多条通信链路。其中,通信链路包括从源节点到目标节点之间的网络设备及网络设备之间的链路信息,且每条通信链路所包括的计算节点数目是不尽相同的。
[0152]
由于预先从计算机机群中解析出了多条通信链路,因此,就可以根据待处理业务所需的计算节点数目,从多条通信链路中确定候选通信链路。确定候选通信链路的原则为:候选通信链路所包含的计算节点数目与待处理业务所需的计算节点数目相同。假设,确定出某个待处理业务所需的计算节点数目为k个,那么,候选通信链路所包含的计算节点数目也为k个。
[0153]
步骤366,计算候选通信链路的带宽资源代价。
[0154]
在确定出候选通信链路之后,进一步计算候选通信链路的带宽资源代价。其中,带宽资源代价指的是用于表征通信链路所能够提供的带宽资源大小的指标。
[0155]
假设确定出某个待处理业务所需的计算节点数目为k个,那么,候选通信链路所包含的计算节点数目也为k个。而每个候选通信链路中所包含的计算节点可能分别属于不同通信带宽的计算机机群,那么,每条候选通信链路所能够提供的带宽资源大小也是不同的,即每条候选通信链路的带宽资源代价也是不同的。其中,计算每条候选通信链路的带宽资源代价的公式(1-1)如下所示:
[0156][0157]
其中,resourcevalue为带宽资源代价,nodei为第i个节点,weighti为第i个节点的
带宽资源权重,该带宽资源权重与计算节点的通信带宽成正相关。以网络标准infiniband为例,早期的fdr机群中的计算节点(fdr节点)所能够提供的通信带宽为56gbps(每秒传输56
ꢀ×
109比特数据),则为fdr节点配置带宽资源权重为56。edr机群中的计算节点(edr 节点)所能够提供的通信带宽为100gbps,则为edr节点配置带宽资源权重为100。而最新的hdr机群中的计算节点(hdr节点)所能够提供的通信带宽则为200gbps,则为hdr节点配置带宽资源权重为200。
[0158]
例如,假设待处理业务所需的计算节点数目k为200个。那么,如果候选通信链路中200 个计算节点全部是hdr机群中的计算节点(简称hdr节点),则候选通信链路的带宽资源代价为200
×
200=40000。如果候选通信链路中200个计算节点全部为edr机群中的计算节点(简称edr节点),则候选通信链路的带宽资源代价为200
×
100=20000。如果候选通信链路中200个计算节点全部为fdr机群中的计算节点(简称fdr节点),则候选通信链路的带宽资源代价为200
×
56=11200。
[0159]
如果计算机机群或其上的作业调度系统当前可获得的资源不足,则需要在hdr节点、 edr节点及fdr节点这三种不同类型的节点之间进行组合。例如,候选通信链路中200个计算节点包括100个hdr节点和100个edr节点,则候选通信链路的带宽资源代价为100
ꢀ×
200 100
×
100=30000。如果候选通信链路中200个计算节点包括100个edr节点和100 个fdr节点,则候选通信链路的带宽资源代价为100
×
100 100
×
56=15600。
[0160]
步骤368,根据待处理业务的服务级别及候选通信链路的带宽资源代价,从候选通信链路中确定带宽资源代价与服务级别相匹配的目标通信链路。
[0161]
在计算出候选通信链路的带宽资源代价之后,就可以将候选通信链路的带宽资源代价与待处理业务的服务级别进行匹配,从候选通信链路中确定带宽资源代价与服务级别相匹配的目标通信链路。
[0162]
其中,待处理业务的服务级别与待处理业务的通信带宽需求相关。基于每个待处理业务及该待处理业务的服务级别建立数据表(即服务级别映射表),该数据表中存储了每个待处理业务及该待处理业务的服务级别的对应关系。
[0163]
其中,服务级别用于表征待处理业务调用计算机机群中不同通信带宽的计算节点的优先级顺序。即服务级别越高的待处理业务,调用计算机机群中通信带宽大的计算节点的优先级顺序越高,即可以优先调用计算机机群中通信带宽大的计算节点。例如,可以为待处理业务设置五级优先级,包括第1级、第2级、第3级、第4级及第5级。其中,以上五级的优先级顺序依次降低。即处于第1级的待处理业务调用计算机机群中通信带宽大的计算节点的优先级顺序最高,处于第2级的待处理业务调用计算机机群中通信带宽大的计算节点的优先级顺序次之,依次类推,处于第5级的待处理业务调用计算机机群中通信带宽大的计算节点的优先级顺序最低。例如,在一个实施例中的服务级别映射表如下表2所示:
[0164]
表2服务级别映射表
[0165]
应用名称服务级别(service level:sl)linpack类应用5hpcg类应用4mpi类应用3i/o类应用2
ipoib类应用1
[0166]
其中,linpack是线性系统软件包(linear system package)的缩写。linpack在国际上已经成为最流行的用于测试高性能计算机系统浮点性能的benchmark。通过利用高性能计算机,用高斯消元法求解n元一次稠密线性代数方程组的测试,评价高性能计算机的浮点性能。 linpack类应用是典型的高性能应用的测试基准。
[0167]
hpcg(high performance conjugate gradient),hpcg是求解稀疏矩阵方程组的一种迭代算法,使用局部对称gauss—seidel预条件子的预处理共轭梯度法,主要数据为对称正定稀疏矩阵,每一个计算循环需要调用稀疏矩阵向量乘、预条件子、向量更新和向量内积操作。hpcg覆盖了常用的计算和通信模式,且hpgc类应用常用做进行高度共轭梯度基准测试,是目前主要用于测试超算性能的测试程序之一。
[0168]
mpi(message-passing interface)是一种支持跨语言的通讯协议的接口,用于编写并行计算,且支持点对点和广播。mpi类应用主要指的是采用mpi接口进行通信的并行计算应用。 i/o指的是输入接口input和输出接口output,io类应用指的是采用i/o接口进行存储的应用。 ipoib(internet protocol over infiniband),是利用ib(infiniband network)网络(包括服务器上的ib卡,ib连接线,ib交换机等)通过ip协议进行连接,并进行数据传输的接口。ipoib 类应用是指采用ib网络的应用实例,本技术对此不做限定。
[0169]
那么,在将候选通信链路的带宽资源代价与待处理业务的服务级别进行匹配时,具体的匹配规则为:可以将带宽资源代价最高的候选通信链路与服务级别最高的业务相匹配,依次匹配直到将带宽资源代价最低的候选通信链路与服务级别最低的业务相匹配。因此,基于待处理业务的服务级别,就可以从候选通信链路中匹配到与待处理业务的服务级别对应的目标通信链路。例如,在一个实施例中的服务级别映与带宽资源代价映射表如下表3所示:
[0170]
表3服务级别与带宽资源代价映射表
[0171]
应用名称服务级别(service level:sl)带宽资源代价(resourcevalue,rv)linpack511200≤rv《15600hpcg415600≤rv《20000mpi320000≤rv《30000i/o230000≤rv《40000ipoib1rv≥40000
[0172]
假设此时表3中的五种应用所需的计算节点均为200个,那么,按照五种应用的服务级别的顺序,依次为五种应用分配对应的带宽资源代价,即为五种应用分配该带宽资源代价对应的目标通信链路。
[0173]
本技术实施例中,获取待处理业务所需的计算节点数目,根据待处理业务所需的计算节点数目,从多条通信链路中确定候选通信链路。因为各候选通信链路中包括不同通信带宽的计算机机群中的计算节点,所以,同样数目的计算节点所能够提供的带宽资源代价是不同的。因此,针对各候选通信链路,首先计算候选通信链路的带宽资源代价,然后,再结合待处理业务的服务级别及候选通信链路的带宽资源代价,从候选通信链路中为待处理业务分配目标通信链路。如此,通过将带宽资源代价与服务级别进行匹配,就能够实现在不同通信带宽的计算机机群之间进行资源分配。也就实现了在不同通信带宽的机群之间进行
作业调度,进而也实现了大规模机群作业的优化。
[0174]
在一个实施例中,步骤320,获取待处理业务的服务级别,包括:
[0175]
获取待处理业务的通信带宽需求;
[0176]
根据待处理业务的通信带宽需求,确定待处理业务的服务级别。
[0177]
每个应用在运行过程中,实际是在执行多个不同的业务。这里,待处理业务包括通过计算机机群运行应用时,所执行的多种业务,具体可以是计算业务等,本技术对此不做限定。
[0178]
其中,待处理业务的服务级别与待处理业务的通信带宽需求相关。例如,待处理业务主要用于发送较大的数据包,则待处理业务对通信带宽的需求较大,同时预先为待处理业务设置较高的服务级别;待处理业务主要用于发送较小的数据包,则待处理业务对通信带宽的需求较小,同时预先为待处理业务设置较低的服务级别。
[0179]
因此,在确定待处理业务的服务级别时,先获取待处理业务的通信带宽需求,再根据待处理业务的通信带宽需求,确定待处理业务的服务级别。具体的,可以基于待处理业务所处理的数据类型及数据量,来确定待处理业务的通信带宽需求,当然,本技术对此不做限定。
[0180]
本技术实施例中,可以基于待处理业务所处理的数据类型及数据量,来确定待处理业务的通信带宽需求,再根据待处理业务的通信带宽需求,确定待处理业务的服务级别。如此,基于通信带宽需求确定了待处理业务的服务级别之后,后续就可以基于待处理业务的服务级别从计算进机群中的多条通信链路中确定目标通信链路。并将待处理业务分配至目标通信链路上的计算节点进行执行,就实现了在不同通信带宽的机群之间进行作业调度,进而也实现了大规模机群作业的优化。
[0181]
在一个实施例中,提供了一种作业调度方法,还包括:
[0182]
获取待处理业务的数据通信特征;
[0183]
根据待处理业务的数据通信特征,确定待处理业务的流量类型;
[0184]
根据待处理业务所需的计算节点数目、待处理业务的服务级别,从多条通信链路中确定目标通信链路,将待处理业务分配至目标通信链路上的计算节点进行执行,包括:
[0185]
根据待处理业务所需的计算节点数目、待处理业务的服务级别及待处理业务的流量类型,从多条通信链路中确定目标通信链路,将待处理业务分配至目标通信链路上的计算节点进行执行。
[0186]
如图7所示,提供了一种作业调度方法,包括:
[0187]
步骤720,获取待处理业务的服务级别。
[0188]
因为预先确定了待处理业务的服务级别,所以在对待处理业务进行实际作业调度时,就可以直接获取待处理业务的服务级别。其中,待处理业务的服务级别可以是根据待处理业务的通信带宽需求所确定的,当然,本技术对此不做限定。
[0189]
步骤740,获取待处理业务的数据通信特征;根据待处理业务的数据通信特征,确定待处理业务的流量类型。
[0190]
具体的,数据通信特征指的是数据在传输过程中的特征,包括数据传输为多对一通信、一对多通信、多对多通信等,当然,数据通信特征还可以包括信号时延等其他特征,本技术对此不做限定。每种传输方式均对应不同的操作方式。
[0191]
其中,多对一通信包括mpi_gather(收集)和mpi_reduce(规约)两种操作方式。多对一通信,即在一个通信域内,以其中一个进程为根进程,其他所有进程(包括该进程自身)向根进程发送数据。
[0192]
其中,一对多通信,包括mpi_bcast(广播)操作方式及mpi_scatter(散发)操作方式。即在一个通信域内,以其中一个进程为根进程,向其他所有进程(包括该进程自身)发送数据。
[0193]
其中,多对多通信包括mpi_allgather操作方式及mpi_alltoall操作方式,在mpi_allgather 操作中,每个进程都收集其他所有进程(包括自身)发来的消息,相当每个进程都执行了一次 mpi_allgather操作。mpi_alltoall是域内进程之间进行完全的信息交换,每个进程依次将其缓冲区的第i块数据发送给第i个进程,同时每个进程又从第j个进程接收数据放到各自接收缓冲区的第j块数据区的位置。
[0194]
根据待处理业务的数据通信特征,确定待处理业务的流量类型。例如,将数据通信特征为一对一通信的待处理业务划分到流量类型a对应业务中;将数据通信特征为一对多通信的待处理业务划分到流量类型b对应业务中;将数据通信特征为多对多通信的待处理业务划分到流量类型c对应业务中。
[0195]
步骤760,获取计算机机群的多条通信链路。
[0196]
步骤780,根据待处理业务所需的计算节点数目、待处理业务的服务级别及待处理业务的流量类型,从多条通信链路中确定目标通信链路,将待处理业务分配至目标通信链路上的计算节点进行执行。
[0197]
由于计算机机群包括至少两个不同通信带宽的机群,各机群包括多个同一通信带宽的计算节点。因此,为了提高不同通信带宽的机群中计算节点的资源利用率,在预先从计算机机群中获取通信链路时,可以分别从不同的通信带宽的机群中获取多个不同通信带宽的计算节点,基于这些多个不同通信带宽的计算节点得到通信链路。从而,就可以形成多种多样、包含不同节点数目且不同通信带宽的通信链路。
[0198]
然后,就可以根据待处理业务所需的计算节点数目、待处理业务的服务级别及待处理业务的流量类型,从多条通信链路中确定目标通信链路。具体的,首先,根据待处理业务所需的计算节点数目,从多条通信链路中确定候选通信链路;候选通信链路所包含的计算节点的数目与待处理业务所需的计算节点数目相同。其次,计算候选通信链路的带宽资源代价。根据待处理业务的服务级别及候选通信链路的带宽资源代价,从候选通信链路中确定带宽资源代价与服务级别相匹配的目标通信链路。最后,从目标通信链路中,为相同流量类型的待处理业务分配带宽资源代价相同或相近的通信链路,作为最终的目标通信链路,将待处理业务分配至该最终的目标通信链路上的计算节点进行执行。
[0199]
本技术实施例中,不同待处理业务的流量类型是不同的,基于待处理业务的数据通信特征,可以确定待处理业务的流量类型。然后,获取待处理业务所需的计算节点数目,根据待处理业务所需的计算节点数目,从多条通信链路中确定候选通信链路。因为各候选通信链路中包括不同通信带宽的计算机机群中的计算节点,所以,同样数目的计算节点所能够提供的带宽资源代价是不同的。因此,针对各候选通信链路,首先计算候选通信链路的带宽资源代价,然后,再结合待处理业务的服务级别及候选通信链路的带宽资源代价,从候选通信链路中为待处理业务分配目标通信链路。
[0200]
最后,再结合待处理业务的流量类型,从目标通信链路中,为相同流量类型的待处理业务分配带宽资源代价相同或相近的通信链路,作为最终的目标通信链路,将待处理业务分配至该最终的目标通信链路上的计算节点进行执行。如此,从候选通信链路的带宽资源代价、待处理业务的服务级别、流量类型等多个维度,对待处理业务在不同通信带宽的计算机机群之间进行资源分配。也就实现了在不同通信带宽的机群之间更加准确地进行作业调度,提高机群中资源的利用率。
[0201]
在一个实施例中,至少两个不同通信带宽的机群包括第一机群、第二机群及第三机群;
[0202]
第一机群中包括多个第一通信带宽的计算节点;第二机群中包括多个第二通信带宽的计算节点;第三机群中包括多个第三通信带宽的计算节点;第一通信带宽小于第二通信带宽,第二通信带宽小于第三通信带宽。
[0203]
具体的,本技术中的作业调度方法,应用于包括至少两个不同通信带宽的计算机机群。其中,至少两个不同通信带宽的机群包括第一机群、第二机群及第三机群。因此,本技术中的作业调度方法,应用于包括第一机群、第二机群及第三机群的计算机机群。
[0204]
其中,第一机群中包括多个第一通信带宽的计算节点;第二机群中包括多个第二通信带宽的计算节点;第三机群中包括多个第三通信带宽的计算节点。且第一通信带宽小于第二通信带宽,第二通信带宽小于第三通信带宽。
[0205]
例如,第一机群为早期的fdr机群,早期的fdr机群中的计算节点(fdr节点)所能够提供的通信带宽为56gbps(每秒传输56
×
109比特数据),则第一通信带宽为56gbps。第二机群为edr机群,edr机群中的计算节点(edr节点)所能够提供的通信带宽为100gbps,则第二通信带宽为100gbps。第三机群为新的hdr机群,hdr机群中的计算节点(hdr节点)所能够提供的通信带宽则为200gbps,则第三通信带宽为200gbps。本技术对不同机群的通信带宽不做限定。
[0206]
本技术实施例中,本技术中的作业调度方法,应用于包括至少两个不同通信带宽的计算机机群。其中,至少两个不同通信带宽的机群包括早期的fdr机群、edr机群及新的hdr 机群。因此,本技术中的作业调度方法,应用于包括早期的fdr机群、edr机群及新的hdr 机群的计算机机群。从而,实现了在早期机群的基础上,及时引进新的机群对计算机机群进行扩展,以满足快速增长的计算需求。且通过本技术中的作用调度方法,能够实现在不同通信带宽的机群之间进行作业调度,提高了计算机机群中资源的利用率。
[0207]
在一个具体的实施例中,如图8所示,提供了一种作业调度方法,包括:
[0208]
步骤802,在计算机机群中,从预设根节点开始遍历至少两个不同通信带宽的机群的网络拓扑结构,获取至少两个不同通信带宽的机群中的网络设备;
[0209]
步骤804,获取网络设备的端口连接关系,基于网络设备、网络设备的端口连接关系构建计算机机群的网络拓扑结构;
[0210]
步骤806,遍历计算机机群的网络拓扑结构,对网络拓扑结构进行解析生成多条通信链路;
[0211]
步骤808,获取待处理业务的通信带宽需求;根据待处理业务的通信带宽需求,确定待处理业务的服务级别;
[0212]
步骤810,获取待处理业务的数据通信特征;根据待处理业务的数据通信特征,确
定待处理业务的流量类型;
[0213]
步骤812,获取计算机机群的多条通信链路;
[0214]
步骤814,获取待处理业务所需的计算节点数目;
[0215]
步骤816,根据待处理业务所需的计算节点数目,从多条通信链路中确定候选通信链路;
[0216]
步骤818,计算候选通信链路的带宽资源代价;
[0217]
步骤820,根据待处理业务的服务级别及候选通信链路的带宽资源代价,从候选通信链路中确定带宽资源代价与服务级别相匹配的目标通信链路;
[0218]
步骤822,从目标通信链路中,为相同流量类型的待处理业务分配带宽资源代价相同或相近的通信链路,作为最终的目标通信链路;
[0219]
步骤824,将待处理业务分配至该最终的目标通信链路上的计算节点进行执行。
[0220]
本技术实施例中,由于不同待处理业务的服务级别、流量类型是不同的,然后,获取待处理业务所需的计算节点数目,根据待处理业务所需的计算节点数目,从多条通信链路中确定候选通信链路。因为各候选通信链路中包括不同通信带宽的计算机机群中的计算节点,所以,同样数目的计算节点所能够提供的带宽资源代价是不同的。因此,针对各候选通信链路,首先计算候选通信链路的带宽资源代价,然后,再结合待处理业务的服务级别及候选通信链路的带宽资源代价,从候选通信链路中为待处理业务分配目标通信链路。
[0221]
最后,再结合待处理业务的流量类型,从目标通信链路中,为相同流量类型的待处理业务分配带宽资源代价相同或相近的通信链路,作为最终的目标通信链路,将待处理业务分配至该最终的目标通信链路上的计算节点进行执行。如此,从候选通信链路的带宽资源代价、待处理业务的服务级别、流量类型等多个维度,对待处理业务在不同通信带宽的计算机机群之间进行资源分配。也就实现了在不同通信带宽的机群之间更加准确地进行作业调度,提高机群中资源的利用率。
[0222]
在一个实施例中,如图9所示,提供了一种作业调度装置900,应用于计算机机群,计算机机群包括至少两个不同通信带宽的机群,各机群包括多个同一通信带宽的计算节点;装置包括:
[0223]
服务级别获取模块920,用于获取待处理业务的服务级别;服务级别用于表征待处理业务调用计算机机群中不同通信带宽的计算节点的优先级顺序;
[0224]
通信链路获取模块940,用于获取计算机机群的多条通信链路;多条通信链路包括从不同通信带宽的机群中所获取的多个不同通信带宽的计算节点;
[0225]
目标通信链路确定模块960,用于根据待处理业务所需的计算节点数目、待处理业务的服务级别,从多条通信链路中确定目标通信链路,将待处理业务分配至目标通信链路上的计算节点进行执行。
[0226]
在一个实施例中,如图10所示,提供了一种作业调度装置900,还包括:
[0227]
网络拓扑结构解析模块980,用于在计算机机群中,预先遍历至少两个不同通信带宽的机群的网络拓扑结构,对网络拓扑结构进行解析生成多条通信链路。
[0228]
在一个实施例中,网络拓扑结构解析模块980,包括:
[0229]
网络设备获取单元,用于在计算机机群中,从预设根节点开始遍历至少两个不同通信带宽的机群的网络拓扑结构,获取至少两个不同通信带宽的机群中的网络设备;
[0230]
网络拓扑结构构建单元,用于获取网络设备的端口连接关系,基于网络设备、网络设备的端口连接关系构建计算机机群的网络拓扑结构;
[0231]
网络拓扑结构解析单元,用于遍历计算机机群的网络拓扑结构,对网络拓扑结构进行解析生成多条通信链路;通信链路包括从源节点到目标节点之间的网络设备及网络设备之间的链路信息。
[0232]
在一个实施例中,提供了一种作业调度装置,还包括:
[0233]
更新模块,用于若计算机机群发生更新,则从预设根节点重新开始遍历计算机机群,获取计算机机群中的网络设备;获取网络设备的端口连接关系,基于网络设备、网络设备的端口连接关系重新构建计算机机群的新的网络拓扑结构;遍历计算机机群的新的网络拓扑结构,对新的网络拓扑结构进行解析生成多条新的通信链路。
[0234]
在一个实施例中,目标通信链路确定模块960,包括:
[0235]
计算节点数目获取单元,用于获取待处理业务所需的计算节点数目;
[0236]
候选通信链路确定单元,用于根据待处理业务所需的计算节点数目,从多条通信链路中确定候选通信链路;候选通信链路所包含的计算节点的数目与待处理业务所需的计算节点数目相同;
[0237]
带宽资源代价计算单元,用于计算候选通信链路的带宽资源代价;
[0238]
匹配单元,用于根据待处理业务的服务级别及候选通信链路的带宽资源代价,从候选通信链路中确定带宽资源代价与服务级别相匹配的目标通信链路。
[0239]
在一个实施例中,服务级别获取模块920,还用于获取待处理业务的通信带宽需求;根据待处理业务的通信带宽需求,确定待处理业务的服务级别。
[0240]
在一个实施例中,提供了一种作业调度装置,还包括:
[0241]
流量类型确定模块,用于获取待处理业务的数据通信特征;根据待处理业务的数据通信特征,确定待处理业务的流量类型;
[0242]
目标通信链路确定模块,还用于根据待处理业务所需的计算节点数目、待处理业务的服务级别及待处理业务的流量类型,从多条通信链路中确定目标通信链路,将待处理业务分配至目标通信链路上的计算节点进行执行。
[0243]
在一个实施例中,多个不同通信带宽的机群包括第一机群、第二机群及第三机群;
[0244]
第一机群中包括多个第一通信带宽的计算节点;第二机群中包括多个第二通信带宽的计算节点;第三机群中包括多个第三通信带宽的计算节点;第一通信带宽小于第二通信带宽,第二通信带宽小于第三通信带宽。
[0245]
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0246]
上述作业调度装置中各个模块的划分仅用于举例说明,在其他实施例中,可将作业调度装置按照需要划分为不同的模块,以完成上述作业调度装置的全部或部分功能。
[0247]
关于作业调度装置的具体限定可以参见上文中对于作业调度方法的限定,在此不再赘述。上述作业调度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0248]
在一个实施例中,还提供了一种计算机机群,包括存储器及处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器执行以上各个实施例所提供的一种作业调度方法的步骤。
[0249]
在一个实施例中,提供了一种计算机机群,该计算机设备中包括至少两个不同通信带宽的机群,各机群包括多个同一通信带宽的计算节点。这里的计算节点可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储设备盘点数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种作业调度方法。
[0250]
本技术实施例中提供的作业调度装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在计算机机群或计算机机群上运行。该计算机程序构成的程序模块可存储在计算机机群或计算机机群的存储器上。该计算机程序被处理器执行时,实现本技术实施例中所描述方法的步骤。
[0251]
本技术实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当计算机可执行指令被一个或多个处理器执行时,使得处理器执行作业调度方法的步骤。
[0252]
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行作业调度方法。
[0253]
本技术实施例所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram),它用作外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率 sdram(ddr sdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)。
[0254]
以上作业调度实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献