资源分配方法、装置、系统及运载工具与流程

本技术涉及处理器,尤其涉及资源分配方法、装置、系统及运载工具。
背景技术:
1、随着智能驾驶等车载技术的不断发展,关于智驾、座舱、底盘控制等相关功能的数据传输吞吐量越来越大,处理要求越来越高,时延要求也越来越高。在这种情况下,包括单个处理器,如包括单个片上系统(system on chip,soc)的车辆域控制器(domain controlunit,dcu)的处理能力逐渐不能满足相关功能的要求。为了解决上述问题,域控制器内通常内置多个处理器,依靠多个处理器(如多个soc)算力强、可组合、灵活可拓展、便于冗余备份等优点来保证相关功能的高效、可靠实现。
2、其中,包括多个处理器的域控制器由于涉及到资源(如算力、内存、带宽等资源)在多个处理器之间的分配以及多个处理器之间的通信,因此相比于包括单个处理器的域控制器在资源分配和处理器间交互方面有更大的挑战。而对于包括多个处理器的域控制器,传统的资源分配方式仍是手动分配或调整,人力物力损耗极大,且手动分配或调整的资源无法多处理器整体视角来进行资源分配,一定程度上浪费了资源,且往往不能合理适配于多个处理器各自的业务。
技术实现思路
1、本技术提供了一种资源分配方法、装置、系统及运载工具,可以通过从多处理器和对应的多个业务应用整体视角进行资源部署的自适应调优,以保证将多个处理器的资源向多个业务应用分配时的合理性和科学性。
2、为达到上述目的,本技术采用如下技术方案:
3、第一方面,提供一种资源分配方法,该方法应用于第一装置,该方法包括:
4、首先,第一装置获取控制器的第一资源分配结果和第一神经网络配置;其中控制器包括多个处理器,该多个处理器用于运行多个业务应用,第一资源分配结果包括以下中的一个或多个:多个处理器中每个处理器中的处理单元的负载、多个处理器中每个处理器的内存负载、多个业务应用中每个业务应用对应的处理单元、多个业务应用中每个业务应用对应的服务质量(quality of service,qos)等级、多个业务应用中每个业务应用对应的运行时延,第一神经网络配置包括以下中的一个或多个:神经网络类型、神经网络所部署的处理单元、加速算子。这一步骤主要用于确定控制器中多个处理器的当前部署情况。
5、然后,当第一资源分配结果不满足预设条件时,第一装置模拟在n个不同场景下基于获取的加速算子运行上述多个业务应用对应的运行文件(如应用代码),得到对应的n个加速结果,其中加速结果表征在对应的场景下运行加速算子所需要的时长和需要的资源。这一步骤主要用于进行多个不同场景下业务运行模拟,以得到对应的加速结果,以便得到最优的场景。其中,该多个不同场景可以是第一装置自定义的/自动确定的,也可以是用户自定义设置的,如用户自定义选择需要加速的接口、自定义接口所使用的加速算子、自定义选择加速接口的加速策略、自定义选择处理单元、自定义运行加速算子所需的时长、自定义运行加速算子所需的资源等。
6、之后,第一装置根据得到的n个加速结果调整控制器的第一资源配置策略和/或第一神经网络配置以得到调整结果,其中调整结果包括第二资源配置策略和/或第二神经网络配置。这一步骤主要用于基于最优的场景所对应的配置优化资源配置策略和/或神经网络配置,为后续处理器资源的分配提供基础。
7、最后,第一装置根据得到的调整结果为多个业务应用分配多个处理器的资源。示例性地,多个处理器的资源包括以下中的一个或多个:计算资源、内存资源、带宽资源。其中,计算资源如中央处理器(central process unit,cpu)资源、ai计算核(ai core,aic)资源、ai矢量加速核(ai vector core,aiv)资源等。
8、示例性地,上述第一装置可以是控制器,也可以是资源分配仿真设备。
9、示例性地,上述控制器可以为域控制器,如运载工具上的域控制器,该域控制器可以包括但不限于以下中的任意一个或多个:智驾域控制器、座舱域控制器、底盘域控制器、动力域控制器、车身域控制器。以上述控制器为域控制器为例,域控制器中的多个处理器可以是多个片上系统(system on chip,soc)。
10、上述第一方面提供的方案,第一装置可以通过进行多个不同场景下业务运行模拟,以得到对应的加速结果,进而得到最优的场景,并基于最优的场景所对应的配置优化控制器的资源配置策略和/或神经网络配置,最后基于部署调优的结果对控制器的当前资源部署情况进行调整,如基于部署调优的结果调整控制器中多个处理器的资源向多个业务应用的分配方案。基于此,可以自动化地、从控制器整体视角实现资源分配,提高资源分配或调整时的效率、合理性和科学性,以及保证域控制器执行相应业务过程中的通信低时延和低功耗。
11、作为一种可能的实现方式,在上述第一装置获取控制器的第一资源分配结果和第一神经网络配置之前,上述方法还包括:第一装置获取第一资源配置策略,其中第一资源配置策略包括上述多个业务应用之间的拓扑关系以及多个业务应用中每个业务应用的应用信息,应用信息包括对应的业务应用的通信协议和部署策略,部署策略表示业务应用在控制器中运行时所在的节点、调度策略、优先级策略和生命周期策略中的一个或多个,其中节点可以为多个处理器中的某一处理器,也可以是某一处理器上的某一处理单元;基于此,上述第一装置获取控制器的第一资源分配结果和第一神经网络配置,包括:第一装置基于第一资源配置策略模拟运行上述多个业务应用的运行文件,获取上述多个业务应用运行时控制器的第一资源分配结果和第一神经网络配置。基于此,第一装置可以通过仿真部署确定控制器中多个处理器所负责的多个业务应用之间的拓扑关系、多个业务应用所遵循的通信协议和部署策略,了解控制器的当前资源部署情况,为后续的部署调优提供参考。
12、作为一种可能的实现方式,上述第一装置获取第一资源配置策略,包括:在控制器对应的业务应用发生变化时,第一装置获取第一资源配置策略。示例性地,控制器对应的业务应用发生变化如空中下载(over the air,ota)软件升级场景。基于此,可以在控制器所对应的业务应用的软件有升级需求或者控制器的软件有升级需求时,自动化地、从控制器整体视角实现资源的调整分配,提高资源调整时的效率、合理性和科学性,以及保证域控制器执行相应业务过程中的通信低时延和低功耗。
13、当然,第一装置也可以在其它情况下获取第一资源配置策略,如在控制器上电或者满足预设条件时,对于第一装置执行资源分配方法的触发条件和时机,本技术不做具体限定。
14、作为一种可能的实现方式,上述第一装置根据n个加速结果调整控制器的第一资源配置策略和/或第一神经网络配置,包括:第一装置基于预设调优方法,根据n个加速结果调整控制器的第一资源配置策略和/或第一神经网络配置,其中预设调优方法包括以下中的一个或多个:基于历史经验的调优方法、基于自适应推荐算法的调优方法。其中,基于自适应推荐算法的调优可以可靠地获得多个加速结果中最优解,以支持基于最优解所对应的配置进行后续部署调优可以得到更加科学合理的调整结果。基于历史经验的调优可以结合具体情况,如处理单元功能、控制器功能、使用场景等进行部署调优,得到贴合实际设备和使用情况的调整结果。而基于历史经验的调优和基于自适应推荐算法的调优不仅可以从算法角度提升调整结果的可靠性,还可以弥补自适应推荐算法考虑不到的处理单元功能、控制器功能、使用场景等实际设备和使用情况。
15、作为一种可能的实现方式,上述第一装置模拟在n个不同场景下基于加速算子运行多个业务应用对应的运行文件,得到对应的n个加速结果,包括:第一装置获取在n个不同场景中的每个场景下基于加速算子运行所述多个业务应用对应的运行文件时生成的中间数据;第一装置根据上述中间数据,生成n个不同场景对应的n个加速结果。示例性地,加速结果表征在对应的场景下运行加速算子所需要的时长和需要的资源。基于此,根据关键运行节点处的中间数据得到对应的场景下运行加速算子所需要的时长和需要的资源等加速结果,可以保证后续进行部署调优时所参考的信息是可获取的,以及保证所参考的信息的可参考性和可靠性。
16、示例性地,上述第一装置获取中间数据的方式可以包括但不限于插桩和/或设置中间数据获取模型。
17、作为一种可能的实现方式,上述第一装置获取第一资源配置策略,包括:第一装置显示第一界面,其中第一界面包括第一输入通道;第一装置接收用户通过第一输入通道输入的第一资源配置策略。基于此,可以通过提供人性化的界面供用户进行相关数据输入,提高本方案的操作便捷度。
18、示例性地,第一界面可以是已有的工具开发界面或者工具优化界面,如autosar平台界面、自动驾驶服务框架初始化(autonomous driving service frameworkinitiative,adsfi)平台界面、mdc配置(mdc manifest configuration,mmc)界面等。当然,第一界面也可以是其它具有资源配置策略输入通道的界面。
19、当然,本技术提供的方案也可以支持第一装置直接获取控制器的当前资源配置策略,以便对控制器的当前资源部署情况进行评估以及更进一步的部署调优。
20、作为一种可能的实现方式,在得到调整结果之后,第一界面上还显示有调整结果。基于此,可以方便用户直观理解当前资源配置情况,以及便于用户进行后续相关操作,如调优、资源分配、方案导出等。
21、第二方面,提供一种控制器,该控制器包括多个处理器,该多个处理器用于支持控制器实现多个业务应用所对应的功能;该控制器用于实现如第一方面任一种可能的实现方式中的方法。
22、第三方面,提供一种资源分配仿真设备,该资源分配仿真设备包括:通信接口,用于进行设备间的通信;存储器,用于存储计算机程序指令;处理器,用于执行所述计算机程序指令,以支持资源分配仿真设备实现如第一方面任一种可能的实现方式中的方法。
23、第四方面,提供一种电子设备,该电子设备包括控制器,该控制器包括多个处理器,该多个处理器用于支持控制器实现多个业务应用所对应的功能;该控制器用于实现如第一方面任一种可能的实现方式中的方法。示例性地,该电子设备可以是智能手机、上网本、平板电脑等终端设备,或者交换机、工控机、无人机等嵌入式设备,本技术不做具体限定。
24、第五方面,提供一种控制系统,该控制系统包括如第二方面所述的控制器。
25、第六方面,提供一种运载工具,该运载工具包括如第二方面所述的控制器、第三方面所述的资源分配设备、第四方面所述的电子设备或者第五方面所述的控制系统,该运载工具用于实现如第一方面任一种可能的实现方式中的方法。示例性地,该运载工具可以包括但不限于车辆。
26、第七方面,提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,该计算机程序指令被处理器执行时实现如第一方面任一种可能的实现方式中的方法。
27、第八方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机实现如第一方面任一种可能的实现方式中的方法。
28、第九方面,提供一种芯片系统,该芯片系统包括处理电路、存储介质,存储介质中存储有计算机程序指令;所述计算机程序指令被所述处理器执行时,实现如第一方面任一种可能的实现方式中的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
技术研发人员:丁涛
技术所有人:深圳引望智能技术有限公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
