一种任务处理方法、装置、电子设备及可读存储介质与流程
未命名
10-08
阅读:64
评论:0

1.本技术属于计算资源管理技术领域,具体涉及一种任务处理方法、装置、电子设备以及存储介质。
背景技术:
2.随着人工智能技术的发展,人工智能相关的开发和引用过程涉及的数据量和计算量也越来越大,而单一的资源设备无法满足人工智能计算所需的大计算量。因此,基于云计算平台的资源平台应运而生。
3.相关技术中,已有根据第一算力信息以及任务的优先级信息进行资源分配的方法。该方法可以针对不同优先级的任务分配不同的资源,不同优先级之间所分配的资源不会互相占用,从而能够保证不同优先级的任务都有足够的第一算力,保证了资源分配的平衡性。
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.可选地,所述第一分配模块,包括:
45.第二确定子模块,用于基于所述第一算力,从所述剩余资源中确定与所述第一算力对应的运算单元型号;
46.第三确定子模块,用于将所述运算单元型号对应的运算单元确定为所述运行资源。
47.可选地,所述第二确定子模块,包括:
48.第一确定单元,用于从所述剩余资源中确定与所述第一算力对应的资源组;
49.第二确定单元,用于从所述资源组中确定与所述第一算力对应的运算单元类别;
50.第三确定单元,用于从所述运算单元类别中确定所述运算单元型号。
51.可选地,所述装置还包括:
52.第二获取模块,用于获取所述第一任务的完成状态;
53.重置模块,用于在所述完成状态为已完成的情况下,将所述运行资源设置为空闲状态。
54.第三方面,本发明实施例提供了一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的任务处理方法。
55.第四方面,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由处理器加载并执行以实现如上所述的任务处理方法。
56.在本技术的实施例中,通过获取用户发起的第一任务,获取所述用户的剩余资源;所述剩余资源表示与所述用户对应的处于空闲状态的运算资源;确定所述第一任务所需的第一算力;基于所述第一算力,从所述剩余资源中为所述第一任务分配运行资源;通过所述运行资源执行所述第一任务,可以使得每个任务在被执行时都使用独立的运算资源,可以有效避免不同任务抢占同一运算资源的技术问题,从而能够有效提升平台处理不同任务的效率。
附图说明
57.图1是本发明实施例提供的一种任务处理方法的流程示意图;
58.图2是本发明实施例提供的另一种任务处理方法的流程示意图;
59.图3是本发明实施例提供的一种用户可分配资源的示例图;
60.图4是本发明实施例提供的一种任务处理装置的逻辑框图;
61.图5是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
62.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本技术保护的范围。
63.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
64.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的任务处理方法进行详细地说明。
65.如图1所示,图1为本发明实施例提供的一种任务处理方法的流程示意图,该方法可以包括:
66.步骤101,获取用户发起的第一任务,获取所述用户的剩余资源;所述剩余资源表示与所述用户对应的处于空闲状态的运算资源。
67.在本发明的实施例中,在用户发起第一任务之后,平台可以获取第一任务,由于处理第一任务需要占用一定的运算资源,而平台会提前为每个用户分配相应的运算资源,因此在获取第一任务之后,可以获取第一任务对应的用户的处于空闲状态的剩余运算资源,从而为进行后续步骤做好准备。
68.在本发明的实施例中,第一任务可以包括深度学习模型的训练任务、开发环境搭建、学习模型的测试任务等。运算资源可以包括一些具有数据运算能力的处理器,例如中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)、机器学习处理器(machine learning unit,mlu)等。需要说明的是,不同类型的处理器构成的联合处理单元同样属于本发明实施例中运算资源的范围,例如中央处理器与图形处理器的组合,本发明实施例对此不做限定。
69.步骤102,确定所述第一任务所需的第一算力。
70.在本发明的实施例中,可以基于第一任务的任务信息来确定执行第一任务所需的第一算力,任务信息可以包括任务类型、任务结构、输入数据和输出数据等。算力即为处理器计算哈希函数输出的速度,在本发明的实施例中,第一算力可以指执行第一任务所需的处理能力。
71.例如,有一种卷积神经网络构成的深度学习模型的训练任务,则该训练任务所需的算力可以基于该神经网络的输入节点的个数、输出节点的个数、隐含层的个数、每个隐含层包含的中间节点的个数、输入数据的复杂度、激活函数的复杂度等信息来计算得出。
72.步骤103,基于所述第一算力,从所述剩余资源中为所述第一任务分配运行资源。
73.在本发明的实施例中,在得到第一任务所需的第一算力之后,可以基于第一算力从第一任务对应的用户的剩余运算资源中为第一任务分配运行资源,用于运行第一任务。分配的运行资源的算力可以与第一算力相匹配,以使得平台可以基于该运行资源执行第一任务。
74.步骤104,通过所述运行资源执行所述第一任务。
75.在本发明的实施例中,在完成运行资源的分配之后,平台可以调用该运行资源,执行第一任务。
76.在本发明的实施例中,通过获取用户发起的第一任务,获取所述用户的剩余资源;
所述剩余资源表示与所述用户对应的处于空闲状态的运算资源;确定所述第一任务所需的第一算力;基于所述第一算力,从所述剩余资源中为所述第一任务分配运行资源;通过所述运行资源执行所述第一任务,可以使得每个任务在被执行时都使用独立的运算资源,可以有效避免不同任务抢占同一运算资源的技术问题,从而能够有效提升平台处理不同任务的效率。
77.如图2所示,图2为本发明实施例提供的另一种任务处理方法的流程示意图,该方法可以包括:
78.步骤201,获取用户发起的第一任务,获取所述用户的剩余资源;所述剩余资源表示与所述用户对应的处于空闲状态的运算资源。
79.在本发明的实施例中,本步骤的实施内容可参考步骤101中的实施内容,此处不再进行赘述。
80.具体地,步骤201中,可以包括以下子步骤:
81.子步骤2011,获取所述用户的第二算力;所述第二算力表示所述用户的最大可用算力。
82.在本发明的实施例中,在获取到用户发起的第一任务后,可以获取该用户在当前任务平台中的第二算力,第二算力可以是平台为该用户分配的最大可用算力。在本发明的实施例中,平台可以为不同的用户分配不同的最大可用算力,可以基于用户的级别分配对应的最大可用算力。
83.子步骤2012,在所述第二算力大于或等于所述第一算力的情况下,获取所述用户的剩余资源。
84.在本发明的实施例中,可以比较第二算力和第一算力的大小,在第二算力大于或等于第一算力的情况下,表明该用户拥有的最大运算资源足够执行该用户发起的第一任务,因此,可以进一步获取该用户在当前平台的剩余资源,其中,剩余资源表示该用户当前可以分配的处于空闲状态的运算资源。在第二算力小于第一算力的情况下,表明用户发起的任务所需的算力超出了该用户对应的最大可用算力,此时可以向用户发出任务超额报警提示,用户可以在收到超额报警提示之后及时进行处理。
85.例如,某用户创建的任务需要的算力为10个平台算力单位,但是该用户在平台中的最大算力只有8个平台算力单位,此时可以触发任务超额报警提示,可以告知用户当前所在的用户组无法执行该用户发起的任务。用户在收到任务超额报警提示之后,可以更换其所在的用户组,也可以撤销本次任务。
86.在本发明的实施例中,通过获取所述用户的第二算力,所述第二算力表示所述用户的最大可用算力,在所述第二算力大于或等于所述第一算力的情况下,获取所述用户的剩余资源,可以判断用户发起的任务所需的算力是否超出了为该用户分配的最大算力,从而能够判断该用户是否可以在当前平台处理该用户发起的当前任务,能够避免用户资源的不合理分配,有效提升平台任务的执行效率。
87.步骤202,确定所述第一任务所需的第一算力。
88.在本发明的实施例中,本步骤的实施内容可参考步骤102中的实施内容,此处不再进行赘述。
89.步骤203,确认所述剩余资源的第一剩余算力;所述第一剩余算力表示所述剩余资
源的算力总和。
90.在本发明的实施例中,在获得用户的剩余资源之后,可以基于该剩余资源的信息获取对应的第一剩余算力。具体地,每个资源都可以有固定的最大算力,由于该资源并未被分配,因此每个资源的可用算力都是其对应的最大算力,这样,把每个资源的最大算力进行相加求和,就可以得到第一剩余算力。
91.步骤204,在所述第一剩余算力大于或等于所述第一算力的情况下,基于所述第一算力,从所述剩余资源中为所述第一任务分配所述运行资源。
92.在本发明的实施例中,在第一剩余算力大于或等于第一算力的情况下,表明该用户当前可用的运算资源足够运行第一任务,基于这个条件,可以从剩余的运算资源中为第一任务分配与第一算力相匹配的运算资源作为运行资源。一般情况下,该运行资源对应的算力可以大于或等于第一算力,这是由于每个运算资源的算力是固定的,并且在本发明的实施例中,每个运算资源在完成分配后一般只能处理对应的任务,所以通常情况下分配的运算资源对应的算力都可以是超额的。
93.具体地,步骤204中,可以包括以下子步骤:
94.子步骤2041,基于所述第一算力,从所述剩余资源中确定与所述第一算力对应的运算单元型号。
95.在本发明的实施例中,剩余资源可以包括资源组、运算单元类别以及运算单元型号,其中,每个资源组可以包括不同的运算单元类别,每个运算单元类别可以包括与其对应的不同的运算单元型号,也就是说,资源组、运算单元类别和运算单元型号可以是逐级递进的关系。这样,基于第一算力,可以从剩余资源中确定至少一个运算单元型号。
96.在本发明的实施例中,表1为本发明实施例提供的一种资源组、运算单元类别和运算单元型号的对应关系,如下:
[0097][0098]
表1
[0099]
其中,g1、g2、g3为资源组包括的三个不同的资源组名称,g1包括的运算单元类别有a类和b类,g2包括的运算单元类别有b类,g3包括的运算单元类别有c类;g1包括的运算单元型号有a1和b2,分别与a类运算单元和b类运算单元对应,g2包括的运算单元有b3和b4,与b类运算单元对应,g3包括的运算单元有c1和c2,与c类运算单元对应。
[0100]
在本发明的实施例中,图3为本发明实施例提供的一种用户可分配资源的示例图,图中,在一个用户组下可以包括用户a和用户b,用户a和用户b共用相同的运算资源,在这个
用户组下的资源包括两个资源组,分别为资源组1和资源组2,其中,资源组1包括两个运算单元类别,分别为运算单元类别1和运算单元类别2,资源组2包括两个运算单元类别,分别为运算单元类别3和运算单元类别4,运算单元类别1包括两个运算单元型号,分别为型号1和型号2,运算单元类别2包括两个运算单元型号,分别为型号3和型号4,运算单元类别3包括两个运算单元型号,分别为型号5和型号6,运算单元类别4包括两个运算单元型号,分别为型号7和型号8,型号1为占用状态,表明型号1对应的运算单元被占用,正在用于执行任务,型号2为空闲状态,表明型号2对应的运算单元没有被占用,可以被分配,从而用于执行新的任务,型号3为占用状态,该占用状与型号1的占用状态所代表的含义相同,表明型号3对应的运算单元正在用于执行任务,型号4、型号5、型号6、型号7、型号8均为空闲状态,该空闲状态与型号2的空闲状态所代表的含义相同,表明这些型号对应的运算单元没有被占用,可以被分配用于执行新的任务。
[0101]
可选地,子步骤2041,可以包括以下子步骤:
[0102]
子步骤a1,从所述剩余资源中确定与所述第一算力对应的资源组。
[0103]
在本发明的实施例中,由于资源组、运算单元类别和运算单元型号可以是逐级递进的关系,因此,可以首先从剩余资源中确定与第一算力对应的至少一个资源组。在确定资源组之前,可以先计算各个资源组当前的剩余算力,并且可以优先对剩余算力大于第一算力的资源组进行确定。
[0104]
子步骤a2,从所述资源组中确定与所述第一算力对应的运算单元类别。
[0105]
在本发明的实施例中,由于资源组可以包括至少一个运算单元类别,因此可以从资源组中确定至少一个与第一算力对应的运算单元类别。
[0106]
子步骤a3,从所述运算单元类别中确定所述运算单元型号。
[0107]
在本发明的实施例中,由于运算单元类别可以包括至少一个运算单元型号,因此可以从运算单元类别中确定至少一个与第一算力对应的运算单元型号。
[0108]
例如,有一个用户组,该用户组下的运算资源如表1所示,那么首先可以确定使用资源组中的至少一个,例如使用g1资源组,然后可以在g1资源组下确认至少一个运算单元类别,例如a运算单元类别,最后,可以在g2资源组下的a运算单元类别下确认至少一个运算单元型号,例如a1运算单元型号,这样就完成了运算单元型号的确认。
[0109]
在本发明的实施例中,通过从所述剩余资源中确定与所述第一算力对应的资源组,从所述资源组中确定与所述第一算力对应的运算单元类别,从所述运算单元类别中确定所述运算单元型号,可以逐级为同一任务分配合适的资源,实现了多维度和更细粒化的资源管理,提升了运算资源的使用率。
[0110]
子步骤2042,将所述运算单元型号对应的运算单元确定为所述运行资源。
[0111]
在本发明的实施例中,在获取到与第一算力对应的运算单元型号后,可以将与该运算单元型号对应的运算单元确定为第一任务的运行资源。此时,该运算单元型号对应的运算单元可以被第一任务占用,可以不再处于空闲状态。
[0112]
在本发明的实施例中,通过基于所述第一算力,从所述剩余资源中确定与所述第一算力对应的运算单元型号,将所述运算单元型号对应的运算单元确定为所述运行资源,可以为第一任务确定具体的运算单元以执行第一任务,实现了平台对任务和运算资源的联合管理,通过运算单元的占用状态变化,能够有效避免不同任务占用同一运算资源的问题。
[0113]
在本发明的实施例中,通过确认所述剩余资源的第一剩余算力,所述第一剩余算力表示所述剩余资源的算力总和,在所述第一剩余算力大于或等于所述第一算力的情况下,基于所述第一算力,从所述剩余资源中为所述第一任务分配所述运行资源,可以判断用户当前剩余的运算资源对应的算力能否满足用户发起的任务的算力需求,并且可以在满足需求的情况下,为用户发起的任务从剩余资源中分配运算资源作为任务运行的运行资源,细化了为任务分配资源的条件,通过细化运算资源的管理,提升了任务处理的效率。
[0114]
步骤205,在所述第一剩余算力小于第一算力的情况下,控制所述第一任务进入排队状态并实时获取所述剩余资源的第二剩余算力;所述第二剩余算力表示所述剩余资源更新后的剩余资源的算力总和。
[0115]
在本发明的实施例中,在第一剩余算力小于第一算力的情况下,表示该用户的剩余可用算力满足任务要求,但平台缺少足够的资源可供分配,此时可以将第一任务确认为排队状态,并且可以实施获取剩余资源的第二剩余算力。
[0116]
另外,在第一剩余算力小于第一算力的情况下,还可以向用户发送配额不足提示信息,可以告知用户平台当前剩余的运算资源不足以执行该任务。用户在收到配额不足提示信息后,可以手动控制任务退出排队状态,进行其他操作,也可以继续进行排队。
[0117]
例如,某用户创建的任务需要的算力为10个平台算力单位,该用户在平台中的最大算力为20个平台算力单位,满足当前资源使用需求,但是当前用户组对应的剩余资源的算力为8个平台算力单位,此时可以控制该任务进入排队状态,当剩余资源的算力超过10个平台算力单位后,可以控制该任务退出排队状态并为该任务分配相应的运算资源。
[0118]
步骤206,在所述第二剩余算力大于所述第一算力的情况下,退出所述排队状态,从所述剩余资源中为所述第一任务分配所述运行资源。
[0119]
在本发明的实施例中,当有其他任务完成,使得第二剩余算力增加到大于第一算力的情况下,可以使第一任务退出排队状态,并可以为第一任务分配运行资源。分配运行资源的实施方法可以参考步骤204的实施例部分,此处不再赘述。
[0120]
步骤207,通过所述运行资源执行所述第一任务。
[0121]
在本发明的实施例中,本步骤的实施内容可参考步骤104中的实施内容,此处不再进行赘述。
[0122]
步骤208,获取所述第一任务的完成状态。
[0123]
在本发明的实施例中,在开始执行第一任务之后,可以实时监控第一任务的完成状态,其中,完成状态可以包括未完成和已完成。例如,对于一个深度学习模型的训练任务来说,需要对所有训练集中的数据进行训练,当训练集中还有数据未进行训练时,这个训练任务的完成状态可以是未完成;当训练集中的数据已经全部用于训练时,这个训练任务的完成状态可以是已完成。
[0124]
步骤209,在所述完成状态为已完成的情况下,将所述运行资源设置为空闲状态。
[0125]
在本发明的实施例中,在第一任务的完成状态为已完成的情况下,可以释放第一任务对应的运行资源,并设置该运行资源的状态为空闲状态,以使得该运行资源可以被其他任务进行分配和使用。
[0126]
在本发明的实施例中,通过获取所述第一任务的完成状态,在所述完成状态为已完成的情况下,将所述运行资源设置为空闲状态,可以使得被分配的资源在任务完成后重
新进入剩余资源中供平台进行分配和使用,有效提升平台处理任务的效率。
[0127]
例如,有一个正在执行的任务,该任务占用的算力为5个平台算力单位,那么当该任务完成时,发起该任务的用户对应的用户组下的剩余资源将会增加5个平台算力单位,从而可以更新当前用户组的剩余资源。
[0128]
在本发明的实施例中,通过获取用户发起的第一任务,获取所述用户的剩余资源,所述剩余资源表示与所述用户对应的处于空闲状态的运算资源,确定所述第一任务所需的第一算力,确认所述剩余资源的第一剩余算力;所述第一剩余算力表示所述剩余资源的算力总和,在所述第一剩余算力大于或等于所述第一算力的情况下,基于所述第一算力,从所述剩余资源中为所述第一任务分配所述运行资源,在所述第一剩余算力小于第一算力的情况下,控制所述第一任务进入排队状态并实时获取所述剩余资源的第二剩余算力;所述第二剩余算力表示所述剩余资源更新后的剩余资源的算力总和,在所述第二剩余算力大于所述第一算力的情况下,退出所述排队状态,从所述剩余资源中为所述第一任务分配所述运行资源,通过所述运行资源执行所述第一任务,获取所述第一任务的完成状态,在所述完成状态为已完成的情况下,将所述运行资源设置为空闲状态,可以细化为任务分配资源的条件,充分保证了不同用户对平台资源的合理利用,并且可以在用户当前的最大运算资源对应的算力和当前的剩余算力不符合条件时为用户进行报警提示,可以方便用户针对报警提示及时进行处理,通过对平台资源进行分配并进行状态识别,可以有效避免不同任务抢占同一运算资源的问题,提升了运算资源的使用效率和任务处理的效率。
[0129]
如图4所示,图4为本发明实施例提供的一种任务处理装置的逻辑框图,该装置400包括:
[0130]
第一获取模块401,用于获取第一任务和剩余资源;所述剩余资源表示所述云计算平台中处于空闲状态的资源;
[0131]
第一确定模块402,用于确定所述第一任务所需的第一算力;
[0132]
第一分配模块403,用于基于所述第一算力,从所述剩余资源中为所述第一任务分配运行资源;
[0133]
任务运行模块404,用于通过所述运行资源执行所述第一任务。
[0134]
可选地,所述第一获取模块401,包括:
[0135]
获取子模块,用于获取所述用户的第二算力;所述第二算力表示所述用户的最大可用算力;
[0136]
第一分配子模块,用于在所述第二算力大于或等于所述第一算力的情况下,基于所述第一算力,从所述剩余资源中为所述第一任务分配运行资源。
[0137]
可选地,所述第一分配模块403,包括:
[0138]
第一确认子模块,用于确认所述剩余资源的第一剩余算力;所述第一剩余算力表示所述剩余资源的算力总和;
[0139]
第二分配子模块,在所述第一剩余算力大于或等于所述第一算力的情况下,基于所述第一算力,从所述剩余资源中为所述第一任务分配所述运行资源。
[0140]
可选地,所述装置400还包括:
[0141]
排队模块,用于在所述第一剩余算力小于第一算力的情况下,控制所述第一任务进入排队状态并实时获取所述剩余资源的第二剩余算力;所述第二剩余算力表示所述剩余
资源更新后的剩余资源的算力总和;
[0142]
第二分配模块,在所述第二剩余算力大于所述第一算力的情况下,退出所述排队状态,从所述剩余资源中为所述第一任务分配所述运行资源。
[0143]
可选地,所述第一分配模块403,包括:
[0144]
第二确定子模块,用于基于所述第一算力,从所述剩余资源中确定与所述第一算力对应的运算单元型号;
[0145]
第三确定子模块,用于将所述运算单元型号对应的运算单元确定为所述运行资源。
[0146]
可选地,所述第二确定子模块,包括:
[0147]
第一确定单元,用于从所述剩余资源中确定与所述第一算力对应的资源组;
[0148]
第二确定单元,用于从所述资源组中确定与所述第一算力对应的运算单元类别;
[0149]
第三确定单元,用于从所述运算单元类别中确定所述运算单元型号。
[0150]
可选地,所述装置300还包括:
[0151]
第二获取模块,用于获取所述第一任务的完成状态;
[0152]
重置模块,用于在所述完成状态为已完成的情况下,将所述运行资源设置为空闲状态。
[0153]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0154]
所述任务处理装置与前述实施例所述的程序测试方法相对于现有技术所具有的优势相同,此处不再赘述。
[0155]
如图5所示,图5为本发明实施例提供的一种电子设备的结构示意图,该电子设备50包括:处理器501、存储器502以及存储在所述存储器502上并可在所述处理器501上运行的计算机程序5021,所述处理器501执行所述程序时实现前述实施例的任务处理方法。
[0156]
本发明提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由处理器加载并执行以实现如上所述的任务处理方法。
[0157]
本技术实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述任务处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0158]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本技术实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
[0159]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方
法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对相关技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
[0160]
上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
技术特征:
1.一种任务处理方法,其特征在于,所述方法包括:获取用户发起的第一任务,获取所述用户的剩余资源;所述剩余资源表示与所述用户对应的处于空闲状态的运算资源;确定所述第一任务所需的第一算力;基于所述第一算力,从所述剩余资源中为所述第一任务分配运行资源;通过所述运行资源执行所述第一任务。2.根据权利要求1所述的方法,其特征在于,所述获取所述用户的剩余资源,包括:获取所述用户的第二算力;所述第二算力表示所述用户的最大可用算力;在所述第二算力大于或等于所述第一算力的情况下,获取所述用户的剩余资源。3.根据权利要求1所述的方法,其特征在于,所述基于所述第一算力,从所述剩余资源中为所述第一任务分配运行资源,包括:确认所述剩余资源的第一剩余算力;所述第一剩余算力表示所述剩余资源的算力总和;在所述第一剩余算力大于或等于所述第一算力的情况下,基于所述第一算力,从所述剩余资源中为所述第一任务分配所述运行资源。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在所述第一剩余算力小于第一算力的情况下,控制所述第一任务进入排队状态并实时获取所述剩余资源的第二剩余算力;所述第二剩余算力表示所述剩余资源更新后的剩余资源的算力总和;在所述第二剩余算力大于所述第一算力的情况下,退出所述排队状态,从所述剩余资源中为所述第一任务分配所述运行资源。5.根据权利要求1所述的方法,其特征在于,所述基于所述第一算力,从所述剩余资源中为所述第一任务分配运行资源,包括:基于所述第一算力,从所述剩余资源中确定与所述第一算力对应的运算单元型号;将所述运算单元型号对应的运算单元确定为所述运行资源。6.根据权利要求5所述的方法,其特征在于,所述从所述剩余资源中确定与所述第一算力对应的运算单元型号,包括:从所述剩余资源中确定与所述第一算力对应的资源组;从所述资源组中确定与所述第一算力对应的运算单元类别;从所述运算单元类别中确定所述运算单元型号。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取所述第一任务的完成状态;在所述完成状态为已完成的情况下,将所述运行资源设置为空闲状态。8.一种任务处理装置,其特征在于,所述装置包括:第一获取模块,用于获取第一任务和剩余资源;所述剩余资源表示所述云计算平台中处于空闲状态的资源;第一确定模块,用于确定所述第一任务所需的第一算力;第一分配模块,用于基于所述第一算力,从所述剩余资源中为所述第一任务分配运行资源;
任务运行模块,用于通过所述运行资源执行所述第一任务。9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7中任一项所述的任务处理方法。10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由处理器加载并执行以实现如权利要求1至7任一项所述的任务处理方法。
技术总结
本申请公开了一种任务处理方法,该方法包括:获取用户发起的第一任务,获取所述用户的剩余资源;所述剩余资源表示与所述用户对应的处于空闲状态的运算资源;确定所述第一任务所需的第一算力;基于所述第一算力,从所述剩余资源中为所述第一任务分配运行资源;通过所述运行资源执行所述第一任务。通过这种方法,可以使得每个任务在被执行时都使用独立的运算资源,可以有效避免不同任务抢占同一运算资源的技术问题,从而能够有效提升平台处理不同任务的效率。务的效率。务的效率。
技术研发人员:邢良占
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2023.06.29
技术公布日:2023/10/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一站式电池包拆解平台的制作方法 下一篇:废水处理装置的制作方法