计算网络、算力度量方法、调度装置及相关产品与流程

文档序号:32313042发布日期:2022-11-23 13:29阅读:134来源:国知局
计算网络、算力度量方法、调度装置及相关产品与流程
计算网络、算力度量方法、调度装置及相关产品
1.本技术要求于2022年05月09日提交的申请号为202210503412.1、发明名称为“一种算力测算方法”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
2.本技术涉及计算机技术领域,特别涉及一种计算网络、算力度量方法、调度装置及相关产品。


背景技术:

3.计算网络中通常部署有多个计算中心,通过这多个计算中心能够高效处理计算任务,计算任务包括用户侧应用程序触发的数据处理任务,由计算网络的调度器将计算任务调度到各个计算中心执行。超算中心是一种通过超级计算机高速处理数据的计算中心。超算中心的算力指示超算中心的计算能力。如果对超算中心的算力估计不够准确,则计算任务可能会调度到实际算力不能满足计算任务的所需要的算力的超算中心,从而影响计算任务的执行效率。
4.相关技术中,有关标准机构设置并发布基准点(benchmark)程序,基准点程序包括一系列标准的操作指令。在需要度量某个超算中心的算力时,控制该超算中心执行基准点程序。通过该超算中心执行基准点程序过程中表现的性能来度量该超算中心的算力。
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.基于第二方面提供的方法,在一些实施例中,调度装置从多个计算单元中确定目标计算单元的实现过程可以为:向目标计算中心下发该探针任务包括的探针算子的标识;接收目标计算中心上报的多个计算单元中能够执行该探针任务的计算单元的标识;从多个计算单元中能够执行该探针任务的计算单元中确定目标计算单元。
45.基于第二方面提供的方法,在一些实施例中,调度装置从多个计算单元中确定目标计算单元的实现过程可以为:将多个计算单元的标识呈现给用户;响应于用户的操作,生成计算单元设置指令,计算单元设置指令中包括目标计算单元的标识;从计算单元设置指令中获取目标计算单元的标识。
46.基于第二方面提供的方法,在一些实施例中,目标计算中心上报有多个性能参数。这种场景下,调度装置根据目标计算中心上报的性能参数评估目标计算中心的算力的实现过程可以为:通过预设的策略将多个性能参数转换为算力的统一度量值。
47.第三方面,提供了一种调度装置,调度装置具有实现上述第二方面中算力度量方法行为的功能。调度装置包括至少一个模块,该至少一个模块用于实现上述第二方面所提供的算力度量方法。
48.第四方面,提供了一种调度装置,所述调度装置的结构中包括处理器和存储器,所述存储器用于存储支持调度装置执行上述第二方面所提供的算力度量方法的程序,以及存储用于实现上述第二方面所提供的算力度量方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
49.第五方面,提供了一种计算机可读存储介质,包括计算机程序指令,当所述计算机程序指令由调度装置执行时,调度装置执行如第二方面所提供的算力度量方法。
50.第六方面,提供了一种包含指令的计算机程序产品,当所述指令被调度装置运行时,使得调度装置执行如第二方面所提供的算力度量方法。
51.上述第二方面至第六方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
52.图1是本技术实施例提供的一种计算网络的架构示意图;
53.图2是本技术实施例提供的一种调度装置的硬件结构示意图;
54.图3是本技术实施例提供的一种计算节点的硬件结构示意图;
55.图4是本技术实施例提供的一种探针任务的设置流程示意图;
56.图5是本技术实施例提供的一种算力度量方法流程图;
57.图6是本技术实施例提供的一种探针任务下发流程示意图;
58.图7是本技术实施例提供的另一种探针任务下发流程示意图;
59.图8是本技术实施例提供的另一种探针任务下发流程示意图;
60.图9是本技术实施例提供的一种目标计算中心的执行效率和计算单元数量之间的对应关系示意图;
61.图10是本技术实施例提供的一种调度装置的模块结构示意图。
具体实施方式
62.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
63.在对本技术实施例进行详细解释说明之前,先对本技术实施例的应用场景进行介绍。
64.超级计算机(super computer),简称超算,是指一种规格和性能比一般的个人电脑超出许多的计算机,因此超算能够运行一般电脑无法运行的高速计算任务。基于此,超算可以为一些高科技领域和尖端技术研究领域提供所需的运算速度和存储容量。此外,超算在工业仿真模拟、地质勘探、气象预报、基因测序等领域也有非常广泛的应用。
65.需要说明的是,超算通常并不是一个独立的计算机,而是一个包括多个计算机的集群,因此超算也称为超算中心。基于此,一个超算中心通常包括多个计算节点,以通过多个计算节点上的计算资源来高效处理数据。此外,超算中心也可称为超算系统等,本技术实施例对超算中心的名称不做限定。应当理解的是,本文提及的“多个”是指两个或两个以上。
66.超算中心的运行需要消耗大量电能,导致超算中心的能耗非常大。并且,目前对超算中心的排名,已经不再单纯地使用计算性能这个要素来排名,而是开始以能耗性能比等要素来进行排名。此外,随着“碳中和”、“碳达峰”等要求的提出,各领域都在集中研究如何降低能耗。基于这些因素,节能逐渐成为建设超算中心的重要目标。
67.基于此,超算中心的建设不能够片面地追求计算速度,需要在系统功耗和系统实用效率上统筹考虑,以提高超算中心的系统整体的效能比。目前提高超算中心的系统整体的效能比有如下两种方式。一种是在能耗技术和计算硬件性能上进行突破,建设效能比更高的超算中心。另一种是构建包括多个超算中心的计算网络,通过计算网络实现跨地域、跨超算中心的计算资源统一调度。其中,计算网络也可以称为算力网络等,本技术实施例对此不做限定。
68.计算网络是一种能够根据业务需求,在云、网、边之间按需分配并灵活调度超算中心的计算资源、存储资源以及网络资源的新型信息基础设施。计算网络能够实现超算中心的灵活调度。
69.在计算网络的场景下,不同超算中心会将各自的计算资源整合到计算网络中,以使计算网络对各个超算中心进行统一的调度。而在不同超算中心之上进行调度的一个前提,是对超算中心能够提供的算力进行准确的度量。
70.算力可以理解为超算中心的计算能力。在万物互联的时代,算力就如同水和电一样,能够用来满足自动驾驶、云游戏、人脸识别、虚拟现实(virtual reality,vr)/增强现实(augmented reality)ar等各种应用的实时计算需求。
71.近年来,世界领先超算中心的算力正在向多样性的方向发展,导致难以对超算中心的算力进行准确的度量。比如,很多超算中心可以提供诸如中央处理器(central processing unit,c计算单元)、图形处理器(graphics processing unit,g计算单元)、网络处理器(network processing unit,n计算单元)等多样化的计算资源,来完成大数据、ai、科学计算等各种应用的计算任务。不同的计算资源在执行相同的任务时具有不同的表现,而相同类型的计算资源在运行各种不同应用时的性能表现也存在差异。
72.此外,随着业务需求的不断扩展,超算中心整体的技术栈也在变得越来越复杂,从
底层的计算芯片(x86(英特尔公司推出的16位微处理器)/进阶精简指令集机器(advanced risc machine,arm)/g计算单元/n计算单元)和基础软件(数学库/算子库),到编程框架和上层的模型应用,每个环节都在对超算中心整体提供的算力产生影响,进一步加剧了超算中心的算力进行准确度量的困难程度。
73.目前为了能够度量超算中心的算力,研究者们设置了一系列基准点(benchmark)程序。基准点程序包括一系列标准的操作指令,以模拟物理仿真、3d图像渲染、图像处理等真实的计算场景。通过超算中心在执行基准点程序过程中表现的性能来度量超算中心在这些计算场景下的算力。
74.比如,在hpc场景中,当前通常使用的基准点程序包括线性系统软件包(linear system package,linpack)和高性能线性代数系统软件包(high performance linpack,hpl)。其中,linpack是目前国际上最流行的测试超算中心性能的基准点程序,它主要通过在超算上用高斯消元法求解一元n次方程组,来评价超算中心的浮点计算性能(flops/每秒完成的双精度浮点计算次数)。hpl(high performance linpack)是一种用来评估超算中心的并行计算能力的基准点程序。除了linpack和hpl,业界还有一些其他基准点程序,如标准性能评测机构浮点性能(the standard performance evaluation corporation flops,specfp)、标准性能评测机构消息传递接口(spec message passing interface,specmpi)、高性能共轭梯度基准测试(high performance conjugate gradient,hpcg)、输入输出(in计算单元t/out计算单元t,io)500、流(stream)等,来评价hpc场景下的超算中心各方面的性能指标。
75.又比如,在ai计算场景中,同样也有许多基准点程序来评价超算中心的性能。机器学习性能(machine learning performance,ml perf)是用于测试机器学习硬件、软件以及服务和推断性能的一套公开化、标准化基准测试。通过ml perf可以反映超算中心在图像分类、目标物体识别检测、医学影像分割、机器翻译、自然语言处理和智能推荐等常见机器学习任务上的表现。残差神经网络(residual neural network,resnet)-50是一个经过预训练的图像分类神经网络,一般在超算中心上加载该模型来执行图像分类的推理任务,评估超算中心完成任务的速度,该速度用来作为衡量超算中心在深度学习上的性能。
76.在通过基准点程序度量超算中心的算力时,超算中心的厂商往往预先会对超算中心执行基准点程序所使用的资源进行设置,并优化超算中心的各种参数,以使超算中心在执行基准点程序时有最佳的性能表现,导致基于基准点程序度量的超算中心的算力并不准确。
77.另外,一些厂商为了展现自己的优势,甚至会定制化地设置一些基准点程序来反映超算中心性能的优越性。这同样会导致基于基准点程序度量的超算中心的算力不准确。
78.此外,目前业界通用的算力收费策略是利用基准点程序的测试结果来对不同的超算中心进行粗略分级,并根据分级来决定超算中心的收费策略。但是由于超算中心的算力难以准确量化,因此超算中心的收费策略存在不公平问题。
79.另外,基于基准点程序度量的超算中心的算力的方式除了存在度量不准确的问题,还存在如下问题。
80.目前通过基准点程序只能够去衡量超算中心整体能够提供的计算性能。而调度超算中心时,往往会根据用户的需求去使用超算中心的部分计算资源。如此,通过运行基准点
程序来获得的性能测试结果,难以反映出超算中心细粒度的计算资源的性能表现。
81.基于此,本技术实施例提供了一种计算网络以及算力度量方法,以解决通过基准点程序进行算力度量时所存在的技术问题。
82.为了便于理解,在此先对本技术实施例的整体构思做以说明。本技术实施例提出了一种能够对计算网络中的计算中心进行算力度量的方法。这种方法一方面无需考虑不同计算中心上的算力规模和算力性能之间的差异,直接对计算中心实际运行过程中执行的计算任务进行分析,并以此为依据设置与实际执行的计算任务相似的探针任务(probe task,pt),通过计算中心执行探针任务的完成情况,来完成对计算中心的算力的准确度量。另一方面,将计算中心的计算资源进行细粒度划分,以便于实现对计算中心上细粒度计算资源的算力的度量。具体实现方式详见后续实施例。
83.其中,计算网络中的计算中心可以为超算中心等执行计算任务的计算中心,本技术实施例对计算中心的具体形态不做限定。
84.下面对本技术实施例提供的计算网络的架构进行详细解释说明。
85.图1是本技术实施例提供的一种计算网络的架构示意图。如图1所示,计算网络00包括调度装置10、多个计算中心20以及用户端30。调度装置10和任一计算中心20之间可以相互通信。用户端30和调度装置10之间可以相互通信。
86.需要说明的是,计算网络00中的多个计算中心20的数量可以为任意数量,图1示例了两个计算中心20。另外,计算网络00可以包括多个用户端30,图1示例了一个用户端30。
87.用户端30上安装有应用程序,应用程序运行时生成需要计算资源处理的计算任务,该计算任务示例地可以包括hpc计算场景或ai计算场景等任意计算场景下的计算任务。应用程序通过用户端30将计算任务发送至调度装置10。调度装置10接收到该计算任务时,可以从这多个计算中心20中调度一个计算中心20来执行该计算任务。其中,调度装置10可以参考各个计算中心20的算力来选择要调度哪个计算中心20。基于此,调度装置10可以预先对各个计算中心20的算力进行准确度量。
88.如图1所示,调度装置10上部署有元调度器(meta-scheduler),元调度器为一个软件模块,用于实现本技术实施提供的算力度量方法。具体实现方式将在后续实施例中详细说明,在此先不展开说明。
89.需要说明的是,在计算网络中的计算中心20为超算中心的场景中,区别于在超算中心内部完成作业管理和资源调度的传统调度器,本技术实施例提供的调度装置上部署的元调度器用于完成在计算网络的超算中心之间进行作业管理和资源调度。
90.下面对调度装置10、计算中心20以及用户端30的硬件架构分别解释说明。
91.(1)调度装置
92.图2是本技术实施例提供的一种调度装置的硬件结构示意图。需要说明的是,图2所示的结构并不构成对本技术实施例提供的调度装置10的硬件实现的限定,任意能够实现调度装置10功能的设备均可以用来执行本技术实施例提供的算力度量方法。
93.具体地,如图2所示,调度装置10包括处理器101,通信总线102、存储器103以及至少一个通信接口104。
94.处理器101可以是通用中央处理器(central processing unit,c计算单元)、特定应用集成电路(application-specific integrated circuit,asic)或一个或多个用于控
制本技术实施例提供的算力度量方案程序执行的集成电路。
95.通信总线102用于在上述组件之间传送信息。
96.存储器103可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器103可以是独立存在,通过通信总线102与处理器101相连接。存储器103也可以和处理器101集成在一起。
97.其中,存储器103用于存储执行本技术实施例提供的算力度量方案的程序代码,并由处理器101来控制执行。处理器101用于执行存储器103中存储的程序代码。程序代码中可以包括一个或多个软件模块。比如,程序代码中包括图1所示的元调度器。
98.通信接口104,使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以是以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。
99.在具体实现中,作为一种实施例,调度装置10可以包括多个处理器,例如图2中所示的处理器101和处理器105。这些处理器中的每一个可以是一个单核(single-c计算单元)处理器,也可以是一个多核(multi-c计算单元)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
100.(2)计算中心
101.如图1所示,计算中心20包括多个计算节点201和至少一个管理节点202。图1中示例了两个计算节点201和一个管理节点202。
102.其中,计算节点201用于提供计算中心20所需的算力,管理节点202用于对计算中心20中的计算节点201进行管理。示例地,管理节点202可以调度某个计算节点201来执行计算任务,这种场景下,管理节点202也可以称为调度器。
103.其中,计算节点201是一种具有计算能力的设备,如服务器、台式计算机等。
104.在软件上,每个计算节点201上具有操作系统。在硬件上,如图3所示,计算节点201至少包括处理器2011、内存2012和网卡2013。处理器2011、内存2012和网卡2013之间通过总线连接。其中,处理器2011和内存2012用于提供计算资源。
105.其中,处理器2011可以是一个中央处理器(central processing unit,cpu),用于处理来自计算节点外部的计算任务。可选地,处理器2011还可以为图形处理器(graphics processing unit,gpu),用于处理图像数据相关的计算任务。该计算任务示例地可以包括几何转换、光照处理、立方环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图、渲染等图像和图形处理任务。可选地,处理器2011还可以为张量处理器(tensor processing unit,tpu),用于处理机器学习等计算任务。可选地,处理器2011还可以为神经网络处理器(neural-network process unit,npu),用于处理视频、图像类的海量多媒体数据相关的计算任务。
106.内存2012是指与处理器2011直接交换数据的内部存储器,它可以随时读写数据,而且速度很快,作为操作系统或其他正在运行中的程序的临时数据存储器。内存包括至少两种存储器,例如内存既可以是随机存取存储器,也可以是只读存储器(read only memory,rom)。实际应用中,计算节点201中可配置多个内存2012,以及不同类型的内存2012。本实施例不对内存2012的数量和类型进行限定。
107.综上,在本技术实施例中,计算节点201可以提供多样化的计算资源。
108.网卡2013用于与其他计算节点201以及管理节点202通信。
109.另外,计算节点201可以为存算一体的计算节点,这种场景下,计算节点201还包括硬盘等存储资源。可选地,计算节点201也可以不包括硬盘等存储资源,这种场景下,计算节点201可以借用具有存储资源的节点上的存储资源来存储数据。
110.(3)用户端
111.用户端30可称为应用服务器。用户端30可以是物理机,也可以是虚拟机。物理机包括但不限于桌面电脑、服务器、笔记本电脑以及移动设备。
112.用户端30可以通过光纤交换机、以太网交换机、无限带宽(infini-band,ib)交换机、基于融合以太网的远程直接数据存取(remote direct memory access over converged ethernet,roce)交换机等将计算任务上报给调度装置10。
113.在软件上,用户端30上安装有应用程序,用户通过应用程序来实现相应功能。比如,用户可通过图像处理类应用程序实现对图像的处理,用户还可通过ai类应用程序实现人工智能。应用程序运行过程中将触发数据处理类计算任务,用户端30负责将该计算任务上报给调度装置10,由调度装置10调度一个计算中心20来处理该计算任务。
114.基于图1所示的计算网络的架构,调度装置通过本技术实施例提供的算力度量方法度量各个计算中心的算力。本技术实施例提供的算力度量方法是基于计算中心执行探针任务(probe task,探针任务)的具体情况来度量计算中心的算力。探针任务是基于计算网络中计算中心所执行的计算任务设置的。这样度量出的计算中心的算力和计算中心实际执行计算任务时表现的算力不会相差太大。
115.另外,为了便于度量计算中心上细粒度的计算资源的算力,计算中心可以预先将自身的计算资源划分为多个计算单元,计算单元也称为探针单元(probe unit,pu),如此便可度量某个细粒度的计算单元的算力。
116.为了后续便于理解,在此先对如何设置探针任务和配置计算单元的相关内容进行解释说明。
117.一、探针任务的设置
118.为了后续便于说明,将设置探针任务所参考的计算任务称为目标任务。目标任务为计算中心所执行的计算任务,也即目标任务为计算中心实际运行时所执行的计算任务。示例地,在图1所示的计算网络中,目标任务为用户端上报给调度装置的计算任务,该计算任务为用户端上安装的应用程序触发的计算任务。
119.在本技术实施例中,可以通过以下两种实现方式来设置探针任务。
120.第一种实现方式,调度装置基于目标任务和探针算子库自动生成该探针任务。
121.其中,探针算子库包括多个探针算子,探针算子也可以称为探针核心(probe kernel,pk)。
122.这多个探针算子是由专家预先对计算网络中的各类计算任务进行分析确定的。具体地,专家预先分析计算网络中大量计算任务中各个计算任务所指示的执行相应计算任务的执行算子,将分析出的执行算子中影响计算中心执行计算任务的性能的算子作为一个探针算子。由于影响计算中心执行计算任务的性能的算子通常能够体现计算任务的核心计算过程,因此影响计算中心执行计算任务的性能的算子也可以称为核心算子。本技术实施例对专家如何分析出核心算子的过程不做详细说明。
123.比如,在重计算场景下,hpc中的dgemm、快速傅里叶变换(fast fourier transform,fft)等算子的算力消耗比较高,因此可以将这些算子作为探针算子。又示例地,在ai场景下双精度稠密矩阵相乘、稀疏矩阵乘向量、三角函数、卷积(convolution,conv)等算子的算力消耗比较高,因此可以将这些算子作为探针算子。
124.此外,专家通过对业界典型应用进行分析得出一系列探针算子后,可以基于这些探针算子的标识将这些探针算子由各个计算中心上传至探针算子库,以得到探针算子库包括的多个探针算子。在此不再详细说明。
125.基于此,调度装置基于目标任务和探针算子库自动生成该探针任务的实现方式可以为:调度装置将目标任务所指示的执行目标任务的至少一个执行算子和探针算子库中的多个探针算子进行匹配,得到至少一个探针算子;基于至少一个探针算子生成探针任务。为了后续便于说明,将目标任务所指示的执行目标任务的至少一个执行算子简称为目标任务所指示的算子,匹配到的至少一个探针算子简称为匹配的探针算子。
126.其中,与目标任务所指示算子匹配的探针算子可以通过匹配算法得到。匹配算法示例地可以为算子对应的代码之间的相似度匹配算法等,本技术实施例对此不做限定。
127.另外,为了后续便于说明,将目标任务所指示的算子中与探针算子匹配的算子称为匹配算子,如此基于匹配的探针算子生成探针任务的实现方式可以为:对于匹配到的任一探针算子,确定与该探针算子对应的匹配算子在执行目标任务过程中的执行次数,将匹配算子的执行次数按照参考比例缩小,得到该探针任务中该探针算子的执行次数,基于各个探针算子的执行次数、以及各个探针算子的输入输出之间的逻辑关系生成该探针任务。
128.比如,匹配的探针算子包括探针算子1、探针算子2和探针算子3。探针算子1对应的匹配算子在目标任务执行过程中的执行次数为3000次、探针算子2对应的匹配算子在目标任务执行过程中的执行次数为2000次、探针算子3对应的匹配算子在目标任务执行过程中的执行次数为1000次。假设参考比例为1000:1,则通过上述实现方式确定出的探针算子1的执行次数为3次、探针算子2的执行次数为2次、探针算子3的执行次数为1次。另外,探针算子1的输出和探针算子2的输出为p k3的输入,基于此生成的探针任务便可为:执行三次探针算子1,基于三次执行探针算子1的输出结果确定探针算子1的平均输出结果,执行二次探针算子2,基于二次执行探针算子2的输出结果确定探针算子2的平均输出结果,基于探针算子1的平均输出结果和探针算子2的平均输出结果执行探针算子3。
129.需要说明的是,对于匹配的探针算子中任一探针算子,如果该探针算子对应的匹配算子的执行次数较少,比如只有一次,可以不用对匹配算子的执行次数按照参考比例缩小,直接将匹配算子的执行次数设置为该探针算子的执行次数即可。
130.另外,基于匹配的探针算子生成探针任务的过程中,可以生成一个探针任务也可以生成多个探针任务。比如,匹配的探针算子中部分探针算子的输入输出存在关联,另外部
分探针算子的输入输出和前一部分的探针算子的输入输出没有关联,则可以设置两个独立的探针任务。可选地,也可以不考虑匹配的探针算子的输入输出是否有关联,直接将匹配的探针算子设置在一个探针任务内,此时该探针任务内可能包括多个相互之间没有关联的子任务。
131.基于上述内容可知,在本技术实施例中,探针任务可以理解为是一段能够在计算中心上运行的二进制可执行程序,其内容就是执行一系列探针算子的计算任务。
132.此外,上述基于目标任务所指示的算子和探针算子库自动生成该探针任务的过程可以由调度装置实现。可选地,为了避免调度装置的数据处理压力较大,可以将探针算子库配置在其他服务器上,这种情况下,由其他服务器基于目标任务所指示的算子和探针算子库自动生成该探针任务,然后将该探针任务下发给调度装置。
133.第二种实现方式,由专家对目标任务进行分析,以设置针对目标任务的探针任务。
134.在一些实施例中,调度装置可以与管理员端连接,管理员端为专家所使用的终端。这种情况下,当管理员端检测到专家触发的pt设置指令时,从调度装置处获取并显示目标任务,由专家在管理员端对目标任务所指示的算子进行分析,以确定目标任务的核心算子,将该核心算子作为探针算子,然后由专家将分析出的探针算子组合为探针任务,并通过管理员端将该探针任务发送至调度装置。
135.图4是本技术实施例提供的一种探针任务的设置流程示意图。如图4所示,对于大规模稠密矩阵直接求解这一类计算任务,专家通过管理员端对这类计算任务的运行时间等属性进行分析。分析结果表明在该类计算任务中双精度矩阵乘法(double-precision matrix-matrix multiplication,dgemm)为算力消耗最高的算子,因此专家可以将该dgemm作为一个探针算子,并基于该探针算子设置如图4所示的探针任务,该探针任务包括三个dgemm。然后管理员端可以将该探针任务上传至调度装置。
136.在另一些实施例中,调度装置为包括输入输出组件的设备。这种情况下,由专家直接在调度装置上对目标任务进行分析,得到目标任务中的核心算子,然后由专家在调度装置上将分析的核心算子组合为探针任务。具体实现方式在此不再详细说明。
137.在第二种实现方式中同样并不限定专家如何分析得到目标任务中的核心算子。
138.上述第一种实现方式和第二种实现方式用于示例说明基于目标任务设置探针任务的过程,本技术实施例对基于目标任务设置探针任务的各种实现方式不做限定。
139.此外,在本技术实施例中,可以由专门的一个系统来维护探针算子库,比如调度装置或其他服务器。专家可以在调度装置上对探针算子库中的探针算子进行修改或更新或删除,或者向探针算子库中上传新的探针算子等等。
140.另外,可选地,由于探针算子库包括大量的探针算子,为了便于对探针算子进行管理,专家可以为探针算子库中的探针算子设置算子类别,该算子类别示例地可以hpc类别、ai类别等等。
141.如此在第一种实现方式基于待处理的目标任务自动生成探针任务时,可以基于待处理的目标任务的类型,先从探针算子库中选择一个算子类别,然后从选择的算子类别对应的探针算子中确定匹配的探针算子,进而基于匹配的探针算子自动生成探针任务,提高了第一种实现方式中自动生成探针任务的效率。
142.其中,计算任务的类型可以基于触发该计算任务的应用程序的类型来确定。其中,
应用程序的类型具体可以由专家来指定,本技术实施例对此不做详细说明。比如,图像处理类应用程序触发的计算任务为一个类型的计算任务,ai类应用程序触发的计算任务为一个类型的计算任务。
143.如此,专家在分析探针算子时,便可基于分析探针算子所参考的计算任务的类型来设置探针算子的算子类别。对于待处理的目标任务,基于触发目标任务的应用程序的类型同样可确定目标任务的类型。
144.可选地,计算任务的类型也可以通过其他方式来确定,比如基于计算任务所需的资源来划分计算任务的类型,或者基于计算任务所涉及的算子来划分计算任务的类型等等,本技术实施例在此不再一一详细说明。
145.此外,专家在设置探针任务时,可以预先对设置的探针任务进行测试,测试目的是为了确保设置的探针任务在较小规模的计算资源配置下的执行时间为秒级,以避免后续计算中心执行探针任务时对当前正在执行的其他计算任务造成干扰。
146.二、计算单元的配置
147.在本技术实施例中,为了能够度量计算中心上细粒度的计算资源的算力,计算中心可以预先将自身的计算资源划分为多个计算单元,并将划分后的计算单元的相关信息上报给调度装置。如此,调度装置便可度量计算中心上某个计算单元的算力。划分后的计算单元的相关信息可以称为计算中心的资源配置信息。
148.其中,计算单元为计算中心中执行任务的基本逻辑单元。对于计算网络中任一计算中心,该计算中心可以按照计算中心中各个计算节点的计算资源的类型来配置计算单元。
149.比如,该计算中心中各个计算节点的计算资源的类型包括cpu、gpu和npu三类计算资源。其中,cpu这类计算资源包括100个cpu核,gpu这类计算资源包括100个gpu核,npu这类计算资源包括100个npu核。这种场景下,计算中心可以将cpu对应的计算资源划分为20个计算单元,每个计算单元包括5个cpu核,将gpu对应的计算资源划分为20个计算单元,每个计算单元包括5个gpu核,将npu对应的计算资源划分为20个计算单元,每个计算单元包括5个npu核。
150.需要说明的是,上述是以cpu、gpu或npu为例说明计算中心的计算资源的类型。可选地,计算资源的类型还可以为cpu或者gpu或者npu的某个下位分类,也即如果计算中心的cpu包括多个类型的cpu,或者,gpu包括多个类型的gpu,或者,npu包括多个类型的npu,此时可以按照cpu或者gpu或者npu的下位分类来配置计算单元,在此不再详细说明。
151.另外需要说明的是,上述的cpu核、gpu核或npu核可以理解为相应计算资源的逻辑核或物理核。以cpu核为例进行说明,cpu核示例地可以是cpu逻辑核,cpu逻辑核是在cpu物理核基础上划分的逻辑层面的核。比如,一个cpu物理核可以划分为两个cpu逻辑核。具体地,可以通过控制cpu物理核高速运算,让应用程序以为有两个cpu物理核在运算,从而达到将一个cpu物理核划分出两个cpu逻辑核的作用。
152.另外,计算网络中不同计算中心配置计算单元的方式可以相同也可以不同。其中,配置计算单元的方式可以理解为:如何基于计算资源的类型配置计算单元,以及每个计算单元包括的计算资源的多少。比如,对于计算网络中的计算中心1和计算中心2,计算中心1和计算中心2的计算资源均包括100个cpu核。这种场景下,计算中心1可以配置20个计算单
元,每个计算单元包括5个cpu核,计算中心2可以配置10个计算单元,每个计算单元包括10个cpu核。
153.换句话说,计算网络中各个计算中心配置计算单元的方式相互独立,各个计算中心均可按照自身的计算资源的相关信息来配置计算单元。
154.其中,计算中心配置计算单元可以通过管理员人工操作来实现。具体可以由管理员先指定将哪些计算资源作为一个类型的计算资源,并指定多少计算资源作为一个计算单元,如此计算中心便可根据管理员指定的方式将自身的计算资源按照计算单元进行划分。
155.计算中心在配置完计算单元之后,可以向调度装置上报资源配置信息,该资源配置信息示例地包括计算中心包括的计算单元的属性,该属性包括计算中心包括哪些类型的计算单元,每个类型的计算单元有多少个,以及每个类型的计算单元所支持的算子等等。
156.其中,每个类型的计算单元所支持的算子,也即该类型的计算单元能够执行的算子。每个类型的计算单元所支持的算子和组成该类型的计算单元的计算资源的类型有关。
157.在一些实施例中,计算中心上配置有计算资源类型和支持算子之间的对应关系,该对应关系可以由管理员上传至计算中心。如此,计算中心在确定计算单元之后,便可基于组成计算单元的计算资源的类型和该对应关系,确定出该计算单元所支持的算子。
158.其中,计算资源类型和支持算子之间的对应关系可以预先由管理员上传至计算中心,在此不再详细说明。
159.表1是本技术实施例提供的一种资源配置信息的示意表。如表1所示,计算中心向调度装置上报的资源配置信息包括三类计算单元,分别为计算单元1、计算单元2以及计算单元3,其中计算单元1包括10个计算单元,计算单元2包括20个计算单元,计算单元3包括5个计算单元。计算单元1支持的算子包括算子1、算子3和算子4。计算单元2支持的算子包括算子1、算子2、算子3和算子5。计算单元3支持的算子包括算子1、算子2和算子5。
160.表1
161.计算单元标识计算单元数量(个)支持算子计算单元110算子1、算子3和算子4计算单元220算子1、算子2、算子3和算子5计算单元35算子1、算子2和算子5
162.需要说明的是,上述配置计算单元的过程仅仅用于示例说明,在应用本技术实施例时,计算中心对应的管理员可以基于需求对计算中心上的计算资源进行任意划分,以配置计算中心的计算单元,在此不再一一举例说明。
163.在完成探针任务的设置和计算单元的配置后,调度装置便可对计算中心的算力进行度量。图5是本技术实施例提供的一种算力度量方法流程图。如图5所示,该方法包括如下步骤501-503。
164.步骤501:调度装置获取探针任务,并向目标计算中心下发探针任务,该探针任务根据目标计算中心所执行的计算任务设置。
165.其中,如何基于目标计算中心所执行的计算任务设置探针任务的实现方式可以参考前述内容,在此不再赘述。同样为了后续便于说明,将设置探针任务所参考的目标计算中心所执行的计算任务称为目标任务。
166.在本技术实施例中,调度装置可能在以下两种示例场景中获取探针任务并向目标
计算中心下发探针任务。
167.场景一:当接收到待处理的目标任务时,基于目标任务设置探针任务,并向目标计算中心下发探针任务。
168.在场景一中,调度装置在接收到用户端上报的待处理的目标任务时,临时基于该目标任务确定一个探针任务,然后基于该探针任务准确度量计算网络中各个计算中心的算力,以基于准确度量的各个计算中心的算力来合理调度一个计算中心来执行该待处理的目标任务。
169.其中,调度装置可以在以下两种示例中临时基于该待处理的目标任务确定一个探针任务。
170.示例地,调度装置在接收到该待处理的目标任务时,如果确定该目标任务在当前时间之前未执行过,则可以临时基于该目标任务确定一个探针任务,以便基于该探针任务准确度量目标计算中心的算力,并基于度量的算力来调度目标计算中心执行目标任务。
171.又示例地,可以预先设置度量周期,以使调度装置每隔度量周期度量一次目标计算中心的算力。基于此,在度量周期达到时,调度装置对于接收到该待处理的目标任务,可以临时基于该目标任务确定一个探针任务,以便基于该探针任务度量各个计算中心的算力,并基于度量的算力来调度目标计算中心执行目标任务。
172.其中,对于待处理的目标任务,为了避免影响目标任务的执行效率,调度装置可以基于前述设置探针任务的第一种实现方式,基于该待处理的目标任务确定一个探针任务。具体地,在接收到待处理的目标任务时,基于该目标任务所指示的执行目标任务的执行算子和探针算子库,确定探针任务。具体实现方式可以参考前述设置探针任务的详细实现方式,在此不再重复说明。
173.场景二:在执行完目标任务后,根据目标任务生成探针任务,并向目标计算中心下发探针任务。
174.在场景二中,在目标任务执行完后,调度装置可以通过专家基于该目标任务执行过程中的相关信息设置探针任务,并存储探针任务,然后在需要度量目标计算中心的算力时,向目标计算中心下发该探针任务,以度量目标计算中心的算力。示例地,在调度装置确定并存储探针任务后,响应于算力度量指令,从调度装置中获取该探针任务,并通过步骤501下发探针任务。
175.在场景二中,在度量出目标计算中心的算力后,后续调度装置重新接收到用户端上报的计算任务时,根据已经度量目标计算中心的算力直接调度目标计算中心执行重新接收到的计算任务。提高了计算任务的执行效率。
176.其中,调度装置基于目标任务确定探针任务的具体过程同样可以参考前述设置探针任务的详细实现方式,在此不再重复说明。
177.需要说明的是,在场景二中,由于计算网络计算任务可以包括多种类型的计算任务,因此,调度装置可以针对每个类型的计算任务确定一个探针任务,并记录探针任务和任务类型之间的对应关系。如此,调度装置在重新接收到待处理的计算任务时,便可基于待处理的计算任务的类型从该对应关系中,获取与该计算任务的类型匹配的探针任务,然后根据获取的探针任务度量的目标计算中心的算力来调度目标计算中心。
178.其中,计算任务的类型的相关内容可以参考设置探针任务的相关内容,在此不再
赘述。
179.此外,步骤501中的目标计算中心可以为图1所示的计算网络中的一个或多个计算中心。当目标计算中心为计算网络中的一个计算中心时,基于图5所示的实施例,可以实现对某个计算中心的算力的度量。当目标计算中心为计算网络中的多个计算中心时,基于图5所示的实施例,可以实现对不同计算中心的算力之间的差异性的度量。
180.图6是本技术实施例提供的一种探针任务下发流程示意图。如图6所示,目标计算中心包括计算中心a,计算中心b以及计算中心c。调度装置下发的探针任务包括双精度稠密矩阵乘、稀疏矩阵乘向量、三角函数以及conv等探针算子。图6中将双精度稠密矩阵乘标记为

,将稀疏矩阵乘向量标记为

,将三角函数标记为

,将conv标记为

。调度装置分别向计算中心a,计算中心b以及计算中心c下发该探针任务。
181.另外,在将目标计算中心上的计算资源划分后细粒度计算单元的场景中,在一些实施例中,调度装置中包括目标计算中心所包括的多个计算单元的标识,如此调度装置还可以从这多个计算单元中确定目标计算单元,以在下发探针任务时还向目标计算中心下发目标计算单元的标识。以便于后续目标计算中心根据目标计算单元的标识确定执行探针任务的目标计算单元在,并控制目标计算单元执行探针任务。
182.图7是本技术实施例提供的另一种下发探针任务的流程示意图。如图7所示,调度装置向计算中心a和计算中心b下发探针任务的同时还下发了目标计算单元的标识。图7中计算中心a和计算中心b均包括多个pu,每个pu代表一个计算单元,目标计算单元如图7虚线方框所标记。当计算中心a和计算中心b接收到目标计算单元的标识时,便可控制自身的目标计算单元的执行探针任务,并在执行完探针任务后向调度装置上报性能参数。
183.其中,调度装置从这多个计算单元中确定目标计算单元的实现方式示例如下。
184.在一些实施例中,调度装置可以获取目标计算中心的资源配置信息,基于目标计算中心的资源配置信息确定目标计算中心包括的每个计算单元能够执行的算子;基于目标计算中心包括的每个计算单元能够执行的算子以及探针任务所包括的探针算子,从目标计算中心所包括的多个单元中选择目标计算单元。
185.其中,如前述计算单元配置过程可知,调度装置获取目标计算中心的资源配置信的实现过程可以为:接收目标计算中心上报的资源配置信息。
186.可选地,目标计算中心在配置完计算单元之后,还可以将资源配置信息主动上传至网络管理器,后续调度装置可以从网络管理器处获取目标计算中心的资源配置信息。
187.可选地,在目标计算中心的计算单元由管理员通过人工操作配置完成后,管理员还可以直接将目标计算中心的资源配置信息上传至调度装置。
188.另外,在探针任务包括探针算子的情况下,调度装置基于目标计算中心包括的每个计算单元能够执行的算子以及探针任务所包括的探针算子,从目标计算中心所包括的多个单元中选择目标计算单元的实现过程可以为:对于目标计算中心的任一计算单元,将探针任务包括的每个探针算子和该计算单元所支持的算子进行匹配,如果探针任务包括的每个探针算子都能和该计算单元所支持的一个算子匹配,则确定该计算单元能够执行该探针任务,然后从能够执行该探针任务的计算单元中确定目标计算单元。比如,调度装置可以直接将能够执行该探针任务的计算单元作为目标计算单元。
189.其中,探针算子和计算单元所支持的算子匹配可以理解为:探针算子对应的代码
和算子对应的代码之间的相似度较大。
190.可选地,在另一些实施例中,调度装置可以在向目标计算中心下发探针任务之前,向目标计算中心下发探针任务包括的探针算子的标识,目标计算中心基于该探针任务包括的探针算子的标识,向调度装置上报多个计算单元中能够执行探针任务的计算单元的标识,调度装置从这多个计算单元中能够执行该探针任务的计算单元中确定目标计算单元。
191.如图8所示,调度装置可以先向目标计算中心下发资源获取请求,该资源获取请求携带该探针任务的属性,比如该探针任务包括的探针算子的标识。目标计算中心在接收到该资源获取请求时,基于自身所包括的各个计算单元所支持的算子,向调度装置上报能够执行该探针任务的计算单元的标识。调度装置在接收到目标计算中心上报的能够执行该探针任务的计算单元的标识时,则从能够执行该探针任务的计算单元中确定目标计算单元。以在下发探针任务时还下发目标计算资源的标识。
192.可选地,在另一些实施例中,目标计算单元还可以由用户指定。比如,在某些场景下的计算任务,用户可能会指定该计算任务由某种类型的计算单元来执行,此时调度装置下发的目标计算单元的标识则是由用户指定的。
193.基于此,调度装置在从这多个计算单元中确定目标计算单元的实现方式可以为:将这多个计算单元的标识呈现给用户,响应于用户的操作,生成计算单元设置指令,该计算单元设置指令中包括目标计算单元的标识,从所述计算单元设置指令中获取目标计算单元的标识。
194.其中,调度装置在将多个计算单元的标识呈现给用户之后,用户便可从这多个计算单元中选择目标计算单元,以实现目标计算单元由用户指定。其中,用户的操作也即用户从这多个计算单元中选择目标计算单元的操作。
195.另外,可选地,在另一些实施例中,调度装置在向目标计算中心下发探针任务时,也可以不向目标计算中心下发目标计算单元的标识。这种场景下,目标计算中心在接收到探针任务后,由目标计算中心自身判断能够执行探针任务的计算单元,也即由目标计算中心自身来确定目标计算单元,并控制目标计算单元执行探针任务。并且为了便于后续调度装置准确度量算力,目标计算中心需要在上报目标计算中心执行探针任务的性能参数时将确定的目标计算单元的标识也上报给调度装置。
196.另外,基于前述配置计算单元的相关内容可知,计算中心上某类计算单元可能包括多个数量的计算单元。这种场景下,调度装置在指定目标计算单元来执行探针任务时,还可以指定目标计算单元中并行执行探针任务的计算单元数量,以实现指定一定规模的计算单元来执行探针任务。
197.基于此,在一些实施例中,调度装置在向目标计算中心下发探针任务和目标计算单元的标识时,还可以向目标计算中心下发目标数量,目标数量为目标计算单元包括的至少两个计算单元中并行执行探针任务的计算单元数量。
198.可选地,在一些实施例中,调度装置在向目标计算中心下发探针任务时,也可以不向目标计算中心下发目标数量。这种场景下,由目标计算中心自身确定目标计算单元中并行执行探针任务的计算单元的目标数量,并且为了便于后续调度装置准确度量算力,目标计算中心需要将确定的目标数量上报给调度装置。
199.进一步地,在某些场景中,调度装置可能需要度量目标计算中心的执行效率和计
算单元数量之间的对应关系,以避免在后续调度目标计算中心的计算单元执行计算任务时,调度的计算单元的数量过多。此时,调度装置在目标计算中心下发探针任务时,还可以向目标计算中心下发多个不同的目标数量,每个目标数量为目标计算单元中至少两个计算单元中并行执行探针任务的计算单元数量。如此,目标计算中心便可按照这多个不同的目标数量分别执行探针任务,以便于调度装置基于目标计算中心分别执行探针任务的性能参数,确定目标计算中心的执行效率和计算单元数量之间的对应关系。相关内容将在后续内容中详细说明,在此先不展开。
200.步骤502:目标计算中心执行该探针任务,并将目标计算中心在执行该探针任务过程中的性能参数上报至调度装置。
201.为了后续便于说明,将目标计算中心上报的性能参数称为评测结果。
202.在一些实施例中,该评测结果包括目标计算中心执行探针任务的执行时长,和/或,目标计算中心执行探针任务后得到的输出结果的精度。
203.由于探针任务本质上为一个小型的计算任务,因此目标计算中心执行探针任务后有输出结果,输出结果可以理解为一个数值。目标计算中心执行探针任务后得到的输出结果的精度,示例地可以包括输出结果的计算准确度或浮点精度,输出结果的计算准确度可以理解为输出结果与预先设置的真值之间的误差值。预先设置的真值可以由专家预先上传。
204.需要说明的是,与目标计算中心执行探针任务的过程相关的性能参数不限于目标计算中心执行探针任务的执行时长、以及目标计算中心执行探针任务后得到的输出结果的精度,在应用本技术实施例时,与目标计算中心执行探针任务的过程相关的任一性能参数均可以携带在评测结果中,本技术实施例在此不再一一举例说明。
205.在另一些实施例中,在调度装置在目标计算中心下发探针任务时,还向目标计算中心下发多个不同的目标数量的场景中,评测结果包括与多个不同的目标数量一一对应的多个子评测结果。每个子评测结果示例地可以包括目标计算中心按照相应目标数量执行探针任务过程中的性能参数,比如执行时长。以便于后续调度装置基于多个子评测结果,确定目标计算单元执行探针任务的执行效率和计算单元数量之间的对应关系。
206.在上述场景中,目标计算中心将目标计算中心按照每个目标数量执行探针任务的性能参数作为一个子评测结果,然后将多个子评测结果打包为一个评测结果发送至调度装置。可选地,目标计算中心也可以分别向调度装置发送多个评测结果,每个评测结果和一个目标数量对应,每个评测结果指示目标计算中心按照相应目标数量执行探针任务过程中的性能参数。
207.步骤503:调度装置根据目标计算中心上报的性能参数评估目标计算中心的算力。
208.在一些实施例中,如果调度装置能够确定执行探针任务的目标计算单元的标识,步骤503具体可以理解为:调度装置基于评测结果度量目标计算单元的算力,目标计算单元为目标计算中心包括的多个计算单元中执行探针任务的计算单元。也即是,调度装置根据上报的性能参数评估的计算中心的算力为目标计算单元的算力,从而实现对目标计算中心上的细粒度计算资源的算力度量。
209.其中,调度装置确定目标计算单元的标识的具体实现方式可以参考步骤501,在此不再详细说明。
210.另外,在一些实施例中,由于评测结果包括多个不同维度的性能参数,比如执行时长和输出结果的精度,因此为了便于能够直观评价不同计算中心的算力之间的差异,可以将评测结果转换为具体的算力值(也即算力)。
211.基于此,步骤503的实现过程可以为:调度装置基于预设的策略将多个性能参数转换为算力的统一度量值。
212.为了便于说明,将预设的策略称为度量策略。其中,度量策略可以理解为一种将评测结果中各个性能参数转换为算力值的算法。示例地,假设评测结果包括多个性能参数,则度量策略中可以指明每个性能参数的参数值如何转换为算力值,从而得到各个性能参数对应的算力值,并指明如何将各个性能参数的算力值整合为统一的算力。
213.比如,评测结果包括两个性能参数,分别是执行时长和输出精度。则度量策略中可以包括两个映射关系,分别为第一映射关系和第二映射关系。其中,第一映射关系包括多个时长区间以及与多个时长区间分别对应的算力值,第二映射关系包括多个精度区间以及与多个精度区间分别对应的算力值。度量策略中还包括第一权重和第二权重,第一权重为执行时长对应的权重,第二权重为输出精度对应的权重。
214.基于此,当调度装置接收到目标计算中心上报的执行时长和输出精度时,根据上报的执行时长和第一映射关系,确定上报的执行时长对应的算力值,根据上报的输出精度和第二映射关系,确定上报的输出精度对应的算力值。然后基于第一权重和第二权重,将上报的执行时长对应的算力值和上报的输出精度对应的算力值进行加权处理,得到的数值即为统一度量后的目标计算中心的算力。
215.上述度量策略用于示例说明,并不构成对本技术实施例提供的度量策略的限定。
216.另外,在本技术实施例中,可以由专家设置度量策略,并将度量策略上传至调度装置。这种场景下,调度装置获取度量策略的实现方式可以为:调度装置响应于度量策略上传操作,获取度量策略。
217.其中,本技术实施例并不限定专家设置度量策略的具体方式,在应用本技术实施例时,专家可以基于实际需求设置具体的度量策略。
218.另外,为了避免算力度量过程中的随机性和系统抖动对算力度量产生影响,还可以向目标计算中心多次下发该探针任务,以使目标计算中心多次执行该探针任务,得到多个评测结果。由调度装置对多个评测结果进行均值化处理,得到目标计算中心的平均算力,以提高度量的目标计算中心的算力的准确性。
219.另外,调度装置在向目标计算中心下发探针任务后,目标计算中心除了控制自身上的目标计算单元执行该探针任务,还可以向调度装置上报自身包括的计算单元中除了目标计算单元外还有哪些计算单元可以用于执行该探针任务。如此调度装置可以度量出目标计算中心上能够执行的该探针任务的计算单元的种类,从而实现多样化算力的度量。
220.另外,为了能够标准化度量不同计算中心的算力之间的差异,基于图5所示的实施例,调度装置可以向计算网络中不同计算中心的相同数量的计算单元下发相同的探针任务,从而标准化地评估不同计算中心的算力性能之间的差异。
221.综上所述,图5所示的实施例具有如下技术效果:
222.(1)基于图5所示的实施例,可以基于探针任务度量目标计算中心的算力,由于探针任务是基于目标计算中心所执行的计算任务设置的,因此基于探针任务度量的目标计算
中心的算力与目标计算中心实际运行时表现的算力相差不大。也即,本技术实施例提供的算力度量方法可以更为准确地度量目标计算中心的算力。
223.此外,在计算网络中算力作为资源向外界提供时,需要考虑计费的问题。基于本技术实施例提供的算力度量方法,可以实现对计算中心的算力的准确度量,从而避免算力计费存在不合理的地方。
224.(2)基于图5所示的实施例,通过将计算中心上的计算资源划分为细粒度的计算单元,调度装置可以实现对细粒度的计算单元的算力的度量,从而度量出计算中心上细粒度的计算资源的性能表现。
225.本技术实施例提供的算力度量方法除了上述方案还可以包括如下技术方案。
226.1、评估在不同规模计算单元下算力性能的差异变化。
227.具体地,如步骤501所示,调度装置在目标计算中心下发探针任务和目标计算单元的标识时,如果还向目标计算中心下发多个不同的目标数量,每个目标数量为目标计算单元中至少两个计算单元中并行执行探针任务的计算单元数量。这种场景下,目标计算中心便可控制这多个不同的目标数量的目标计算单元分别执行探针任务,并上报与多个目标数量分别对应的性能参数,以便于调度装置基于与多个目标数量分别对应的性能参数,确定目标计算中心的执行效率和计算单元数量之间的对应关系。也即,评估在不同规模计算单元下算力性能的差异变化。
228.通常情况下目标计算中心的执行效率和计算单元数量之间的对应关系呈现图9所示的变化趋势。如图9所示,在计算单元数量较少的情况下,目标计算中心的执行效率随着计算单元数量的增加而明显变大,但是当计算单元数量增加到一定数量阈值时,目标计算中心的执行效率随着数量的增加变化不大。
229.基于此,调度装置在得到目标计算中心的执行效率和计算单元数量之间的对应关系之后,后续调度装置在需要确定调度目标计算中心上的多少个计算单元时,可以控制调度的计算单元的数量在图9所示的数量阈值之内,以避免调度过多计算单元而浪费计算资源。
230.因此,在一些实施例中,对于待处理的计算任务,调度装置可以基于目标计算中心上目标计算单元执行探针任务的执行效率和计算单元数量之间的对应关系,确定调度数量;然后调度目标计算中心上目标计算单元中调度数量个计算单元执行待处理的计算任务。
231.2、度量计算中心的网络资源的性能。
232.本技术实施例提供的算力度量方法除了可以度量计算中心上的计算资源的性能,还可以度量计算中心的网络资源的性能。
233.基于此,在一些实施例中,步骤501的实现过程可以为:调度装置在参考时间段内多次向目标计算中心下发该探针任务。相应地,步骤502的实现过程可以为:调度装置接收目标计算中心多次返回的评测结果,每次返回的评测结果包括目标计算中心执行探针任务过程中的性能参数,得到多个评测结果。相应地,步骤503的实现过程可以为:调度装置基于这多个评测结果,确定目标计算中心在参考时间段内的网络资源的性能。
234.由于目标计算中心在执行探针任务时可能还会需要从网络中获取数据,因此目标计算中心执行探针任务的执行时长还可以反映目标计算中心在执行探针任务的过程中网
络资源的性能。如此,当目标计算中心在参考时间段内多次执行该探针任务时调度装置可以基于目标计算中心多次执行探针任务的执行时长的变化,确定出参考时间段内目标计算中心的网络资源的变化。
235.比如,目标计算中心在参考时间段内多次执行探针任务的执行时长的变化为:执行时长稳定了一段时间后突然变大。则参考时间段内目标计算中心的网络资源比如带宽的变化趋势可以为:带宽稳定了一段时间后突然变小。
236.通过上述方式,调度装置可以度量出目标计算中心在参考时间段内的哪段时间的网络资源性能比较优异。后续调度装置在调度目标计算中心执行计算任务时,可以控制目标计算中心在网络资源性能比较优异的时间段执行计算任务。
237.基于此,在一些实施例中,对于待处理的计算任务,基于目标计算中心在参考时间段内的网络资源的性能,调度装置可以调度目标计算中心在指定时间段内执行待处理的计算任务。该指定时间段内的网络资源的性能较为优异。
238.比如,参考时间段为一天,调度装置度量出目标计算中心在一天内的下午两点至四点之间网络资源性能比较优异。基于此,调度装置在调度目标计算中心执行待处理的计算任务时,可以控制目标计算中心在下午两点至四点之间执行该计算任务。
239.另外,假设将计算中心执行探针任务的过程称为探针(probe)测试,则在调度装置调度计算中心执行计算任务之前,各个计算中心至少会执行一次探针测试,使得调度装置能够感知到各个计算中心的算力之间的差异。在一些实施例中,调度装置可以定期控制计算中心进行探针测试,从而及时地发现计算中心的算力变化。在另一些实施例中,计算中心也可以在进行算力调整(比如新增计算资源)时主动向调度装置要求进行探针测试,使调度装置能够感知到其算力变化。
240.另外需要说明的是,由于探针任务本质也是一个计算任务,因此在计算中心实际执行探针任务时,计算中心并不会将探针任务和应用程序触发的计算任务分开处理,而是将探针任务作为正常情况下接收到的一个计算任务进行处理。这种情况下,计算中心还可以对探针任务进行标记,以在探针任务执行结束后,将执行探针任务过程中的性能参数上报给调度装置。
241.此外,本技术实施例还提供了一种调度装置。如图10所示,该调度装置1000包括如下几个模块。
242.获取模块1001,用于获取探针任务。具体实现方式可以参考图5实施例中的步骤501。
243.下发模块1002,用于向多个计算中心中的目标计算中心下发探针任务,该探针任务根据目标计算中心所执行的计算任务设置。具体实现方式可以参考图5实施例中的步骤501。
244.接收模块1003,用于接收目标计算中心在执行探针任务过程中的性能参数。具体实现方式可以参考图5实施例中的步骤502。
245.评估模块1004,用于根据目标计算中心上报的性能参数评估目标计算中心的算力。具体实现方式可以参考图5实施例中的步骤503。
246.可选地,探针任务包括至少一个探针算子,至少一个探针算子中每个探针算子指示目标计算中心在执行计算任务的过程中影响目标计算中心的性能的一个算子。
247.可选地,调度装置包括探针算子库,探针算子库包括多个探针算子;
248.获取模块用于:接收计算任务;将计算任务所指示的执行计算任务的至少一个执行算子和探针算子库中的多个探针算子进行匹配,得到至少一个探针算子;基于至少一个探针算子生成探针任务。
249.可选地,调度装置中包括探针任务;
250.获取模块用于:响应算力度量指令,从调度装置中获取探针任务,探针任务为计算任务执行完后,根据计算任务生成的。
251.可选地,目标计算中心的计算资源被划分为多个计算单元。
252.执行探针任务的计算单元为多个计算单元中的目标计算单元;调度装置根据性能参数评估的计算中心的算力为目标计算单元的算力。
253.可选地,调度装置中包括目标计算中心所包括的多个计算单元的标识。
254.下发模块,用于从多个计算单元中确定目标计算单元;在下发探针任务时还向目标计算中心下发目标计算单元的标识,以使目标计算中心在通过多个计算单元中的目标计算单元执行探针任务之前,根据目标计算单元的标识确定执行探针任务的目标计算单元。
255.可选地,下发模块具体用于:
256.获取目标计算中心的资源配置信息,资源配置信息指示多个计算单元中每个计算单元能够执行的算子;
257.基于多个计算单元中每个计算单元能够执行的算子和探针任务所包括的探针算子,从多个计算单元中确定目标计算单元。
258.可选地,下发模块具体用于,
259.向目标计算中心下发探针任务包括的探针算子的标识;接收目标计算中心上报的多个计算单元中能够执行探针任务的计算单元的标识;从多个计算单元中能够执行探针任务的计算单元中确定目标计算单元。
260.可选地,下发模块具体用于:
261.将多个计算单元的标识呈现给用户;响应于用户的操作,生成计算单元设置指令,计算单元设置指令中包括目标计算单元的标识;从计算单元设置指令中获取目标计算单元的标识。
262.可选地,目标计算中心上报有多个性能参数;
263.评估模块具体用于:
264.通过预设的策略将多个性能参数转换为算力的统一度量值。
265.综上,在本技术实施例中,调度装置可以基于探针任务度量目标计算中心的算力,由于探针任务是基于目标计算中心实际执行的计算任务设置的,因此基于探针任务度量的目标计算中心的算力与目标计算中心实际运行时表现的算力相差不大。也即,本技术实施例提供的算力度量方法可以更为准确地度量目标计算中心的算力。
266.需要说明的是:上述实施例提供的调度装置在进行算力度量时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将调度装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的调度装置与算力度量的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
267.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或计算中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,dsl))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或计算中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、计算中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,dvd))、或者半导体介质(例如:固态硬盘(solid state disk,ssd))等。
268.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
269.以上所述为本技术提供的实施例,并不用以限制本技术实施例,凡在本技术实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术实施例的保护范围之内。
270.另外,本技术实施例所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1