资源调度方法、装置和管理设备与流程

文档序号:31151085发布日期:2022-08-17 02:53阅读:48来源:国知局
资源调度方法、装置和管理设备与流程

1.本技术涉及大数据处理领域,尤其涉及一种资源调度方法、装置和管理设备。


背景技术:

2.大数据应用是指预设了执行顺序的大数据计算逻辑。集群是一种包括多个互相连接的计算设备的计算机系统。通常,由集群中多个计算设备来运行大数据应用。在集群中的计算设备运行大数据应用前,集群中的资源管理器为大数据应用分配计算资源。计算资源可以是指运行大数据应用的处理器。目前,资源管理器可以根据大数据应用的优先级分配计算资源;或者,资源管理器为集群中运行的多个大数据应用均分计算资源。但是,处理器处理不同的大数据应用的效率不同,无法确保大数据应用的处理时延。因此,如何提供一种更合理的计算资源分配方法成为亟待解决的问题。


技术实现要素:

3.本技术提供了资源调度方法、装置和管理设备,由此可以最大化利用集群中的计算资源运行应用,降低应用的处理时延,提升集群中计算资源的整体执行效率。
4.第一方面,本技术提供了一种资源调度方法,该方法可以由管理设备执行,具体包括如下步骤:管理设备获取到应用的资源需求后,根据资源需求指示的应用所需计算资源在多种计算资源组合中选择第一计算资源组合,将第一计算资源组合作为与应用匹配的计算资源组合分配给应用。多种计算资源组合中包括至少一种计算资源,至少一种计算资源中每种计算资源包括与计算资源的算力关联的资源。
5.如此,从多种计算资源组合中选择满足运行应用的算力的计算资源组合来运行应用,降低应用的处理时延,最大化地利用集群中的计算资源运行应用,提升集群中计算资源的整体执行效率,在有效时间内完成应用的任务。
6.在一种可能的实现方式中,根据应用的资源需求在多种计算资源组合中选择第一计算资源组合作为与应用匹配的计算资源组合,包括:管理设备根据应用的资源需求和多种计算资源组合对应用的算力量化值,在多种计算资源组合中选择运行应用的算力最强的计算资源作为第一计算资源组合。算力量化值用于指示计算资源运行应用的运算能力。
7.在另一种可能的实现方式中,根据应用的资源需求在多种计算资源组合中选择第一计算资源组合作为与应用匹配的计算资源组合,包括:管理设备根据应用的资源需求、多种计算资源组合对应用的算力量化值和资源调度策略,在多种计算资源组合中选择第一计算资源组合作为与应用匹配的计算资源组合。资源调度策略包括网络资源策略和存储资源策略。如此,结合应用的算力量化值和资源调度策略,进行综合评分分配资源,使得分配结果既考虑了资源调度策略,也考虑了应用对多样化算力的亲和性,给应用分配最大利用率的计算资源,提升资源利用效率和应用运行速度。
8.在另一种可能的实现方式中,根据所述应用的资源需求在多种计算资源组合中选择第一计算资源组合作为与所述应用匹配的计算资源组合之前,方法包括:管理设备从用
户配置文件和/或数据库中获取多种计算资源组合对应用的算力量化值。
9.具体的,从用户配置文件和/或数据库中获取多种计算资源组合对应用的算力量化值,包括:管理设备从用户配置文件和/或数据库中获取多种计算资源组合中一部分计算资源组合对应用的算力量化值;利用算力预测模型,根据一部分计算资源组合对应用的算力量化值确定多种计算资源组合中另一部分计算资源组合对应用的算力量化值。
10.如此,结合用户配置文件、相同应用的算力量化值历史记录以及基于算力预测模型获取集群中计算资源对应用的算力量化值,根据算力量化值从集群中选择最优的计算资源,降低应用的处理时延。最大化利用集群中的计算资源运行应用,提升集群中计算资源的整体执行效率,在有效时间内完成应用的任务。
11.在另一种可能的实现方式中,分配第一计算资源组合的计算资源至应用之后,方法还包括:管理设备获取第一计算资源组合中的计算资源对应用的第一算力量化值,以及基于第一计算资源组合中的计算资源运行应用生成的第一数据量。进而,根据应用的标识获取数据库中存储的第一计算资源组合中的计算资源对应用的第二算力量化值,以及第二数据量,根据第一算力量化值、第二算力量化值、第一数据量和第二数据量更新第二算力量化值。其中,第一数据量为第一计算资源组合中的计算资源运行应用的数据量。第二数据量为数据库存储的计算资源运行应用的数据量。从而,经过不断地更新,提升管理设备为应用选择满足应用的算力的计算资源的准确性。
12.在另一种可能的实现方式中,方法还包括:显示多种计算资源组合对应用的算力量化值和第一计算资源组合中的计算资源对应用的第一算力量化值。
13.在另一种可能的实现方式中,方法还包括:管理设备还可以更新多种计算资源组合,更新包括删除或增加计算资源。从而,提供丰富的计算资源,可以使得管理设备为应用选择丰富的计算资源。
14.第二方面,提供了一种资源调度装置,所述装置包括用于执行第一方面或第一方面任一种可能设计中的资源调度方法的各个模块。
15.第三方面,提供一种管理设备,该管理设备包括至少一个处理器和存储器,存储器用于存储一组计算机指令和至少一个处理器对应用的算力量化值;当处理器执行所述一组计算机指令时,执行第一方面或第一方面任一种可能实现方式中的资源调度方法的操作步骤。
16.第四方面,提供一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在管理设备中运行时,使得管理设备执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
17.第五方面,提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得管理设备执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
18.本技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
19.图1为本技术提供的一种系统的结构示意图;
20.图2为本技术提供的一种资源调度方法的流程图;
21.图3为本技术提供的一种应用部署的界面示意图;
22.图4为本技术提供的一种资源调度方法的流程图;
23.图5为本技术提供的一种资源调度方法的流程图;
24.图6为本技术提供的一种资源调度装置的结构示意图;
25.图7为本技术提供的一种管理设备的结构示意图。
具体实施方式
26.大数据(big data)是指无法在有限时段内进行捕捉、管理和处理的数据集合。目前,大数据在各行各业无处不在,大数据可以提供重要预测作用。
27.例如制造行业,利用工业大数据提升制造业水平,包括产品故障诊断与预测、分析工艺流程、改进生产工艺,优化生产过程能耗、工业供应链分析与优化和生产计划与排程等。
28.又如金融行业,大数据在高频交易、社交情绪分析和信贷风险分析三大金融创新领域发挥了重大作用。
29.又如汽车行业,利用大数据和物联网技术控制无人驾驶汽车。
30.又如互联网行业,利用大数据可以分析客户行为,推荐商品和针对性投放广告。
31.又如电信行业,利用大数据分析客户离网的原因,及时掌握客户离网倾向,制定客户挽留措施。
32.又如能源行业,电力公司利用大数据掌握海量的用户用电信息、分析用户用电模式和改进电网运行,从而合理设计电力需求响应系统,确保电网运行安全。
33.又如物流行业,利用大数据优化物流网络,从而提高物流效率和降低物流成本。
34.又如城市管理,利用大数据实现智能交通、环保监测、城市规划和智能安防等。
35.又如生物医学,利用大数据实现流行病预测、智慧医疗、健康管理和解读脱氧核糖核酸(deoxyribonucleic acid,dna)。
36.又如安全领域,政府利用大数据构建国家安全保障体系,企业可以利用大数据抵御网络攻击,警察可以借助大数据来预防犯罪。
37.大数据的价值,远远不止于此,大数据对各行各业的渗透,有效地推动了社会生产和生活的发展。
38.由于大数据应用的数据量较大,单台计算设备的算力无法满足大数据应用的需求。通常,大数据应用部署在计算机集群中,由集群中多个计算节点来运行大数据应用。在下文中,大数据应用可以简称为应用。图1为本技术实施例提供的一种计算机集群的结构示意图。计算机集群100包括管理节点110和至少一个计算节点120。管理节点110与每个计算节点120连接。管理节点110和至少一个计算节点120可以部署在物理设备上,也可以部署在虚拟设备上。也可理解的,管理节点110的功能可以由物理设备实现也可以由物理设备上部署的虚拟机实现。至少一个计算节点120的功能可以由物理设备实现也可以由物理设备上部署的虚拟机实现。
39.在一种情形中,管理节点110和至少一个计算节点120可以部署在至少一台服务器上。例如,管理节点110部署在一台服务器上;一个计算节点120部署在一台服务器上。又如,管理节点110部署在一台服务器上;多个计算节点120部署在一台服务器上。又如,多个计算
节点120部署在多台服务器上,管理节点110部署在任意一台部署了计算节点120的服务器上。在另一种情形中,管理节点110和至少一个计算节点120可以部署在至少一个虚拟机上。
40.一个计算节点120上可以配置一种类型的处理器,也可配置多种类型的处理器。多种类型的处理器包括多种计算资源组合包括现场可编程门阵列(field-programmable gate array,fpga)、图形处理器(graphics processing unit,gpu)、神经网络处理器(neural network processing unit,npu)和张量处理单元(tensor processing unit,tpu)等。
41.管理节点110包括应用管理器111和资源管理器112。应用管理器111用于管理集群中的所有应用,包括应用提交、与资源管理器112协商启动运行应用计算节点120上的应用管理器。资源管理器112用于对计算机集群100中的资源进行统一管理和调度分配。例如,资源管理器112根据用户提交的应用的资源需求和集群提供的可用资源为应用分配资源。资源包括计算资源、网络资源和存储资源等。计算资源例如可以是指运行应用的处理器。
42.示例地,该计算机集群100可以是yarn架构下的集群,计算节点120还可以包括应用管理器121和容量122。应用管理器121用于管理其所属的计算节点120运行的应用,例如数据切分,从资源管理器112申请资源,运行应用的监控等。容量122包括资源管理器112为其所属的计算节点120分配的资源。
43.目前,资源管理器112可以根据预先配置的资源调度策略为应用分配资源。
44.例如,资源管理器112依据先进先出(first input first output,fifo)策略分配资源。集群接收到的所有的应用可以先放到多个队列中,先按照应用的优先级高低分配资源,再对同一个等级的应用按照应用的提交时间为每个应用分配资源。
45.又如,资源管理器112依据容量(capacity)策略分配资源。资源管理器112将集群的可用资源分为多个部分,每一部分对应一个应用队列。在每个队列内部,按照fifo策略为队列内的应用分配资源。若一个队列的资源空闲时,可以将该资源共享给其它队列。
46.又如,资源管理器112依据公平(fair)策略分配资源。资源管理器112允许集群中的多个应用基于公平地原则共享集群中可用的资源。
47.但是,处理器作为计算节点中处理大数据应用的核心资源,由于不同算力的处理器处理大数据应用的效率不同,目前的资源调度方法又未考虑处理器的算力因素,则分配给大数据应用的计算资源可能无法确保大数据应用的处理时延。导致不能最大化地利用集群中的计算资源运行大数据应用,集群中计算节点的整体执行效率降低,无法在有效时间内完成大数据应用的任务。
48.可理解的,不同的处理器在架构(如:x86和高级精简指令集计算机器(advanced reduced instruction set computing machines,arm))、厂商、核数、主频、缓存的大小和加速功能(比如高级向量扩展指令集(advanced vector extensions,avx))存在差异,则不同的处理器运行大数据应用的效率不同。即使相同理论算力的处理器处理一个大数据应用的效率也可能不同。应用在不同的处理器上存在的性能差异可以称为应用对处理器的亲和性。应用对处理器的亲和性越高,意味着处理器运行应用的性能越高,效率越高,时延越短,越能发挥该处理器的算力。
49.下面将结合附图对本技术实施例的实施方式进行详细描述。
50.图2为本技术实施例提供的一种资源调度方法。在这里由图1中资源管理器112执
行资源调度方法为例进行说明。如图2所示,该方法包括以下步骤。
51.步骤201、资源管理器112获取应用的资源需求。
52.资源管理器112可以获取用户提交的应用和应用的资源需求。示例地,如图1所示,终端设备300上可以部署交互装置310。交互装置310可以是浏览器或者能够实现与管理节点110进行消息交互的应用。用户可以通过交互装置310访问管理节点110,向管理节点110上传应用和应用的资源需求。管理节点110接收到终端设备300上传的应用和应用的资源需求后,调用资源管理器112,根据应用的资源需求在多种计算资源组合中选择第一计算资源组合作为与应用匹配的计算资源组合。进而,终端设备300接收管理节点110反馈的第一计算资源组合的结果。
53.示例地,图3为本技术实施例提供的一种应用提交的操作界面示意图。在用户利用用户名和密码登录到计算机集群后,如图3中的(a)所示,用户通过终端设备300上的浏览器访问管理节点110。管理节点110的界面显示有应用部署等选项。用户点击“应用部署”选项320。如图3中的(b)所示,管理节点110响应用户的点击操作,显示应用部署界面。管理节点110的应用部署界面显示“资源需求”选项330和“上传数据”按钮340。用户可以点击“资源需求”选项330,配置应用的资源需求。资源需求用于指示应用所需计算资源的需求。进而,用户点击“上传数据”按钮340向管理节点110上传应用和应用的资源需求。本实施例对应用的存储位置不予限定,应用可以存储到本地存储设备或云数据中心。如图3中的(c)所示,从文件中选择应用,终端设备300向管理节点110上传应用和应用的资源需求。数据上传结束后,如图3中的(d)所示,应用部署的界面可以显示“开始”按钮350。用户点击“开始”按钮350。管理节点110响应用户的点击操作,资源管理器112根据应用的资源需求在多种计算资源组合中选择第一计算资源组合作为与应用匹配的计算资源组合。管理节点110向终端设备300反馈第一计算资源组合。如图3中的(e)所示,终端设备300显示管理节点110反馈的第一计算资源组合。用户可以点击第一计算资源组合,查看第一计算资源组合包括的具体内容。
54.需要说明的是,资源管理器112为应用分配的资源包括计算资源、网络资源和存储资源等。计算资源可以是指运行应用的处理器。资源管理器112可以以处理器包含的处理器核为单位为应用分配计算资源。本实施例不限定于分配的处理器核的类型,第一计算资源组合可以包括一种类型的处理器中的处理器核,也可以包括多种类型的处理器中的处理器核。同一个处理器核可以运行1个应用,也可以运行2个或多个应用,不予限定。由于不同算力的处理器处理应用的效率不同,资源管理器112可以参考处理器的算力因素,分配给应用的第一计算资源组合确保应用的处理时延。最大化利用集群中的计算资源运行应用,提升集群中计算节点的整体执行效率,在有效时段内完成应用的任务。
55.例如,集群包括计算节点1和计算节点2。计算节点1中计算资源的理论算力为计算节点2中计算资源的理论算力的2倍。应用运行在计算节点1上的性能是应用运行在计算节点2上的性能的0.8倍。如果按照理论算力,应用的2/3的任务分到计算节点1,应用的1/3的任务分到计算节点2,得到第一处理时长,应用的4/9的任务分到计算节点1,应用的5/9的任务分到计算节点2,得到第二处理时长,第一处理时长是第二处理时长的1.5倍,因此,资源管理器112的分配方式可以是应用的4/9的任务分到计算节点1,应用的5/9的任务分到计算节点2。
56.资源管理器112可以采用如下步骤202a和步骤202b的方法为应用分配第一计算资
源组合。
57.步骤202a、资源管理器112根据应用的资源需求和多种计算资源组合对应用的算力量化值,在多种计算资源组合中选择第一计算资源组合作为与应用匹配的计算资源组合。
58.多种计算资源组合中包括至少一种计算资源,至少一种计算资源中每种计算资源包括与计算资源的算力关联的资源。与计算资源的算力关联的资源例如可以是处理器的架构(如:x86和arm)、生产处理器的厂商、处理器包含的核数、处理器的主频、处理器包含的缓存的大小和加速功能(比如avx指令集)。
59.示例地,多种计算资源组合包括现场可编程门阵列(field-programmable gate array,fpga)、图形处理器(graphics processing unit,gpu)、神经网络处理器(neural network processing unit,npu)和张量处理单元(tensor processing unit,tpu)等。
60.在一些实施例中,资源管理器112可以先获取多种计算资源组合对应用的算力量化值,再从多种计算资源组合对应用的算力量化值中获取运行应用的算力最强的计算资源,得到第一计算资源组合。第一计算资源组合包括的计算资源可以是多种计算资源组合中运行应用的算力最强的计算资源。
61.例如,资源管理器112可以从用户配置的用户配置文件中获取集群中多种计算资源组合对应用的算力量化值。又如,资源管理器112也可以从数据库中获取集群中多种计算资源组合对应用的算力量化值。数据库中存储的多种计算资源组合对应用的算力量化值可以是多种计算资源组合运行应用后确定的算力量化值。又如,资源管理器112也可以利用算力预测模型预测计算资源对应用的算力量化值。资源管理器112获取集群中多种计算资源组合对应用的算力量化值的过程可以参考下述图5的阐述。
62.需要说明的是,本实施例所述的资源管理器112分配给应用的资源均是指从集群中可用的资源中分配给应用的资源。例如多种计算资源组合可以是集群中可用的计算资源中的多种计算资源组合。
63.可选的,资源管理器112为应用分配计算资源时,也可以参考为应用分配的其他资源(网络资源和存储资源)的限制,从多种计算资源组合中选择第一计算资源组合。例如,资源管理器112获取到应用的资源需求后执行步骤202b。
64.步骤202b、资源管理器112根据应用的资源需求、多种计算资源组合对应用的算力量化值和资源调度策略,在多种计算资源组合中选择第一计算资源组合作为与应用匹配的计算资源组合。
65.资源调度策略包括网络资源策略和存储资源策略。资源管理器112可以根据计算节点上的负载为应用分配计算资源。例如,计算节点1的负载为50%,计算节点2的负载为30%,则资源管理器112更倾向于向应用分配计算节点2上的资源。倾向性量化值可以设置为计算节点的负载的倒数。计算节点1的倾向性量化值为2。计算节点2的倾向性量化值为3.3。
66.资源管理器112可以根据计算节点上的内存的容量为应用分配计算资源。例如,计算节点1的内存为50g,计算节点2的负载为100g。计算节点1的计算资源对应用的算力量化值大于计算节点2的计算资源对应用的算力量化值。但是应用的资源需求的内存为100g,因此资源管理器112为应用分配计算节点2上的计算资源。
67.在资源管理器112确定了应用的资源需求、多种计算资源组合对应用的算力量化值和资源调度策略后,资源管理器112可以依据应用的资源需求、多种计算资源组合对应用的算力量化值和资源调度策略进行权衡集群中的资源,从多种计算资源组合中选择最优配置的第一计算资源组合作为与应用匹配的计算资源组合。例如,资源管理器112可以对多种计算资源组合对应用的算力量化值和负载均衡的倾向性量化值进行加权平均,根据加权平均得分确定为应用分配的资源。加权平均得分用于表征了可为应用分配的资源的等级。加权平均得分满足公式(1)。
68.si=ω1*ti+ω2*a
cpu_i
ꢀꢀꢀ
公式(1)
69.其中,si表示加权平均得分,ti表示计算节点i的倾向性量化值,a
cpu_i
表示计算节点i的计算资源对应用的算力量化值,ω1表示倾向性量化值的权重,ω2表示算力量化值的权重。
70.如此,结合应用的算力量化值和资源调度策略,进行综合评分分配资源,使得分配结果既考虑了资源调度策略,也考虑了应用对多样化算力的亲和性,给应用分配最大利用率的计算资源,提升资源利用效率和应用运行速度。
71.步骤203、资源管理器112分配第一计算资源组合的计算资源至应用。
72.资源管理器112分配第一计算资源组合关联的计算资源至应用,由包含第一计算资源组合中的计算资源的计算节点运行应用。
73.进一步的,资源管理器112还可以监控第一计算资源组合运行应用的算力,获取算力量化值。如图4所示,该方法还包括以下步骤401和步骤402。
74.步骤401、资源管理器112获取第一计算资源组合中每个计算资源对应用的第一算力量化值。
75.集群中的计算节点在运行应用后,资源管理器112可以采集应用的标识、第一计算资源组合中每个计算资源运行应用的数据量和运行时长。应用的标识用于唯一标识应用。应用的标识例如可以是md5。
76.对于第一计算资源组合中每个计算资源,资源管理器112根据单位数据量、初始算力量化值和初始数据量确定第一计算资源组合中计算资源的算力量化值。单位数据量为单位时间内单个处理器核处理的数据量。初始算力量化值为第一个计算资源运行应用的算力量化值。初始算力量化值可以为1。初始数据量为第一个计算资源运行应用的单位时间内单个处理器核处理的数据量。与初始算力量化值进行比较后获取的算力量化值越大,意味着计算资源运行应用的性能越高,效率越高,时延越短,越能发挥该计算资源的算力。
77.例如,单位时间为1秒,单位时间内计算资源处理的数据量为3吉字节(gigabyte,gb)则算力量化值可以为3。
78.步骤402、资源管理器112根据第一计算资源组合中计算资源对应用的第一算力量化值更新数据库中存储的计算资源对应用的第二算力量化值。
79.资源管理器112可以根据第一算力量化值、第二算力量化值、第一数据量和第二数据量更新第二算力量化值。第一数据量为第一计算资源组合中计算资源运行应用的数据量。第二数据量为数据库存储的第一计算资源组合中计算资源运行应用的数据量。
80.可理解的,对于同一个计算资源,同一应用,资源管理器112根据本次运行应用生成的数据量和第一算力量化值、以及历史运行应用生成的数据量和第二算力量化值更新同
一计算资源运行同一应用的第二算力量化值。更新后的算力量化值满足如下公式(2)。
[0081][0082]d″
cpu_i
=d
cpu_i
+d

cpu_i
[0083]
其中,cpu_i为本次运行应用的计算资源,a
cpu_i
为数据库中存储的cpu_i运行应用后的算力量化值,a

cpu_i
为cpu_i本次运行应用后得到的算力量化值,a

cpu_i
为更新后的算力量化值,d
cpu_i
为数据库中存储的cpu_i运行应用的数据量,d

cpu_i
为cpu_i本次运行应用的数据量。d

cpu_i
为更新后的数据量。
[0084]
以应用的标识作为键值,资源管理器112将不同计算资源的算力量化值和本次每种计算资源处理的数据量写入数据库。如果数据库中未存储该应用的标识指示的应用的算力量化值和数据量,将本次运行该应用后的算力量化值和数据量写入数据库。如果数据库已存储该应用相关的算力量化值和数据量,则根据公式(2)更新数据库存储的该应用相关的算力量化值和数据量。
[0085]
可选的,资源管理器112还可以向交互装置310发送第一计算资源组合、多种计算资源组合对应用的算力量化值和第一计算资源组合对应用的第一算力量化值(步骤204)。交互装置310接收资源管理器112发送的第一计算资源组合、多种计算资源组合对应用的算力量化值和第一计算资源组合对应用的第一算力量化值(步骤205)。交互装置310呈现第一计算资源组合、多种计算资源组合对应用的算力量化值和第一计算资源组合对应用的第一算力量化值(步骤206)。从而,使用户可以直观地看到第一计算资源组合、多种计算资源组合对应用的算力量化值和第一计算资源组合对应用的第一算力量化值的效果。
[0086]
示例的,如图3中的(e)所示,终端设备200显示第一计算资源组合、多种计算资源组合对应用的算力量化值和第一计算资源组合对应用的第一算力量化值。
[0087]
资源管理器112还可以更新集群中的计算资源,更新包括删除或增加计算资源(步骤207),以便于为应用提供丰富的资源。
[0088]
在资源管理器112根据应用的资源需求和多种计算资源组合对应用的算力量化值,在多种计算资源组合中选择第一计算资源组合,即步骤202之前,资源管理器112可以先获取多种计算资源组合对应用的算力量化值。如图5所示,该方法还包括以下步骤501至步骤504。
[0089]
步骤501、资源管理器112判断用户配置文件是否包括多种计算资源组合对应用的算力量化值。
[0090]
用户配置文件可以由系统管理员预先配置。资源管理器112可以从用户侧的交互装置获取用户上传的用户配置文件。若用户配置文件包括了集群中多种计算资源组合对应用的算力量化值,表明资源管理器112从用户配置文件中获取了多种计算资源组合对应用的算力量化值,执行步骤202a或步骤202b。资源管理器112无需再执行以下步骤502至步骤505。
[0091]
若用户配置文件包括了集群中多种计算资源组合中一部分计算资源组合对应用的算力量化值,或者,用户配置文件不包括集群中多种计算资源组合对应用的算力量化值,执行步骤502。
[0092]
步骤502、资源管理器112判断数据库中是否包括多种计算资源组合对应用的算力
量化值。
[0093]
若用户配置文件包括了集群中多种计算资源组合中一部分计算资源组合对应用的算力量化值,资源管理器112判断数据库是否包括多种计算资源组合中另一部分计算资源组合对应用的算力量化值。
[0094]
如果数据库包括多种计算资源组合中另一部分计算资源组合对应用的算力量化值,表明资源管理器112从用户配置文件和数据库中获取了多种计算资源组合对应用的算力量化值,执行步骤202a或步骤202b。资源管理器112无需再执行以下步骤503至步骤505。
[0095]
如果数据库中不包括多种计算资源组合中另一部分计算资源组合对应用的算力量化值,表明资源管理器112从用户配置文件中获取了多种计算资源组合中一部分计算资源组合对应用的算力量化值,执行步骤503。
[0096]
若用户配置文件不包括集群中多种计算资源组合对应用的算力量化值,资源管理器112确定数据库包括多种计算资源组合对应用的算力量化值,表明资源管理器112从数据库中获取了多种计算资源组合对应用的算力量化值,执行步骤202a或步骤202b。资源管理器112无需再执行以下步骤503至步骤505。
[0097]
步骤503、资源管理器112利用算力预测模型,根据多种计算资源组合中一部分计算资源组合对应用的算力量化值确定多种计算资源组合中另一部分计算资源组合对应用的算力量化值。
[0098]
由于应用可能并未在集群中所有类型的计算资源上运行过,因此可以利用算力预测模型来预测应用在未运行过的计算资源对应用的算力量化值。
[0099]
在利用算力预测模型来预测计算资源对应用的算力量化值之前,可以周期性地从数据库中选取在集群中所有的计算资源上运行过的历史应用的算力量化值,将历史应用的算力量化值中一部分算力量化值作为特征,历史应用的算力量化值中另一部分算力量化值作为标签,训练算力预测模型。将算力预测模型输出的结果与标签比较,直到算力预测模型中的损失函数收敛,且损失函数值小于特定阈值则算力预测模型训练完成。或者,数据库中所有在集群中所有的计算资源上运行过的历史应用的算力量化值被用于训练,则算力预测模型训练完成。算力预测模型可以是具有回归预测功能的模型,例如,算力预测模型是线性回归或梯度提升决策树(gradient boosting decision tree,gbdt)。
[0100]
进而,资源管理器112将多种计算资源组合中一部分计算资源组合对应用的算力量化值输入算力预测模型,算力预测模型依据多种计算资源组合中一部分计算资源组合对应用的算力量化值预测多种计算资源组合中另一部分计算资源组合对应用的算力量化值。需要说明的是,算力预测模型预测算力量化值时输入的算力量化值的个数与训练算力预测模型时输入的算力量化值的个数相同。例如,训练算力预测模型时输入的算力量化值的个数为4,算力预测模型预测算力量化值时输入的算力量化值的个数也需要是4。
[0101]
在上述步骤501至步骤503之后,还可以执行步骤504和步骤505。步骤504、资源管理器112判断是否完全获取到多种计算资源组合对应用的算力量化值。若完全获取到多种计算资源组合对应用的算力量化值,执行步骤202a或步骤202b,流程结束。若未完全获取到多种计算资源组合对应用的算力量化值,即多种计算资源组合中有的计算资源组合对应用的算力量化值还没有获取到,则执行步骤505、将多种计算资源组合中未获取到的计算资源组合对应用的算力量化值设置为初始值1。可理解的,未获取到的计算资源组合中的计算资
源对应用的算力量化值设置为初始值1。将多种计算资源组合中未获取到的计算资源组合对应用的算力量化值设置为初始值1后,执行步骤202a或步骤202b。
[0102]
如此,结合用户配置文件、相同应用的算力量化值历史记录以及基于算力预测模型获取集群中计算资源对应用的算力量化值,根据算力量化值从集群中选择最优的计算资源,确保应用的处理时延。最大化利用集群中的计算资源运行应用,提升集群中计算节点的整体执行效率,在有效时间内完成应用的任务。
[0103]
可以理解的是,为了实现上述实施例中的功能,管理设备包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本技术中所公开的实施例描述的各示例的单元及方法步骤,本技术能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
[0104]
上文中结合图1至图5,详细描述了根据本实施例所提供的资源调度方法,下面将结合图6至图7,描述根据本实施例所提供的资源调度装置和管理设备。
[0105]
图6为本实施例提供的可能的资源调度装置的结构示意图。这些资源调度装置可以用于实现上述方法实施例中资源管理器的功能,因此也能实现上述方法实施例所具备的有益效果。在本实施例中,该资源调度装置可以是如图1所示的资源管理器112,还可以是应用于服务器的模块(如芯片)。
[0106]
如图6所示,资源调度装置600包括通信模块610、选择模块620和分配模块630。
[0107]
通信模块610,用于获取应用的资源需求,所述资源需求用于指示所述应用所需计算资源的需求。
[0108]
选择模块620,用于根据所述应用的资源需求在多种计算资源组合中选择第一计算资源组合作为与所述应用匹配的计算资源组合,所述多种计算资源组合中包括至少一种计算资源,所述至少一种计算资源中每种计算资源包括与计算资源的算力关联的资源。
[0109]
分配模块630,用于分配所述第一计算资源组合的计算资源至所述应用。
[0110]
应理解的是,本技术实施例的资源调度装置600可以通过中央处理单元(central processing unit,cpu)实现,也可以通过专用集成电路(application-specific integrated circuit,asic)实现,或者,还可以通过可编程逻辑器件(programmable logic device,pld)实现,上述pld可以是复杂程序逻辑器件(complex programmable logical device,cpld),现场可编程门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。也可以通过软件实现图2、图4或图5所示的方法时,资源调度装置600及其各个模块也可以为软件模块。
[0111]
可选地,选择模块620,具体用于根据所述应用的资源需求和所述多种计算资源组合对所述应用的算力量化值,在所述多种计算资源组合中选择所述第一计算资源组合作为与所述应用匹配的计算资源组合,所述第一计算资源组合为所述多种计算资源组合中运行所述应用的算力最强的计算资源,所述算力量化值用于指示计算资源运行应用的运算能力。
[0112]
可选地,选择模块620,具体用于根据所述应用的资源需求、所述多种计算资源组合对所述应用的算力量化值和资源调度策略,在所述多种计算资源组合中选择所述第一计算资源组合作为与所述应用匹配的计算资源组合,所述资源调度策略包括网络资源策略和
存储资源策略。
[0113]
可选地,所述装置还包括存储模块640,用于存储资源调度策略,以及应用和运行应用的计算资源组合的对应关系。
[0114]
可选地,所述装置还包括获取模块,用于获取所述第一计算资源组合中的计算资源对所述应用的第一算力量化值,以及第一数据量,所述第一数据量为所述第一计算资源组合中的计算资源运行所述应用的数据量。
[0115]
可选地,所述装置还包括更新模块660,用于根据所述应用的标识获取数据库650中存储的所述第一计算资源组合中的计算资源对所述应用的第二算力量化值,以及第二数据量,所述第二数据量为所述数据库650存储的所述计算资源运行所述应用的数据量;以及,根据所述第一算力量化值、所述第二算力量化值、所述第一数据量和所述第二数据量更新所述第二算力量化值。
[0116]
可选地,所述装置还包括显示模块,用于显示所述多种计算资源组合对所述应用的算力量化值和所述第一计算资源组合中的计算资源对所述应用的第一算力量化值。
[0117]
根据本技术实施例的资源调度装置600可对应于执行本技术实施例中描述的方法,并且资源调度装置600中的各个单元的上述和其它操作和/或功能分别为了实现图2、图4或图5中的各个方法的相应流程,为了简洁,在此不再赘述。
[0118]
图7为本实施例提供的一种管理设备700的结构示意图。如图所示,管理设备700包括处理器710、总线720、存储器730通信接口740。
[0119]
应理解,在本实施例中,处理器710可以是中央处理器(central processing unit,cpu),该处理器710还可以是其他通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application-specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
[0120]
处理器还可以是图形处理器(graphics processing unit,gpu)、神经网络处理器(neural network processing unit,npu)、微处理器、特定应用集成电路(application-specific integrated circuit,asic)、或一个或多个用于控制本技术方案程序执行的集成电路。
[0121]
通信接口740用于实现管理设备700与外部设备或器件的通信。在本实施例中,通信接口740用于接收应用和应用的资源需求。
[0122]
总线720可以包括一通路,用于在上述组件(如处理器710和存储器730)之间传送信息。总线720除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线720。
[0123]
作为一个示例,管理设备700可以包括多个处理器。处理器可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的计算单元。处理器710可以调用存储器730存储的多种计算资源组合对应用的算力量化值,根据应用的资源需求和多种计算资源组合对应用的算力量化值,在多种计算资源组合中选择第一计算资源组合作为与应用匹配的计算资源组合。
[0124]
值得说明的是,图7中仅以管理设备700包括1个处理器710和1个存储器730为例,
此处,处理器710和存储器730分别用于指示一类器件或设备,具体实施例中,可以根据业务需求确定每种类型的器件或设备的数量。
[0125]
存储器730可以对应上述方法实施例中用于存储多种计算资源组合对应用的算力量化值等信息的存储介质,例如,磁盘,如机械硬盘或固态硬盘。
[0126]
上述管理设备700可以是一个通用设备或者是一个专用设备。例如,管理设备700可以是基于x86、arm的服务器,也可以为其他的专用服务器,如策略控制和计费(policy control and charging,pcc)服务器等。本技术实施例不限定管理设备700的类型。
[0127]
应理解,根据本实施例的管理设备700可对应于本实施例中的资源调度装置600,并可以对应于执行根据图2、图4或图5中任一方法中的相应主体,并且资源调度装置600中的各个模块的上述和其它操作和/或功能分别为了实现图2、图4或图5中的各个方法的相应流程,为了简洁,在此不再赘述。
[0128]
本技术提供一种系统,该系统包括如图1所示的计算机集群,具体包括管理节点、至少一个计算节点,管理节点与计算节点连接。管理节点和至少一个计算节点可以部署在物理设备上,也可以部署在虚拟设备。其中,管理节点用于实现如图2、图4或图5中的各个方法的相应流程,为了简洁,在此不再赘述。
[0129]
本实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,ram)、闪存、只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)、寄存器、硬盘、移动硬盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
[0130]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,dvd);还可以是半导体介质,例如,固态硬盘(solid state drive,ssd)。
[0131]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替
换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1