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

一种计算资源的分配方法和设备与流程

2021-11-09 23:06:00 来源:中国专利 TAG:


1.本技术涉及物联网技术领域,尤其涉及一种计算资源的分配方法和设备。


背景技术:

2.随着物联网(internet of things,iot)的蓬勃发展,边缘设备产生的数据量急剧增加,对网络带宽的要求也越来越高。边缘设备是指靠近物体或数据源头的设备。边缘计算(edge computing,ec)具有低延迟、节省带宽、保证数据隐私和安全等优点。相比传输到云端处理,使用边缘计算的边缘设备处理数据更安全、私密,响应时间更快。此外,边缘设备减少了与云端的通信,从而降低了成本。
3.与此同时,随着人工智能(artificial intelligence,ai)技术应用的越来越多,可以将ai技术应用在边缘设备上,以提高边缘设备的性能。在将ai技术应用在边缘设备上时,可以训练ai模型后并将ai模型上传至边缘设备上。处理器可以调用边缘设备上的ai模型用以对数据进行推理和计算。
4.目前,一个边缘设备可以挂载多个应用程序,并且可以存储多个应用程序对应的ai模型。但是,由于边缘设备上挂在了多个应用程序,在多个应用程序调用对应的ai模型进行推理和计算时,可能争抢边缘设备上的计算资源,同时可能会导致边缘设备上的计算资源不足而无法满足一些应用程序的计算需求,导致边缘设备上的计算资源被不合理的使用。


技术实现要素:

5.本技术提供一种计算资源的分配方法和设备,用以对边缘设备上的应用程序计分配算资源,减少应用程序不合理使用边缘设备上的计算资源的问题。
6.第一方面,本技术实施例中提供一种计算资源的分配方法。该方法可以由本技术实施例提供的边缘设备执行,或者还可以由类似边缘设备的其他设备执行。示例性的,该边缘设备可以是网络设备。该方法中,边缘设备可以接收第一应用程序发送的第一请求。该第一请求是用于请求边缘设备为该第一应用程序创建账户的请求。边缘设备可以响应于第一请求,为该第一应用程序创建账户,还可以为该第一应用程序分配边缘设备上的至少一个ai芯片上的第一计算资源。
7.基于该方案,边缘设备可以为挂载的应用程序创建账户,并为应用程序分配使用ai芯片的计算资源,从而可以管理应用程序使用ai芯片上的计算资源,可以减少因某一应用程序占用过多的计算资源,从而导致边缘设备上的计算资源不足而无法满足一些应用程序的计算需求的问题。
8.在一种可能的实现方式中,边缘设备为该第一应用程序分配的第一计算资源的值可以是预置的值。比如,边缘设备可以为第一应用程序分配的第一计算资源的值可以是固定的值或者固定的比例,这里的固定的值或者比例可以是提前分配的。
9.基于该方案,边缘设备可以将ai芯片的计算资源分配给各个应用程序,可以让每
一个应用程序都能够使用ai芯片上的计算资源,可以减少某一应用占用过多计算资源的问题。
10.在另一种可能的实现方式中,第一应用程序发送的第一请求中可以包括该第一应用程序请求的计算资源的大小值。那么,边缘设备为该第一应用程序分配的第一计算资源的大小可以小于或等于所述请求的计算资源的大小值。
11.基于该方案,不同的应用程序所需的计算资源大小可能不同,边缘设备可以根据应用程序请求的计算资源的大小,为应用程序分配第一计算资源,可以尽可能的满足应用程序的计算资源需求。
12.在一种可能的实现方式中,边缘设备可以根据优先级信息为第一应用程序分配第一计算资源。示例性的,如果第一应用程序的优先级越高,则边缘设备为其分配的第一计算资源越大。这里的优先级信息可以是预先存储在边缘设备上的,也可以是第一应用程序发送给边缘设备的。
13.基于该方案,边缘设备可以为优先级高的应用程序分配较多的计算资源,可以优先满足优先级较高的应用程序的计算需求。
14.在一种可能的实现方式中,边缘设备可以响应于第一应用程序占用的计算资源超过第一计算资源,边缘设备可以限制第一应用程序占用ai芯片的计算资源量。限制后的计算资源量可以小于或等于第一计算资源。示例性的,边缘设备限制第一应用程序占用ai芯片的计算资源量,可以但不限于通过降低该第一应用程序的推理优先级实现,这里的推理优先级可以是第一应用程序相对于其他的应用程序调用边缘设备上的ai模型进行推理计算的优先级。或者,边缘设备也可以通过降低该第一应用程序的推理次数来实现限制第一应用程序占用ai芯片的计算资源量,这里的推理次数可以是每指定时长内的推理次数。
15.基于该方案,边缘设备可以监控第一应用程序占用ai芯片的计算资源,在第一应用程序占用的计算资源量超过第一计算资源时,可以限制该第一应用程序占用的计算资源,避免由于第一应用程序占用过多计算资源,而导致边缘设备的计算资源不足的问题,以满足其他的应用程序的计算需求。
16.在一种可能的实现方式中,边缘设备还可以响应于第二应用程序访问为该第一应用程序创建的账户,边缘设备可以对第二应用程序进行访问认证。边缘设备可以在第二应用程序的访问认证通过时,允许第二应用程序访问为该第一应用程序创建的账户,在第二应用程序的访问认证失败时,禁止第二应用程序访问为该第一应用程序创建的账户。
17.基于该方案,在第二应用程序想要访问为第一应用程序创建的账户时,边缘设备可以对第二应用程序进行访问认证,在访问认证失败时无法访问第一应用程序的账户,可以实现多个应用程序的访问隔离,提高应用程序之间访问的安全性。
18.在一种可能的实现方式中,边缘设备还可以接收第一应用程序上传的ai模型。其中,这里的ai模型的格式可以是边缘设备可用的格式。如果该ai模型的格式是边缘设备不可用的格式,那么边缘设备可以将该ai模型的格式转换为边缘设备可用的格式。
19.基于该方案,边缘设备可以在第一应用程序上传的ai模型的格式不可用时,对ai模型的格式进行转换,以使应用程序则可以调用边缘设备上的ai模型进行推理和计算。
20.在一种可能的实现方式中,边缘设备可以通过第一接口接收第一应用程序发送的第一请求。其中,第一接口是边缘设备提供的供第一应用程序和除第一应用程序外的其他
应用程序调用的接口。
21.基于该方案,挂载在边缘设备上的应用程序,都可以通过第一接口向边缘设备发送第一请求,可以通过第一接口实现与边缘设备的通信。
22.第二方面,提供了一种边缘设备,边缘设备包括用于执行第一方面或第一方面任一种可能实现方式中的计算资源的分配方法的各个模块和用于为所述边缘设备提供计算资源的至少一个ai芯片。
23.第三方面,提供了一种边缘设备,该边缘设备包括处理器、存储器和为所述边缘设备提供计算资源的至少一个ai芯片;所述存储器用于存储一个或多个计算机程序;当所述存储器存储的一个或多个计算机程序被所述至少一个处理器执行时,使得所述边缘设备能够实现上述第一方面及其第一方面任一可能设计的技术方案。
24.第四方面,提供了一种边缘ai系统,包括边缘设备,该边缘设备用于执行上述第一方面或第一方面任一种可选方式所述的方法。
25.第五方面,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行上述第一方面任一可能的方法。
26.第六方面,本技术提供了一种存储指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一可能的方法。
27.第七方面,还提供一种芯片系统,所述芯片系统包括至少一个ai芯片,所述至少一个ai芯片与在运行时调用所述存储器中存储的程序指令,实现如上述第一方面任一可能提供的方法。
28.以上,第二方面至第七方面的有益效果可以参考第一方面的有益效果,这里不再过多赘述。
附图说明
29.图1为本技术实施例提供的一种边缘ai系统示意图;
30.图2为本技术实施例提供的一种计算资源的分配方法的示例性流程图之一;
31.图3为本技术实施例提供的一种边缘设备示意图之一;
32.图4为本技术实施例提供的一种计算资源的分配方法的示例性流程图之一;
33.图5为本技术实施例提供的一种计算资源的分配方法的示例性流程图之一;
34.图6为本技术实施例提供的一种边缘设备示意图之一;
35.图7为本技术实施例提供的一种边缘设备示意图之一。
具体实施方式
36.为了使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例作进一步地详细描述。
37.为便于理解本技术实施例,首先以图1为例详细说明适用于本技术实施例的边缘人工智能(artificial intelligence,ai)系统。如图1所示,该边缘ai系统100可以包括边缘设备101、第一应用程序102和ai芯片1011。可选地,该边缘ai系统还可以包括第二应用程序104和ai芯片1012。
38.在该边缘ai系统100中,第一应用程序102可以将训练好的ai模型上传至边缘设备
101中,并且在需要进行推理和计算的时候,可以调用边缘设备101中的ai模型。其中,ai芯片1011和1012可以为边缘设备101提供计算资源,也就是说第一应用程序102或者第二应用程序104可以根据ai芯片1011和1012提供的计算资源调用边缘设备101中的ai模型,以进行推理和计算。
39.其中,每一个应用程序,如第一应用程序102或第二应用程序104可以安装在不同或相同的设备上,该设备可以为用户设备(user equipment,ue)、计算设备或者是网络设备。比如,第一应用程序102和第二应用程序104可以安装在相同的ue上,或者还可以安装在不同的ue上。
40.应理解,图1仅为便于理解而示例的简化示意图,该边缘ai系统中还可以包括其他应用程序或者还可以包括其他ai芯片,图1中未予以画出。
41.另外,本技术的技术方案也可以应用于无线通信系统中,无线通信系统可以包括至少一个网络设备和至少一个应用程序。例如,无线通信系统中的网络设备可以对应于图1中所示的边缘设备101。
42.其中,边缘设备可以是指向物体或服务提供商核心网提供入口点的设备。例如,可以是网络设备包括:路由器、交换机、集成接入设备(integrated access device,iad)、多路复用器、以及各种城域网(metropolitan area network,man)和广域网(wide area network,wan)接入设备。
43.目前,边缘设备上通常会挂载多个应用程序,每一个应用程序都可以调用边缘设备上的对应的ai模型进行推理和计算。每一个应用程序可以安装在不同或相同的设备上,该设备可以为用户设备、计算设备或网络设备。然而,在某一应用程序调用边缘设备上的ai模型进行推理和运算时,可能会占用ai芯片的大部分计算资源,这就容易导致其他的应用程序无法使用ai芯片的计算资源、无法调用ai模型进行推理和计算的问题。此外,由于多个应用程序挂载在同一边缘设备上,也可能会造成某一应用程序的数据被其他应用程序随意的访问,从而无法保证被访问数据的安全性。因此,目前的边缘设备对于多个应用程序的管控不够合理。
44.有鉴于此,本技术实施例提供一种计算资源的分配方法,可以应用于各种通信系统,例如:长期演进(long term evolution,lte)系统,物联网系统(internet of things,iot),全球互联微波接入(worldwide interoperability for microwave access,wimax)通信系统,未来的第五代(5th generation,5g)系统,如新一代无线接入技术(new radio access technology,nr)及未来的通信系统,如6g系统等。
45.本技术将围绕可包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征.应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
46.本技术实施例描述的网络架构以及业务场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题同样适用。
47.图2是从设备交互角度示出的本技术实施例提供的计算资源的分配方法的示例性流程图,可以包括如下步骤:
48.步骤201:第一应用程序向边缘设备发送第一请求。
49.这里的第一请求可以用于请求该边缘设备为该第一应用程序创建账户。其中,第一请求中可以包括第一应用程序的身份信息。例如,第一请求中可以包括第一应用程序的名称。
50.可选的,边缘设备可以根据该身份信息对第一应用程序进行身份验证。比如,边缘设备可以预先维护一个允许创建账户的应用程序的身份信息列表,在接收到第一请求时,可以在列表中查找该第一请求中包含的身份信息。如果列表中存在该第一请求中包含的身份信息,则边缘设备可以认为身份验证通过,如果列表中不存在该第一请求包含的身份信息,则边缘设备可以认为身份验证失败。
51.可选的,边缘设备也可以不对第一应用程序进行身份验证。
52.在本技术实施例中,第一应用程序可以通过边缘设备提供的第一接口向边缘设备发送该第一请求。如图3所示,边缘设备提供第一接口,该第一接口是供挂载在边缘设备上的应用程序调用的采用统一的协议封装的接口。其中,该第一接口可以采用开源的应用程序接口(application programming interface,api)查询语言封装,比如,graphql或者restful。这里的graphql是一种针对图状数据(graph)进行查询的查询语言(query language),restful是一种表述性状态转换(representational state transfer,rest)的应用,是遵守了rest风格的网络服务,rest是一种万维网软件架构风格,目的是便于不同软件/程序在网络(如互联网)中互相传递信息。该第一接口可以包括以下一个或多个功能:
53.1、创建账户:第一应用程序可以通过第一接口调用创建账户的功能,请求边缘设备为第一应用程序创建账户。
54.2、上传模型:第一应用程序可以通过第一接口调用上传模型的功能,将训练好的ai模型上传至边缘设备。边缘设备可以将该ai模型存储至为第一应用程序创建的账户。
55.3、模型加载:第一应用程序可以通过第一接口调用模型加载的功能,并输入参数,比如输入环境参数、条件参数等,可以将上传的ai模型加载至特定的环境和条件下。
56.4、推理执行:第一应用程序可以通过第一接口调用推理执行的功能,向边缘设备发送运行ai模型的推理执行命令,则边缘设备可以根据该推理执行命令运行已经加载到特定的环境和条件下的ai模型。
57.5、结果查询:在ai模型推理结束后,边缘设备可以将推理结果存储至为第一应用程序创建的账户。第一应用程序可以通过第一接口调用结果查询的功能,访问该账户并查询推理结果。
58.本技术实施例中,由于第一接口可以是多个类型的接口采用统一的协议进行封装得到的,因此应用程序可以通过第一接口实现与边缘设备的通信,通信方式简单。
59.步骤202:所述边缘设备响应于所述第一请求,为所述第一应用程序创建账户,并为所述第一应用程序分配所述边缘设备上的至少一个ai芯片上的第一计算资源。
60.这里的第一计算资源的值,可以为边缘设备限定第一应用程式使用上述至少一个ai芯片的计算资源的一个阈值,该阈值可以是一个参考值,并不限定第一应用程序对计算资源的使用。
61.在一个实施例中,边缘设备可以在第一应用程序身份验证成功后,为该第一应用程序创建账户,并为该第一应用程序分配第一计算资源。如果边缘设备对第一应用程序的
身份验证失败,那么可以向第一应用程序返回一个错误指示,用以告知第一应用程序无法创建账户。
62.在边缘设备为该第一应用程序创建账户后,可以向该第一应用程序发送第一响应消息。该第一响应消息可以是用于通知该第一应用请求创建账户成功的响应消息。该第一响应消息中还可以包括第一应用请求的账户所对应的地址。这个地址可以是统一资源定位符(uniform resource locator,url)地址,或者还可以是该账户所对应的名称等。第一应用程序可以通过第一响应消息中包含的地址,访问为其创建的账户。
63.另外,第一应用程序还可以通过第一接口调用上传模型的功能,向边缘设备发送已经训练好的ai模型。这里的ai模型可以是第一应用程序在进行推理计算时需要使用的模型。如果该第一应用程序上传的ai模型是边缘设备上的至少一个ai芯片可用的格式,那么边缘设备可以将该第一应用程序上传的ai模型对应的存储至该第一应用程序的账户。如果该第一应用程序上传的ai模型是边缘设备上的ai芯片不可用的格式,那么边缘设备可以将该ai模型的格式转换为ai芯片可用的格式。其中,ai模型的格式是由训练该ai模型的引擎决定的,也就是说训练ai模型的引擎不同ai模型的格式也不同。
64.举例来说,ai模型1是通过pytorch训练的,ai模型2是通过卷积神经网络框架(convolutional architecture for fast feature embedding,caffe)训练的,因此ai模型1的格式与ai模型2的格式不同。例如,如图1所示,ai芯片1011和ai芯片1012可用的格式可以是通过pytorch训练的ai模型的格式。因此,如果第一应用程序102通过第一接口调用上传模型的功能上传的ai模型是通过pytorch训练的,那么边缘设备可以将该ai模型存储至第一应用程序102的账户。如果第一应用程序102通过第一接口调用上传模型的功能上传的ai模型是通过tensorflow训练的,那么边缘设备可以将该ai模型的格式转换为通过pytorch训练的ai模型的格式,并将格式转换后的ai模型存储至第一应用程序102的账户。
65.以上,pytorch是一个开源的计算机程序设计语言(python)机器学习库,用于自然语言处理等应用程序。tensorflow是一个基于数据流变成(dataflow programming)的符号数学系统。
66.本技术实施例中,边缘设备可以采用如下的方式对ai模型的格式进行转换。比如,边缘设备可以预先存储有格式转换标识与动态代码的对应关系。其中,格式转换标识可以包括转换前的格式或训练ai模型的引擎的名称,例如格式转换标识可以是a格式或a引擎。或者,格式转换标识还可以包括转换前的格式名称和转换后的目标格式名称或转换前的训练ai模型的引擎的名称和转换后的训练ai模型的引擎的名称,例如格式转换标识可以是a格式转换为b格式或a引擎转换为b引擎等。边缘设备在接收到第一应用程序上传的ai模型后,可以确定该ai模型的格式,如果该ai模型的格式是ai芯片不可用的格式,那么边缘设备可以根据该格式名称从预先存储的格式转换标识与动态代码的对应关系中,查找对应的动态代码。边缘设备可以根据查找到的动态代码对ai模型进行各式转换。
67.应理解,本技术实施例提供的格式转换的方法仅是示例性的,本技术实施例还可以采用其的格式转换方法对ai模型的格式进行转换。边缘设备可以将格式转换后的ai模型对应存储在该第一应用程序的账户。第一应用程序则可以调用该ai模型进行推理和计算,并得到推理结果。边缘设备可以将该推理结果存储在第一应用程序的账户中。第一应用程序还可以访问该账户,查询和获取到推理结果。
68.可选的,当有多个应用程序需要使用边缘设备的计算资源时,为了保证多个应用程序访问之间的安全性,边缘设备还进行对应用程序访问账户进行访问控制。
69.在一个实施例中,边缘设备可以响应于第二应用程序访问该第一应用程序的账户,可以对该第二应用程序进行访问认证。比如,边缘设备可以预先维护一个应用程序的身份信息和加密口令的列表。边缘设备可以向第二应用程序请求第一应用程序的加密口令,如果第二应用程序提供的加密口令是正确的,那么边缘设备可以允许第二应用程序访问第一应用程序。如果第二应用程序提供的加密口令是错误的,那么边缘设备可以禁止第二应用程序访问第一应用程序。
70.或者,如果第二应用程序想要访问第一应用程序,那么第二应用程序可以向边缘设备发送第二请求。这里的第二请求可以用于请求边缘设备访问第一应用程序。该第二请求中可以包含第一应用程序的身份信息和加密口令。边缘设备可以响应于第二应用程序访问该第一应用程序的账户,对第二应用程序进行访问认证。在访问认证失败时,边缘设备可以禁止第二应用程序访问第一应用程序的账户。
71.基于该方案,边缘设备可以将第一应用程序的模型、推理结果等数据存储至第一应用程序的账户下,如果有第二应用程序访问第一应用程序,边缘设备可以对第二应用程序进行访问认证,只有在访问认证通过时,第二应用程序才可以访问第一应用程序的账户,可以隔离不同的应用程序的数据,也可以实现不同应用程序之间的访问隔离,可以提高数据的安全性。
72.在边缘设备接收到第一请求时,边缘设备还可以为第一应用程序分配至少一个ai芯片上的第一计算资源。以下介绍边缘设备为第一应用程序分配第一计算资源的方法。
73.方法1、边缘设备为该第一应用程序分配的第一计算资源的值是预置的值。
74.在一个示例中,边缘设备为第一应用程序分配的第一计算资源可以是固定的值或者可以是固定的比例。这里的固定的值或者固定的比例可以是预先分配好的。比如,边缘设备可以预先将ai芯片1011和ai芯片1012上的计算资源划分为多个计算资源块。其中,每一个计算资源块的值可以是相同的也可以是不同的。举例来说,边缘设备可以将ai芯片1011上的计算资源划分为5个计算资源块,每一个计算资源块的比例可以是ai芯片1011的计算资源的20%。边缘设备可以响应于第一请求,并随机将一个计算资源块的值分配给第一应用程序,作为该第一应用程序的第一计算资源的值。
75.另一个示例中,边缘设备为第一应用程序分配的第一计算资源时基于已挂载的应用程序的数量计算分配的。如:边缘设备上挂载了n个应用程序,n是大于1的整数。边缘设备可以响应于第n 1个应用程序的请求,边缘设备可以应用程序的数量n 1计算一个值或者一个比例,将计算得出的值或者比例分配给第n 1个应用程序作为其第一计算资源的值。
76.举例来说,如图1所示,边缘设备上有ai芯片1011和ai芯片1012。边缘设备上挂载有第一应用程序102和第二应用程序104。边缘设备可以为第一应用程序102分配固定的比例ai芯片1011的计算资源的30%作为第一应用程序102的第一计算资源的值。边缘设备可以为第二应用程序104分配固定的比例ai芯片1011的计算资源的40%作为第二应用程序104的第一计算资源的值。那么,第一应用程序102可以使用ai芯片1011的计算资源的30%运行ai模型,第二应用程序104可以使用ai芯片1011的计算资源的40%运行ai模型。
77.又例如,边缘设备上又新增加了第三应用程序。那么,边缘设备可以计算为第三应
用程序分配的计算资源的值或者比例。边缘设备计算得出50%,由于ai芯片1011的70%的计算资源已经分配给第一应用程序102和第二应用程序104,边缘设备可以将ai芯片1012的计算资源的70%分配给第三应用程序,作为其第一计算资源的值。
78.基于上述方案,边缘设备可以为挂载的每一个应用程序分配计算资源,让应用程序可以使用分配的计算资源调用ai模型进行推理和计算。
79.方法2、边缘设备根据该第一应用程序请求的计算资源,为该第一应用程序分配第一计算资源。
80.第一应用程序可以向边缘设备请求指定值的计算资源。其中,第一应用程序请求的指定值的计算资源可以与第一请求同时发送,也可以与第一请求分开发送。在一示例中,第一应用程序可以将请求的计算资源携带在第一请求中发送给边缘设备。
81.边缘设备在接收到第一应用程序请求的指定值的计算资源时,还可以判断该指定值是否超过第一阈值。这里的第一阈值可以是边缘设备提前获得的应用程序使用计算资源的上限值。如果边缘设备确定该指定值超过第一阈值,边缘设备可以返回一个错误指示,指示第一应用程序请求的计算资源超过第一阈值。或边缘设备也可以按照第一阈值给第一应用程序分配计算资源。如果边缘设备确定该指定值未超过第一阈值,边缘设备按照该指定值为该第一应用程序分配第一计算资源。综上,边缘设备为第一应用程序分配的第一计算资源不超过前述请求的指定值的计算资源。
82.在一个示例中,该指定值为比例值,第一应用程序向边缘设备发送第一请求,该第一请求中包含第一应用程序请求的计算资源,该计算资源为25%,也就是ai芯片的25%的计算资源。应理解,计算资源为25%可以是一个ai芯片的25%的计算资源,也可以是边缘设备上全部ai芯片的25%的计算资源。边缘设备可以为该第一应用程序分配第一计算资源。其中,第一计算资源为小于或等于25%的计算资源,比如可以是20%、15%等。如图1所示,第一应用程序102请求75%的计算资源,边缘设备确定未超过第一阈值,那么边缘设备可以为第一应用程序分配的第一计算资源可以是ai芯片1012的75%的计算资源,或者可以是小于ai芯片1012的75%的计算资源。
83.在另一个示例中,该指定值也可以为确定的计算资源的值。
84.基于上述方案,每一个应用程序需要的计算资源的大小可能不同,因此边缘设备可以根据不同的应用程序的请求,为不同的应用程序分配计算资源。
85.方法3、边缘设备根据优先级为该第一应用程序分配第一计算资源。
86.这里的优先级信息可以是预先存储在边缘设备上的,或者也可以是第一应用程序发送给边缘设备的。其中,第一应用程序可以将优先级信息与第一请求同时发送,也可以与第一请求分开发送。在一示例中,第一应用程序可以将该优先级信息携带在第一请求中发送给边缘设备。
87.在一个实施例中,边缘设备为第一应用程序分配固定的值作为第一计算资源的值时,可以根据优先级信息为第一应用程序分配固定的值。比如,边缘设备可以预先将ai芯片1011和ai芯片1012上的计算资源划分为多个计算资源块。其中,每一个计算资源块的值可以是相同的也可以是不同的。举例来说,边缘设备可以将ai芯片1011上的计算资源划分为3个计算资源块,每一个计算资源块的比例分别是ai芯片1011的计算资源的20%、ai芯片1011的计算资源的50%和ai芯片1011的计算资源的30%。边缘设备可以响应于第一请求,
根据第一应用程序的优先级信息将一个计算资源块的值分配给第一应用程序。示例性的,优先级信息越高,则分配的计算资源块的值越大。
88.例如,边缘设备分别接收到应用程序a、应用程序b和应用程序c发送的第一请求。边缘设备可以根据各应用程序发送的第一请求确定应用程序a的优先级最高,应用程序b的优先级次之,应用程序c的优先级最低。那么边缘设备可以分别为应用程序a分配ai芯片1011的计算资源的50%作为第一计算资源的值,为应用程序b分配ai芯片1011的计算资源的30%作为第一计算资源的值,为应用程序c分配ai芯片1011的计算资源的20%作为第一计算资源的值。
89.在另一个实施例中,边缘设备可以预先维护一个优先级信息与第一计算资源的对应关系表。该表中可以包括每一个优先级信息对应的第一计算资源的范围。应理解,第一计算资源的范围是一个参考值,并不限制为应用程序分配的第一计算资源的值。边缘设备可以根据第一应用程序的优先级信息和上述对应关系表,为该第一应用程序分配第一计算资源。比如,边缘设备接收到第一应用程序102的第一请求,该第一请求中包含的优先级信息为1,边缘设备可以根据上述对应关系表确定优先级信息1对应的第一计算资源的范围为50%-80%,为第一应用程序102分配ai芯片1011的计算资源的70%作为第一计算资源的值。
90.上述的优先级信息可以是优先级标识,可以通过优先级标识来指示优先级的高低。边缘设备可以维护一个优先级标识与优先级的对应关系。例如,优先级标识001、优先级标识002和优先级标识003可以是优先级依次递减,优先级标识001可以表示优先级最高,优先级标识002次之,优先级标识003表示优先级最低等。
91.基于上述方案,边缘设备可以根据应用程序的优先级为不同的应用程序分配计算资源,边缘设备可以优先满足优先级较高的应用程序,为优先级较高的应用程序分配较大的计算资源。
92.在本技术实施例中,边缘设备还可以监控第一应用程序占用的计算资源。如果边缘设备确定该第一应用程序占用的计算资源量超过边缘设备为该第一应用程序分配的第一计算资源,那么边缘设备可以限制该第一应用程序占用的计算资源量。应理解,限制后的第一应用程序占用的计算资源量小于或等于边缘设备分配的第一计算资源。
93.比如,边缘设备为第一应用程序102分配了ai芯片1011的全部计算资源和ai芯片1012上25%的计算资源,为第一应用程序104分配了ai芯片1012上75%的计算资源。边缘设备监控第一应用程序102和第二应用程序104,确定第二应用程序104占用的计算资源量超过了ai芯片1012的75%的计算资源,那么边缘设备可以限制第二应用程序104占用的计算资源量。
94.在一个示例中,边缘设备可以通过降低该第一应用程序的推理优先级实现降低第一应用程序占用的计算资源量。这里的推理优先级可以是第一应用程序相对于其他的应用程序调用边缘设备上的ai模型进行推理计算的优先级。比如,应用程序a的推理优先级高于应用程序b,那么应用程序a可以相对于应用程序b优先使用ai芯片上的计算资源,并运行ai模型进行推理和计算。如果边缘设备检测到应用程序a占用的计算资源超过了边缘设备为应用程序a分配的第一计算资源,则边缘设备可以降低应用程序a的推理优先级。降低后的应用程序a的推理优先级低于应用程序b。那么,应用程序b则可以相对于应用程序a优先使
用ai芯片上的计算资源。
95.另一个示例中,边缘设备可以通过降低该第一应用程序的推理次数实现降低第一应用程序占用的计算资源量。这里的推理次数可以是每指定时长内的推理次数。比如,边缘设备可以降低第一应用程序每1s内的推理次数。举例来说,应用程序a的每秒的推理次数为12次。应用程序a可以使用边缘设备上的ai芯片上的计算资源,每秒运行ai模型12次进行推理和计算。如果边缘设备发现应用程序a占用的计算资源量已经超过了第一计算资源,那么边缘设备可以将应用程序a的推理次数降低,比如将应用程序a的推理次数降低为7次。那么,应用程序a则可以使用边缘设备上的ai芯片上的计算资源,每秒调用ai模型7次进行推理和计算。
96.基于上述方案,边缘设备可以对第一应用程序所占用的计算资源进行监控,并在第一应用程序占用的计算资源量超过边缘设备为其分配的第一计算资源时,限制其占用ai芯片的计算资源量,可以保证其他的应用程序也能够使用ai芯片的计算资源。
97.以下,通过具体的实施例对本技术提供的一种计算资源的分配方法进行详细的说明。
98.实施例1:参阅图4,为本技术实施例中计算资源的分配方法的示例性流程图,该流程可以由第一应用程序执行。如图4所示,可以包括以下步骤:
99.步骤401:将第一请求发送给边缘设备。
100.这里的第一请求可以包含有第一应用程序的身份信息,相关描述可以参见上述图2中方法实施例中的描述,此处不再赘述。
101.步骤402:判断是否创建账户成功。如果创建账户成功则执行步骤403,如果创建账户失败则返回执行步骤401。
102.应理解,如果第一应用程序接收到了边缘设备发送的第一响应,则可以认为是创建账户成功,如果第一应用程序未接收到边缘设备发送的第一响应,或者第一应用程序接收到边缘设备发送的错误指示,则可以认为创建账户失败。具体的相关描述可以参见上述图2中方法实施例中的描述,为避免重复此处不再赘述。
103.步骤403:将训练好的ai模型上传至边缘设备。
104.其中,第一应用程序上传的该ai模型的格式可以是边缘设备上的ai芯片可用的格式。如果该ai模型的格式是边缘设备上的ai芯片不可用的格式,那么边缘设备可以对该ai模型进行模型转换,相关描述可以参见上述图2中方法实施例中的描述,此处不再赘述。
105.步骤404:调用ai模型进行推理和计算。
106.第一应用程序可以通过调用第一接口,调用边缘设备上的ai模型。第一接口的相关描述可以参见上述图2中方法实施例的描述,此处不再赘述。
107.步骤405:调用第一接口查询推理结果。
108.实施例2:参阅图5,为本技术实施例提供的计算资源的分配方法的示例性流程图,该流程可以由边缘设备执行。如图5所示,可以包括以下步骤:
109.步骤501:接收第一应用程序请求的计算资源。
110.其中,请求的计算资源的相关描述可以参见上述图2中如步骤201-步骤202所示的方法实施例的说明,在此不再赘述。
111.步骤502:判断所述请求的计算资源是否超过第一阈值。如果超过则执行步骤503,
如果未超过则执行步骤504。
112.这里的第一阈值可以是根据经验值预先确定的,本技术不做具体限定。其中,相关描述可以参见上述图2中方法实施例的说明,此处不再赘述。
113.步骤503:返回错误指示。
114.步骤504:为第一应用程序分配第一计算资源。
115.其中,边缘设备为第一应用程序分配第一计算资源的方法可以参见上述方法1-方法3的相关描述,此处不再赘述。
116.步骤505:检测第一应用程序所占用的计算资源。
117.边缘设备可以监听第一应用程序调用ai模型进行推理和计算,检测第一应用程序占用的计算资源。
118.步骤506:判断该第一应用程序所占用的计算资源是否超过第一计算资源,如果超过则执行步骤507,如果未超过则返回执行步骤505。
119.步骤507:限制第一应用程序占用的计算资源量。
120.应理解,限制后的计算资源量不超过第一计算资源。相关实现方式可以参见上述图2中方法实施例的描述,此处不再赘述。
121.与上述构思相同,如图6所示,本技术实施例还提供一种边缘设备600,这些边缘设备可以实现上述方法实施例中边缘设备的功能,因此也能实现上述方法实施例所具备的有益效果。该边缘设备600包括通信单元601、处理单元602和至少一个ai芯片603。
122.在一个示例中,通信单元601和处理单元602可以布置在至少一个ai芯片603上,或者还可以布置在除ai芯片以外的其他的芯片上。
123.其中,通信单元601,用于接收第一应用程序发送的第一请求。处理单元602,用于响应于所述第一请求,为所述第一应用程序创建账户,并为所述第一应用程序分配所述边缘设备上的至少一个人工智能ai芯片上的第一计算资源。其中,第一请求和第一计算资源的相关描述可以参见上述方法实施例中的说明,此处不再赘述。至少一个ai芯片603,用于为边缘设别600提供计算资源。
124.关于通信单元601和处理单元602的具体执行过程,可参见上方法实施例中的记载。本技术实施例中对模块/单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本技术各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
125.在另一个示例中,该边缘设备可以为芯片系统。本技术实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。示例性地,该边缘设备包括处理器和接口,该接口可以为输入/输出接口。其中,处理器完成上述处理单元602的功能,接口完成上述通信单元601的功能。该边缘设备还可以包括存储器,存储器用于存储可在处理器上运行的程序,处理器执行该程序时实现上述各个实施例的方法。
126.与上述构思相同,如图7所示,本技术实施例还提供一种边缘设备700。该边缘设备700中包括:通信接口701、和至少一个ai芯片704。可选的,该边缘设备还包括至少一个处理器702、至少一个存储器703。通信接口701,用于通过传输介质和其它设备进行通信,从而用于边缘设备700中的装置可以和其它设备进行通信。存储器703,用于存储计算机程序。处理
器702或至少一个ai芯片704调用存储器703存储的计算机程序,通过通信接口701收发数据实现上述实施例中的方法。至少一个ai芯片704,用于为边缘设备700提供计算资源。
127.示例性地,存储器703用于存储计算机程序;处理器702调用存储器703存储的计算机程序,执行上述实施例中边缘设备执行的方法。
128.在本技术实施例中,通信接口701可以是收发器、电路、总线、模块或其它类型的通信接口。处理器702可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。存储器703可以是非易失性存储器,比如硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置。存储器703和处理器702耦合。本技术实施例中的耦合是装置、单元或模块之间的间隔耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。作为另一种实现,存储器703还可以位于装置700之外。处理器702可以和存储器703协同操作。处理器702可以执行存储器703中存储的程序指令。所述至少一个存储器703中的至少一个也可以包括于处理器702中。本技术实施例中不限定上述通信接口701、处理器702以及存储器703之间的连接介质。例如,本技术实施例在图7中以存储器703、处理器702以及通信接口701之间可以通过总线连接,所述总线可以分为地址总线、数据总线、控制总线等。
129.可以理解的,上述图6所示实施例中的边缘设备600可以以图7所示的边缘设备700实现。具体的,处理单元602可以由处理器702实现,通信单元601可以由通信接口701实现。
130.本技术实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,简称dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,简称dvd))、或者半导体介质(例如,固态硬盘solid state disk ssd)等。
131.以上所述,以上实施例仅用以对本技术的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明实施例的方法,不应理解为对本发明实施例的限制。本
技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本发明实施例的保护范围之内。
再多了解一些

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

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

相关文献