硬件资源分配方法及装置与流程

文档序号:27138640发布日期:2021-10-30 00:01阅读:368来源:国知局
硬件资源分配方法及装置与流程

1.本技术实施例涉及计算机技术领域,尤其涉及一种硬件资源分配方法、装置、预测模型的训练方法、装置、电子设备、计算机存储介质及计算机程序产品。


背景技术:

2.随着机器学习、人工智能的发展,图形处理器(gpu,graphics processing unit)的应用场景越来越多,目前的计算服务器可以同时包括gpu和中央处理器(cpu,central processing unit),以提供gpu运算服务和cpu运算服务。
3.由于gpu运算服务也需要利用一部分cpu硬件资源,相关技术中,硬件资源的分配方式包括:为了保证gpu资源的使用,可以针对由多台计算服务器构成的计算集群,设定一个cpu运算服务的占比上限,在资源分配过程中,尽量保持计算集群中cpu运算服务的占比不超过所设定的上限。在出现cpu运算服务的占比超过上限后,可以由运营人员手动清理多余的cpu运算服务。
4.但是,目前方案中,仅对整个计算集群的cpu运算服务的占比进行限定,无法满足对单台计算服务器的cpu、gpu资源的合理利用,而人工清理的成本较高,时效性较差。
5.如,虽然保证了整个计算集群的cpu运算服务的占比,但可能会出现某台计算服务器的cpu资源爆满,无法上线新的gpu运算服务,而另一计算服务器的cpu资源空闲,导致资源浪费。


技术实现要素:

6.本技术实施例提供一种硬件资源分配方法、装置、电子设备、计算机存储介质及计算机程序产品,以解决相关技术中无法满足对单台计算服务器的cpu、gpu资源的合理利用,而人工清理的成本较高,时效性较差的问题。
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.图1是本技术实施例提供的一种硬件资源分配方法的步骤流程图;
46.图2是本技术实施例提供的一种硬件资源分配方法的具体步骤流程图;
47.图3是本技术实施例提供的一种硬件资源分配示意图;
48.图4是本技术实施例提供的一种硬件资源分配装置的框图;
49.图5是本技术一个实施例的电子设备的逻辑框图;
50.图6是本技术另一个实施例的电子设备的逻辑框图。
具体实施方式
51.下面将参照附图更详细地描述本技术的示例性实施例。虽然附图中显示了本技术的示例性实施例,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本技术,并且能够将本技术的范围完整的传达给本领域的技术人员。
52.图1是本技术实施例提供的一种硬件资源分配方法的步骤流程图,应用于计算服务器,如图1所示,该方法可以包括:
53.步骤101,获取待处理任务和所述计算服务器的可分配硬件资源量。
54.在本技术实施例中,计算服务器可以是一台独立的计算设备,也可以是计算集群中的一台计算设备,计算服务器可以提供硬件资源,待处理任务是需要利用计算服务器的硬件资源进行逻辑计算,以得到计算结果的任务。具体的,计算服务器的硬件资源可以包括:内存、中央处理器(cpu)、图形处理器(gpu)等。
55.内存是设备中用于暂时存放处理器所需的运算数据的片区,可以与硬盘等外部存储器交换数据。本技术实施例中,内存可以存储获取的待处理任务、待处理任务在计算过程
中得到的中间数据和结果数据,以及计算过程所需的算法模型等。
56.中央处理器(cpu)作为运算和控制的核心,是信息处理、程序运行的最终执行单元,中央处理器(cpu)有强大的算术运算单元,可以在很少的时钟周期内完成算术计算,同时,中央处理器(cpu)也有很大的缓存可以保存很多数据在里面,此外,中央处理器(cpu)还有复杂的逻辑控制单元,因此它非常擅长逻辑控制、串行的运算。
57.图形处理器(gpu)是一种进行与图像和图形相关运算工作的微处理器,具有大量的算术运算单元,因此可以同时执行大量的计算工作,它所擅长的是大规模的并发计算。
58.计算服务器的可分配硬件资源量,可以为计算服务器能够用于进行待处理任务计算的硬件资源量,如,一台计算服务器的硬件配置包括:具有104个内核的中央处理器(cpu)、536g大小的内存片区、2个图形处理器(gpu),若该计算服务器的所有硬件资源可以被用于进行任务处理,则该计算服务器的可分配硬件资源量即包括具有104个内核的中央处理器(cpu)、536g大小的内存片区、2个图形处理器(gpu)。
59.步骤102,在所述待处理任务为第一类型任务的情况下,按照针对所述第一类型任务预设的资源上限值,为所述第一类型任务分配第一硬件资源进行计算处理。
60.其中,为所有所述第一类型任务分配的第一硬件资源总量,不超过所述资源上限值。
61.在本技术实施例中,由于中央处理器(cpu)口可以用来做复杂的逻辑运算,用图形处理器(gpu)可以用来做简单但是量大的算术运算。因此,可以将待处理任务划分为两种类型,第一类型任务可以是需要利用中央处理器(cpu)的资源进行复杂的逻辑运算的任务,如,进行算法预测、利用复杂公式求解答案的任务等。第二类型任务是需要利用图形处理器(gpu)做简单、量大的算术运算,且同时需要利用中央处理器(cpu)的资源进行一部分的复杂逻辑运算的任务,如,涉及与图像和图形相关运算的任务。并且,这两种任务的运算,都需要使用内存硬件资源来进行相关数据的存储。
62.在该步骤中,由于存在需要使用中央处理器(cpu)的硬件资源的第一类型任务,且第二类型任务也需要使用中央处理器(cpu)的硬件资源,则本技术实施例的需求是即使在极端情况下,计算服务器也可以为第二类型任务预留一定的中央处理器(cpu)和内存硬件资源,从而确保第二类型任务可以正常获得硬件资源。
63.因此,为了实现上述需求,本技术实施例可以针对第一类型任务对中央处理器(cpu)和内存硬件资源的需求,设定一个计算服务器的资源上限值,使得为所有第一类型任务分配的第一硬件资源总量,不超过该资源上限值,这样在保证第一类型任务可以正常使用计算服务器的一定比例的中央处理器(cpu)、内存硬件资源的基础上,满足为第二类型任务预留剩余的中央处理器(cpu)和内存硬件资源,保证第二类型任务的正常执行。
64.例如,假设一台计算服务器的硬件配置包括:具有104个内核的中央处理器(cpu)、536g大小的内存片区、2个图形处理器(gpu)。则可以针对第一类型任务定义资源上限值为:中央处理器(cpu)的60个内核、300g内存,这代表为所有第一类型任务分配的中央处理器(cpu)的内核总数不超过60,为所有第一类型任务分配的内存总和不超过300。
65.进一步的,在待处理任务为第一类型任务的情况下,计算服务器可以按照资源上限值,为第一类型任务分配第一硬件资源进行计算处理,并使得为所有第一类型任务分配的第一硬件资源总量,不超过资源上限值;这样可以保证即使第一类型任务将资源上限值
内的所有硬件资源全部用完,第二类型任务仍然能保证可以使用剩余的44个中央处理器(cpu)内核和236g内存。
66.在一个实际示例中,假设1个第一类型任务需求4个内核和10g内存,则计算服务器在确定资源上限值内的硬件资源够用的情况下,可以为该第一类型任务分配4个内核和10g内存,并基于4个内核和10g内存建立应用容器,通过应用容器来进行第一类型任务的计算,得到计算结果。应用容器指的是一种轻量级的操作系统级虚拟化技术,可以基于硬件资源进行建立,并可以在一个资源隔离的进程中运行应用任务及其依赖项。但是,运行应用任务所必需的组件都将打包成一个镜像并可以复用。在执行镜像时,应用容器可以运行在一个隔离环境中,利用操作系统内核的命名空间隔离以及资源隔离的特性,可以使得不同的进程拥有隔离的运行环境和资源,并且不会共享宿主机的内存、中央处理器(cpu)以及磁盘。
67.步骤103、在所述待处理任务为第二类型任务的情况下,按照所述可分配硬件资源量,为所述第二类型任务分配第二硬件资源进行计算处理。
68.其中,为所述第二类型任务分配的第二硬件资源总量,不超过所述可分配硬件资源量。
69.在本技术实施例中,由于第二类型任务需要使用中央处理器(cpu)、内存和图形处理器(gpu)的硬件资源,且本技术实施例的需求是即使在极端情况下,计算服务器也可以为第二类型任务预留一定的中央处理器(cpu)和内存硬件资源,从而确保第二类型任务可以正常获得硬件资源。
70.因此,在待处理任务为第二类型任务的情况下,计算服务器可以按照可分配硬件资源量,以使得为第二类型任务分配的第二硬件资源总量,不超过所述可分配硬件资源量;这样可以保证即使第一类型任务将资源上限值内的所有硬件资源全部用完,第二类型任务仍然能保证可以使用剩余的44个中央处理器(cpu)内核和236g内存。且由于第二类型任务具有优先性,则即使第二类型任务将可分配硬件资源量内的所有硬件资源全部用完,也是被计算服务器所允许的。
71.综上所述,本技术实施例提供的一种硬件资源分配方法,本技术可以针对第一类型任务预设一个资源上限值,使得在对第一类型任务进行资源分配时,所有第一类型任务分配得到的第一硬件资源总量不超过该资源上限值,这样就保证了第二类型任务具有充分的硬件资源进行使用,使得计算服务器也可以为第二类型任务预留一定的硬件资源,从而确保第二类型任务可以正常稳定的获得剩余硬件资源,并且,由于所有第一类型任务分配得到的第一硬件资源总量不超过该资源上限值,则不会存在因硬件资源爆满而无法运行第二类型任务的情况,也就无需人工介入来清理多余的第一类型任务,降低了人工资源的浪费。
72.图2是本技术实施例提供的另一种硬件资源分配方法的具体步骤流程图,应用于计算服务器,如图2所示,该方法可以包括:
73.步骤201、获取待处理任务和所述计算服务器的可分配硬件资源量。
74.该步骤具体可以参照上述步骤101,此处不再赘述。
75.可选的,计算服务器的硬件资源包括:中央处理器(cpu)、内存和图形处理器(gpu),所述第一类型任务包括:基于所述中央处理器(cpu)和内存进行计算处理的任务;所述资源上限值包括:用于分配给所述第一类型任务的中央处理器(cpu)的内核上限值以及
内存大小上限值。所述方法还包括:
76.步骤202、确定当前待处理的所述第一类型任务所需求的内核数量和需求的内存大小。
77.在本技术实施例中,计算服务器的硬件资源可以包括:内存、中央处理器(cpu)、图形处理器(gpu)等。中央处理器(cpu)可以具有多个内核,内核是中央处理器(cpu)中的核心芯片,由单晶硅制成,用来完成所有的计算、接受/存储命令、处理数据等,是数字处理核心。图形处理器(gpu)可以包括多种类型,如gpu芯片、现场可编程逻辑门阵列(fpga,field programmable gate array)芯片、专用集成电路(asic,application specific integrated circuit)芯片等。通过内存、中央处理器(cpu)、图形处理器(gpu)等硬件资源,可以使得计算服务器能够处理具有对各种硬件资源的需求的计算任务,提升计算服务器的适用性。
78.进一步的,参照图3,图3是本技术实施例提供的一种硬件资源分配示意图,假设计算服务器的可分配硬件资源量包括具有104个内核的中央处理器(cpu)、536g大小的内存片区、2个图形处理器(gpu)。可以针对第一类型任务,预设第一类型任务可使用的资源上限值包括:中央处理器(cpu)的60个内核以及300g的内存。其反映了为所有第一类型任务分配的中央处理器(cpu)的内核总数不超过60,为所有第一类型任务分配的内存总和不超过300,以及第二类型任务可以优先使用计算服务器的所有可分配硬件资源量。
79.在该步骤中,第一类型任务可以是需要利用中央处理器(cpu)的资源进行复杂的逻辑运算的任务,每个第一类型任务都具有所需求的内核数量和内存大小。如,一个第一类型任务所需求的内核数量为10,所需求的内存大小为10g,即该第一类型任务需要基于10个中央处理器(cpu)内核以及10g大小的内存进行计算处理。
80.步骤203、在当前待处理的所述第一类型任务需求的内核数量,与其他的第一类型任务所占用的内核数量之和不超过所述内核上限值,且所述第一类型任务需求的内存大小,与其他的第一类型任务所占用的内存大小之和不超过所述内存大小上限值的情况下,按照所述第一类型任务需求的内核数量和需求的内存大小,为所述第一类型任务分配包括中央处理器的内核和内存的第一硬件资源。
81.在待处理任务为第一类型任务的情况下,计算服务器可以计算第一类型任务需求的内核数量,与其他的第一类型任务所占用的内核数量之和,以及第一类型任务需求的内存大小,与其他的第一类型任务所占用的内存大小之和。并在当前待处理的第一类型任务需求的内核数量,与其他的第一类型任务所占用的内核数量之和不超过所述内核上限值,且第一类型任务需求的内存大小,与其他的第一类型任务所占用的内存大小之和不超过内存大小上限值的情况下,确定具有空闲硬件资源可以分配给第一类型任务,并按照第一类型任务需求的内核数量和需求的内存大小,为第一类型任务分配包括中央处理器(cpu)的内核和内存的第一硬件资源;
82.在对第一类型任务设定了资源上限值的情况下,可以保证所有第一类型任务所使用的资源之和不超过资源上限值,使得第二类型任务具有充分的硬件资源进行使用,从而确保第二类型任务可以正常稳定的获得除资源上限值之外剩余的所有硬件资源,降低了因硬件资源爆满而无法运行第二类型任务的几率。
83.例如,假设1个第一类型任务需求4个内核和10g内存,则计算服务器在确定资源上
限值内的硬件资源够用的情况下,可以为该第一类型任务分配4个内核和10g内存。
84.可选的,所述计算服务器的硬件资源包括:中央处理器(cpu)、内存和图形处理器(gpu),所述第二任务类型包括:基于所述中央处理器(cpu)、图形处理器(gpu)和内存进行计算处理的任务,所述可分配硬件资源量包括:所述图形处理器(gpu)的总数量、所述中央处理器(cpu)的内核总数量以及内存大小总量。所述方法还包括:
85.步骤204、确定当前待处理的所述第二类型任务所需求的图形处理器的数量、需求的内核数量和需求的内存大小。
86.在本技术实施例中,第二类型任务是需要利用图形处理器(gpu)做简单、量大的算术运算,且同时需要利用中央处理器(cpu)的资源进行一部分的复杂逻辑运算的任务,且本技术实施例的需求是即使在极端情况下,计算服务器也可以为第二类型任务预留一定的中央处理器(cpu)和内存硬件资源,从而确保第二类型任务可以正常获得硬件资源。
87.在该步骤中,第二类型任务需要利用中央处理器(cpu)、图形处理器(gpu)、内存的资源的任务,每个第二类型任务都具有所需求的图形处理器(gpu)个数、内核数量和内存大小。如,一个第二类型任务所需求的图形处理器(gpu)个数为2、内核数量为20,所需求的内存大小为20g,即该第二类型任务需要基于2个图形处理器(gpu)、20个中央处理器(cpu)内核以及20g大小的内存进行计算处理。
88.步骤205、在当前待处理的所述第二类型任务需求的图形处理器的数量、与其他的第二类型任务所占用的图形处理器的数量之和不超过所述图形处理器的总数量,且所述第二类型任务需求的内核数量,与其他任务所占用的内核数量之和不超过所述内核总数量,且所述第二类型任务需求的内存大小,与其他任务所占用的内存大小之和不超过所述内存大小总量的情况下,按照所述第二类型任务需求的图形处理器的数量、需求的内核数量和需求的内存大小,为所述第二类型任务分配包括图形处理器、中央处理器的内核和内存的第二硬件资源。
89.在待处理任务为第二类型任务的情况下,计算服务器可以计算第二类型任务需求的图形处理器(gpu)数量,与其他的第二类型任务所占用的图形处理器(gpu)数量的第一加和结果,以及第二类型任务需求的内核数量,与其他任务(包括第一类型任务和第二类型任务)所占用的内核数量的第二加和结果,以及第二类型任务需求的内存大小,与其他任务所占用的内存大小的第三加和结果。并在第一加和结果不超过图形处理器(gpu)的总数量,第二加和结果不超过内核总数量,第三加和结果不超过内存大小总量的情况下,确定具有空闲硬件资源可以分配给第二类型任务,并按照第二类型任务需求的图形处理器(gpu)的数量、内核数量和需求的内存大小,为第二类型任务分配包括图形处理器(gpu)、中央处理器(cpu)的内核和内存的第二硬件资源,确保第二类型任务可以正常稳定的获得除资源上限值之外剩余的所有硬件资源,降低了因硬件资源爆满而无法运行第二类型任务的几率。
90.例如,假设1个第二类型任务需求2个图形处理器(gpu)、4个内核和10g内存,则计算服务器在确定可分配资源量内的硬件资源够用的情况下,可以为该第二类型任务分配2个图形处理器(gpu)、4个内核和10g内存。
91.可选的,所述方法还可以包括:
92.步骤206、在检测到针对所述计算服务器配置有分配上限标签的情况下,按照所述资源上限值,为所述第一类型任务分配第一硬件资源进行计算处理,所述分配上限标签用
于声明处理第一类型任务的硬件资源的资源上限。
93.在本技术实施例中,可以在计算服务器的配置文件中设置annotation(标注)类型的分配上限标签,并在该分配上限标签中声明处理第一类型任务的硬件资源的资源上限,从而使得该计算服务器在针对第一类型任务进行硬件资源分配时,可以按照分配上限标签中声明的资源上限值,以使得在分配过程中,保证为所有第一类型任务分配的第一硬件资源总量,不超过资源上限值。
94.例如,一个分配上限标签的内容可以如下:
95.annotations:
96."xx/xxx

cpu":"60"//可分配给第一类型任务的中央处理器(cpu)的核数上限值;
97."xx/xxx

memory":"300gi"//可分配给第一类型任务的内存上限值。
98.步骤207、在检测到未针对所述计算服务器配置所述分配上限标签的情况下,按照所述可分配硬件资源量,为所述第一类型任务分配第一硬件资源进行计算处理,以使得为所述第一类型任务分配的第一硬件资源总量,不超过所述可分配硬件资源量。
99.在本技术实施例中,若计算服务器未配置分配上限标签,则可以认为计算服务器不需要执行为所有第一类型任务分配的第一硬件资源总量不超过资源上限值的逻辑,则计算服务器可以按照可分配硬件资源量,为第一类型任务分配第一硬件资源进行计算处理,以使得为第一类型任务分配的第一硬件资源总量,不超过可分配硬件资源量,即第一类型任务可以使用计算服务器的所有硬件资源,通过为计算服务器配置或不配置分配上限标签,可以灵活采用两种资源分配方式中的任意一种,提高了计算服务器的适用范围。
100.综上所述,本技术实施例提供的一种硬件资源分配方法,本技术可以针对第一类型任务预设一个资源上限值,使得在对第一类型任务进行资源分配时,所有第一类型任务分配得到的第一硬件资源总量不超过该资源上限值,这样就保证了第二类型任务具有充分的硬件资源进行使用,使得计算服务器也可以为第二类型任务预留一定的硬件资源,从而确保第二类型任务可以正常稳定的获得剩余硬件资源,并且,由于所有第一类型任务分配得到的第一硬件资源总量不超过该资源上限值,则不会存在因硬件资源爆满而无法运行第二类型任务的情况,也就无需人工介入来清理多余的第一类型任务,降低了人工资源的浪费。
101.图4是本技术实施例提供的一种硬件资源分配装置的框图,如图4所示,包括:获取模块301、第一分配模块302、第二分配模块303。
102.获取模块301,被配置为获取待处理任务和所述计算服务器的可分配硬件资源量;
103.第一分配模块302,被配置为在所述待处理任务为第一类型任务的情况下,按照针对所述第一类型任务预设的资源上限值,为所述第一类型任务分配第一硬件资源进行计算处理;
104.第二分配模块303,被配置为在所述待处理任务为第二类型任务的情况下,按照所述可分配硬件资源量,为所述第二类型任务分配第二硬件资源进行计算处理;
105.其中,为所有所述第一类型任务分配的第一硬件资源总量,不超过所述资源上限值,为所述第二类型任务分配的第二硬件资源总量,不超过所述可分配硬件资源量。
106.在一种可选实现方式中,所述计算服务器的硬件资源包括:中央处理器、内存和图形处理器,所述第一类型任务包括:基于所述中央处理器和内存进行计算处理的任务;所述
资源上限值包括:用于分配给所述第一类型任务的中央处理器的内核上限值以及内存大小上限值。
107.在一种可选实现方式中,所述第一分配模块,包括:
108.第一确定子模块,被配置为确定当前待处理的所述第一类型任务所需求的内核数量和需求的内存大小;
109.第一分配子模块,被配置为在当前待处理的所述第一类型任务需求的内核数量,与其他的第一类型任务所占用的内核数量之和不超过所述内核上限值,且所述第一类型任务需求的内存大小,与其他的第一类型任务所占用的内存大小之和不超过所述内存大小上限值的情况下,按照所述第一类型任务需求的内核数量和需求的内存大小,为所述第一类型任务分配包括中央处理器的内核和内存的第一硬件资源。
110.在一种可选实现方式中,所述计算服务器的硬件资源包括:中央处理器、内存和图形处理器,所述第二任务类型包括:基于所述中央处理器、图形处理器和内存进行计算处理的任务,所述可分配硬件资源量包括:所述图形处理器的总数量、所述中央处理器的内核总数量以及内存大小总量。
111.在一种可选实现方式中,所述第二分配模块,包括:
112.第二确定子模块,被配置为确定当前待处理的所述第二类型任务所需求的图形处理器的数量、需求的内核数量和需求的内存大小;
113.第二分配子模块,被配置为在当前待处理的所述第二类型任务需求的图形处理器的数量、与其他的第二类型任务所占用的图形处理器的数量之和不超过所述图形处理器的总数量,且所述第二类型任务需求的内核数量,与其他任务所占用的内核数量之和不超过所述内核总数量,且所述第二类型任务需求的内存大小,与其他任务所占用的内存大小之和不超过所述内存大小总量的情况下,按照所述第二类型任务需求的图形处理器的数量、需求的内核数量和需求的内存大小,为所述第二类型任务分配包括图形处理器、中央处理器的内核和内存的第二硬件资源。
114.在一种可选实现方式中,所述装置还包括:
115.第一检测模块,被配置为在检测到针对所述计算服务器配置有分配上限标签的情况下,按照所述资源上限值,为所述第一类型任务分配第一硬件资源进行计算处理,所述分配上限标签用于声明处理第一类型任务的硬件资源的资源上限;
116.第二检测模块,被配置为在检测到未针对所述计算服务器配置所述分配上限标签的情况下,按照所述可分配硬件资源量,为所述第一类型任务分配第一硬件资源进行计算处理,以使得为所述第一类型任务分配的第一硬件资源总量,不超过所述可分配硬件资源量。
117.综上所述,本技术实施例提供的一种硬件资源分配装置,本技术可以针对第一类型任务预设一个资源上限值,使得在对第一类型任务进行资源分配时,所有第一类型任务分配得到的第一硬件资源总量不超过该资源上限值,这样就保证了第二类型任务具有充分的硬件资源进行使用,使得计算服务器也可以为第二类型任务预留一定的硬件资源,从而确保第二类型任务可以正常稳定的获得剩余硬件资源,并且,由于所有第一类型任务分配得到的第一硬件资源总量不超过该资源上限值,则不会存在因硬件资源爆满而无法运行第二类型任务的情况,也就无需人工介入来清理多余的第一类型任务,降低了人工资源的浪
费。
118.图5是根据一示例性实施例示出的一种电子设备600的框图。例如,电子设备600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
119.参照图5,电子设备600可以包括以下一个或多个组件:处理组件602,存储器604,电力组件606,多媒体组件608,音频组件610,输入/输出(i/o)的接口612,传感器组件614,以及通信组件616。
120.处理组件602通常控制电子设备600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
121.存储器604用于存储各种类型的数据以支持在电子设备600的操作。这些数据的示例包括用于在电子设备600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,多媒体等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
122.电源组件606为电子设备600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为电子设备600生成、管理和分配电力相关联的组件。
123.多媒体组件608包括在所述电子设备600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的分界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当电子设备600处于操作模式,如拍摄模式或多媒体模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
124.音频组件610用于输出和/或输入音频信号。例如,音频组件610包括一个麦克风(mic),当电子设备600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
125.i/o接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
126.传感器组件614包括一个或多个传感器,用于为电子设备600提供各个方面的状态评估。例如,传感器组件614可以检测到电子设备600的打开/关闭状态,组件的相对定位,例如所述组件为电子设备600的显示器和小键盘,传感器组件614还可以检测电子设备600或电子设备600一个组件的位置改变,用户与电子设备600接触的存在或不存在,电子设备600
方位或加速/减速和电子设备600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
127.通信组件616用于便于电子设备600和其他设备之间有线或无线方式的通信。电子设备600可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
128.在示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于实现本技术实施例提供的一种硬件资源分配方法。
129.在示例性实施例中,还提供了一种包括指令的非临时性计算机存储介质,例如包括指令的存储器604,上述指令可由电子设备600的处理器620执行以完成上述方法。例如,所述非临时性存储介质可以是rom、随机存取存储器(ram)、cd

rom、磁带、软盘和光数据存储设备等。
130.图6是根据一示例性实施例示出的一种电子设备700的框图。例如,电子设备700可以被提供为一服务器。参照图6,电子设备700包括处理组件722,其进一步包括一个或多个处理器,以及由存储器732所代表的存储器资源,用于存储可由处理组件722的执行的指令,例如应用程序。存储器732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件722被配置为执行指令,以执行本技术实施例提供的一种硬件资源分配方法。
131.电子设备700还可以包括一个电源组件726被配置为执行电子设备700的电源管理,一个有线或无线网络接口750被配置为将电子设备700连接到网络,和一个输入输出(i/o)接口758。电子设备700可以操作基于存储在存储器732的操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm或类似。
132.本技术实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现所述的硬件资源分配方法。
133.本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。
134.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1