程序执行方法及系统、电子设备及存储介质与流程
未命名
08-05
阅读:80
评论:0

1.本发明涉及计算机技术领域,特别涉及一种程序执行方法及系统、电子设备及存储介质。
背景技术:
2.目前的程序部署在终端设备包括以下两种方案:第一种方案为程序固定运行在cpu(central processing unit,中央处理器)或者gpu(graphics processing unit,图形处理器)上,第二种方案为程序预处理部分在cpu上,程序模型推理在gpu上。而现有的终端设备上的硬件资源中的处理器如cpu和gpu通常是共用的,如果按照现有技术中的程序部署即预定的部署方案执行,就会出现部分处理器负载很高,另一部分处理器比较空闲的情况;如果当前依赖的cpu、gpu或者dsp(digital signal process,数字信号处理)恰好在高负载运行的情况下,容易造成程序模型运行速度慢,达不到实时性要求,容易造成推理结果异常。
技术实现要素:
3.本技术的一个目的在于提供一种程序执行方法及系统、电子设备及存储介质,其优势在于,根据至少两个处理器的实时占用率动态选择执行目标程序的处理器即目标处理器,实现了目标程序的动态部署,以提高目标程序的执行效率,进而提高系统的整体性能。
4.本技术的另一个目的在于提供一种程序执行方法及系统、电子设备及存储介质,其优势在于,响应于目标功能启动,获取至少两个处理器的实时占用率,根据至少两个处理器的实时占用率选择执行目标程序的处理器即目标处理器,以使得目标处理器实现目标功能,从而提高目标功能的响应速率。
5.本技术的另一个目的在于提供一种程序执行方法及系统、电子设备及存储介质,其优势在于,将至少两个处理器中实时占用率最低的处理器作为目标处理器,从而尽最大可能地提高目标程序的执行效率。
6.本技术的另一个目的在于提供一种程序执行方法及系统、电子设备及存储介质,其优势在于,为了避免影响目标程序的正常执行,正在执行目标程序的处理器可以在输出无用信息的时候产生切换指令。响应于所述切换指令,生成用于指示目标处理器执行所述目标程序的控制指令,从而使得目标处理器可以继续执行目标程序,保证了目标程序的稳定执行。
7.本技术的第一方面提供了一种程序执行方法,包括以下步骤:
8.获取至少两个处理器的实时占用率;
9.根据所述实时占用率确定目标处理器;
10.生成控制指令,所述控制指令用于指示所述目标处理器执行目标程序。
11.本技术的第二方面提供了一种程序执行系统,包括:至少两个处理器以及存储器;所述存储器被配置成存储指令,当所述指令被任一处理器执行时,使所述任一处理器执行
步骤,所述步骤包括:
12.获取至少两个处理器的实时占用率;
13.根据所述实时占用率确定目标处理器;
14.生成控制指令,所述控制指令用于指示所述目标处理器执行目标程序。
15.本技术的第三方面提供了一种电子设备,包括存储器、至少两个处理器以及存储在存储器上并可在任一处理器上运行的计算机程序,所述任一处理器执行所述计算机程序时实现第一方面所述的程序执行方法。
16.本技术的第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的程序执行方法。
附图说明
17.图1为本实施例1提供的一种程序执行方法的流程图。
18.图2为本实施例1提供的一种电子设备的结构框图。
19.图3为本实施例1提供的另一种程序执行方法的流程图。
20.图4为本发明实施例2提供的一种电子设备的结构示意图。
具体实施方式
21.下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
22.实施例1
23.图1为本实施例提供的一种程序执行方法的流程示意图,该程序执行方法可以由程序执行系统执行,该程序执行系统可以通过软件和/或硬件的方式实现,该程序执行系统可以为电子设备的部分或全部。
24.其中,电子设备可以为个人计算机,例如台式机、一体机、笔记本电脑、平板电脑等,还可以为手机、可穿戴设备、掌上电脑等终端设备,还可以为车载设备等。其中,上述车载设备还可以称为车机,具体可以包括车载显示设备、车载导航设备、车载监控设备等。
25.下面以电子设备为执行主体介绍本实施例提供的程序执行方法。如图1所示,本实施例提供的程序执行方法可以包括以下步骤s1~s3:
26.步骤s1、获取至少两个处理器的实时占用率。其中,实时占用率是指处理器当前的资源使用情况,实时占用率较大,说明处理器当前的资源使用量较多,处于高负载运行状态。实时占用率较小,说明处理器当前的资源使用量较少,处于低负载运行状态。
27.在如图2所示的例子中,电子设备包括三个处理器,分别为cpu、dsp以及gpu。
28.在步骤s1可选的一种实施方式中,响应于目标功能启动,获取至少两个处理器的实时占用率。其中,所述目标功能对应至少一个目标程序。本实施方式中,若目标功能启动,则触发获取至少处理器的实时占用率。
29.其中,目标功能可以根据实际情况进行设置,例如可以将耗费较多资源的功能设置为目标功能。目标程序为实现目标功能所需执行的程序,其数量可以为一个,也可以为多个。在一个具体的例子中,目标功能为微笑检测功能,对应的目标程序包括人脸检测程序和嘴唇检测程序。
30.在步骤s1可选的另一种实施方式中,响应于即将执行或者正在执行目标程序的处理器的实时占用率高于预设值,获取至少两个处理器的实时占用率。其中,预设值可以根据实际情况进行设置,例如可以设置为80%。
31.本实施方式中,若即将执行或者正在执行目标程序的处理器的实时占用率高于预设值,则触发获取其它处理器的实时占用率。在一个具体的例子中,即将执行目标程序的cpu的实时占用率为82%,高于预设值80%,此时触发获取dsp和gpu的实时占用率。
32.其中,处理器的实时占用率高于预设值,说明处理器当前处于超负载运行状态,容易出现异常或发生故障,且长期处于超负载运行状态会严重影响处理器的使用寿命。此时需要切换实时占用率较低的处理器执行目标程序,不仅可以提高目标程序的执行效率,还可以提高系统的整体性能。
33.步骤s2、根据所述实时占用率确定目标处理器。
34.在可选的一种实施方式中,上述步骤s2具体包括以下步骤s21a~s21b:
35.步骤s21a、比较所述至少两个处理器的实时占用率。
36.步骤s21b、将实时占用率最低的处理器作为目标处理器。
37.本实施方式中,将至少两个处理器中实时占用率最低的处理器作为目标处理器,从而尽最大可能地提高目标程序的执行效率。
38.在可选的一种实施方式中,上述步骤s2具体包括以下步骤s22a~s22b:
39.步骤s22a、将所述至少两个处理器的实时占用率分别与预设阈值进行比较。其中,预设阈值可以根据实际情况进行设置,例如可以设置为50%。
40.步骤s22b、将实时占用率低于所述预设阈值的任一处理器作为目标处理器。
41.本实施方式中,处理器的实时占用率低于预设阈值,说明处理器当前处于轻负载运行状态,在实时占用率低于预设阈值的所有处理器中任意选取一个处理器作为目标处理器。
42.在一种优选的实施方式中,若即将执行或者正在执行目标程序的处理器的实时占用率低于预设阈值,则直接将该处理器作为目标处理器,无需进行处理器的切换,避免降低目标程序的执行效率。在一个具体的例子中,获取cpu和gpu的实时占用率分别为40%和30%,均低于预设阈值50%,而此时cpu正在执行目标程序,则直接将cpu确定为目标处理器即可,后续也由cpu继续执行目标程序,避免切换处理器降低目标程序的执行效率。
43.步骤s3、生成控制指令,所述控制指令用于指示所述目标处理器执行目标程序。其中,指示目标处理器执行目标程序,也可以称为将目标程序部署在目标处理器上。
44.本实施方式中,根据至少两个处理器的实时占用率动态选择执行目标程序的处理器即目标处理器,实现了目标程序的动态部署,以提高目标程序的执行效率,进而提高系统的整体性能。
45.在步骤s3可选的一种实施方式中,响应于正在执行所述目标程序的处理器产生的切换指令,生成控制指令。本实施方式中,生成控制指令的时机依赖于正在执行目标程序的处理器,正在执行目标程序的处理器可以根据实际情况产生切换指令。
46.为了避免影响目标程序的正常执行,正在执行目标程序的处理器可以在输出无用信息的时候产生切换指令。响应于所述切换指令,生成用于指示目标处理器执行所述目标程序的控制指令,从而使得目标处理器可以继续执行目标程序,保证了目标程序的稳定执
行。其中,输出无用信息可以为输出对用户没有任何影响的信息。
47.在可选的一种实施方式中,如图3所示,在上述步骤s3之后还包括以下步骤s4:向所述目标处理器发送所述控制指令。其中,目标处理器在接收到所述控制指令之后执行目标程序。
48.需要说明的是,上述程序执行方法可以在电子设备中的任一处理器中执行,其中,执行上述程序执行方法的处理器可以将获取的实时占用率发送给其它处理器,以使各个处理器可以共享实时占用率。
49.在一个具体的例子中,上述程序执行方法由电子设备中的dsp执行。具体地,dsp获取cpu和gpu的实时占用率分别为40%和85%,将实时占用率低于80%的cpu确定为目标处理器,生成控制指令并向cpu发送所述控制指令,以指示cpu执行目标程序。
50.在另一个具体的例子中,上述程序执行方法由电子设备中的cpu执行。具体地,获取cpu的实时占用率x,若x超过80%,则获取gpu的实时占用率y,若y小于x,则将gpu确定为目标处理器,生成控制指令并向gpu发送所述控制指令,以指示gpu执行目标程序。若y大于x,则将cpu确定为目标处理器,生成控制指令,cpu响应于控制指令执行目标程序。
51.本实施例还提供一种程序执行系统,包括:至少两个处理器以及存储器;所述存储器被配置成存储指令,当所述指令被任一处理器执行时,使所述任一处理器执行步骤,所述步骤包括:
52.获取至少两个处理器的实时占用率;
53.根据所述实时占用率确定目标处理器;
54.生成控制指令,所述控制指令用于指示所述目标处理器执行目标程序。
55.在可选的一种实施方式中,上述获取至少两个处理器的实时占用率的步骤具体包括:响应于目标功能启动,获取至少两个处理器的实时占用率。其中,所述目标功能对应至少一个目标程序。
56.在可选的一种实施方式中,上述根据所述实时占用率确定目标处理器的步骤具体包括:比较所述至少两个处理器的实时占用率;将实时占用率最低的处理器作为目标处理器。
57.在可选的一种实施方式中,上述根据所述实时占用率确定目标处理器的步骤具体包括:将所述至少两个处理器的实时占用率分别与预设阈值进行比较;将实时占用率低于所述预设阈值的任一处理器作为目标处理器。
58.在可选的一种实施方式中,上述生成控制指令的步骤具体包括:响应于正在执行目标程序的处理器产生的切换指令,生成控制指令。
59.在可选的一种实施方式中,在所述生成控制指令的步骤之后还包括:向所述目标处理器发送所述控制指令。
60.需要说明的是,本实施例中程序执行系统具体可以是单独的芯片、芯片模组或电子设备,也可以是集成于电子设备内的芯片或者芯片模组。
61.关于本实施例中描述的程序执行系统包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。
62.实施例2
63.图4为本实施例提供的一种电子设备的结构示意图。所述电子设备包括至少两个
处理器以及与所述至少两个处理器通信连接的存储器。其中,所述存储器存储有可被任意一个处理器运行的计算机程序,所述计算机程序被任意一个处理器执行,以使其能够执行实施例1的程序执行方法。电子设备可以为个人计算机,例如台式机、一体机、笔记本电脑、平板电脑等,还可以为手机、可穿戴设备、掌上电脑等终端设备,还可以为车载设备等。其中,上述车载设备还可以称为车机,具体可以包括车载显示设备、车载导航设备、车载监控设备等。图4显示的电子设备3仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
64.电子设备3的组件可以包括但不限于:上述至少两个处理器4、上述至少一个存储器5、连接不同系统组件(包括存储器5和处理器4)的总线6。
65.总线6包括数据总线、地址总线和控制总线。
66.存储器5可以包括易失性存储器,例如随机存取存储器(ram)51和/或高速缓存存储器52,还可以进一步包括只读存储器(rom)53。
67.存储器5还可以包括具有一组(至少一个)程序模块54的程序/实用工具55,这样的程序模块54包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
68.处理器4通过运行存储在存储器5中的计算机程序,从而执行各种功能应用以及数据处理,例如上述程序执行方法。
69.电子设备3也可以与一个或多个外部设备7(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口8进行。并且,电子设备3还可以通过网络适配器9与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图4所示,网络适配器9通过总线6与电子设备3的其它模块通信。应当明白,尽管图4中未示出,可以结合电子设备3使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
70.应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
71.实施例3
72.本实施例提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现实施例1中的程序执行方法。
73.其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
74.在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行实现实施例1中的程序执行方法。
75.其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在电子设备上执行、部分地在电子设备上执行、作为一个独立的软件包执行、部分在电子设备上部分在远程设备上执行或完全在远程设备上执行。
76.虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
技术特征:
1.一种程序执行方法,其特征在于,包括以下步骤:获取至少两个处理器的实时占用率;根据所述实时占用率确定目标处理器;生成控制指令,所述控制指令用于指示所述目标处理器执行目标程序。2.如权利要求1所述的程序执行方法,所述获取至少两个处理器的实时占用率的步骤具体包括:响应于目标功能启动,获取至少两个处理器的实时占用率;其中,所述目标功能对应至少一个目标程序。3.如权利要求1所述的程序执行方法,所述根据所述实时占用率确定目标处理器的步骤具体包括:比较所述至少两个处理器的实时占用率;将实时占用率最低的处理器作为目标处理器。4.如权利要求1所述的程序执行方法,所述根据所述实时占用率确定目标处理器的步骤具体包括:将所述至少两个处理器的实时占用率分别与预设阈值进行比较;将实时占用率低于所述预设阈值的任一处理器作为目标处理器。5.如权利要求1所述的程序执行方法,所述生成控制指令的步骤具体包括:响应于正在执行目标程序的处理器产生的切换指令,生成控制指令。6.如权利要求1所述的程序执行方法,在所述生成控制指令的步骤之后还包括:向所述目标处理器发送所述控制指令。7.如权利要求1-6中任一项所述的程序执行方法,所述目标处理器为cpu、gpu或者dsp。8.一种程序执行系统,其特征在于,包括:至少两个处理器以及存储器;所述存储器被配置成存储指令,当所述指令被任一处理器执行时,使所述任一处理器执行步骤,所述步骤包括:获取至少两个处理器的实时占用率;根据所述实时占用率确定目标处理器;生成控制指令,所述控制指令用于指示所述目标处理器执行目标程序。9.一种电子设备,包括存储器、至少两个处理器以及存储在存储器上并可在任一处理器上运行的计算机程序,其特征在于,所述任一处理器执行所述计算机程序时实现权利要求1-7中任一项所述的程序执行方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的程序执行方法。
技术总结
本发明公开了一种程序执行方法及系统、电子设备及存储介质。其中,程序执行方法包括以下步骤:获取至少两个处理器的实时占用率;根据所述实时占用率确定目标处理器;生成控制指令,所述控制指令用于指示所述目标处理器执行目标程序。本发明根据至少两个处理器的实时占用率动态选择执行目标程序的处理器即目标处理器,实现了目标程序的动态部署,以提高目标程序的执行效率,进而提高系统的整体性能。进而提高系统的整体性能。进而提高系统的整体性能。
技术研发人员:刘金柱
受保护的技术使用者:博泰车联网(南京)有限公司
技术研发日:2022.01.26
技术公布日:2023/8/4
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/