[go: up one dir, main page]

CN114816747A - 处理器的多核负载调控方法、装置及电子设备 - Google Patents

处理器的多核负载调控方法、装置及电子设备 Download PDF

Info

Publication number
CN114816747A
CN114816747A CN202210425449.7A CN202210425449A CN114816747A CN 114816747 A CN114816747 A CN 114816747A CN 202210425449 A CN202210425449 A CN 202210425449A CN 114816747 A CN114816747 A CN 114816747A
Authority
CN
China
Prior art keywords
processor
load
processor cores
level
core
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210425449.7A
Other languages
English (en)
Inventor
田野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guoqi Intelligent Control Beijing Technology Co Ltd
Original Assignee
Guoqi Intelligent Control Beijing Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guoqi Intelligent Control Beijing Technology Co Ltd filed Critical Guoqi Intelligent Control Beijing Technology Co Ltd
Priority to CN202210425449.7A priority Critical patent/CN114816747A/zh
Publication of CN114816747A publication Critical patent/CN114816747A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • G06F9/4875Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with migration policy, e.g. auction, contract negotiation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

本发明实施例涉及一种处理器的多核负载调控方法、装置及电子设备,该方法包括:依据预配置的等级划分规则,确定处理器至少两个处理器核中每一个处理器核的负载等级;根据每两个处理器核的负载等级之间的差值,确定对至少两个处理器核的负载调控规则;在根据负载调控规则确定对至少两个处理器核的负载进行动态调控情况下,按照预设调控策略,完成对至少两个处理器核的负载的动态调控。通过实时监控各核负载情况,可以灵活地动态调控各个处理器核上的任务量,以保证处理器在每时每刻都运行在一个较优的运行环境,节省现有技术中,利用静态配置反复试验测试处理器运行负载是否满足条件的时间。

Description

处理器的多核负载调控方法、装置及电子设备
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种处理器的多核负载调控方法、装置及电子设备。
背景技术
当前随着车载方向以域控制器为主流,在一个控制器上做之前更多电子控制单元(Electronic Control Unit,简称ECU)完成的工作,所以微控制单元(Micro ControlUnit,MCU)上也需要运行更多的任务,MCU也相应由单核向着多核转变。在现有的车载MCU的实时处理器中,通常将核心放在对任务处理的实时性上,对任务处理的优先级往往是优先考虑的点,而随着域控制的发展,不仅仅要考虑任务处理的实时性,还应该考虑处理器核的使用率。一旦处理器核的使用率过高,容易造成处理任务时的卡顿现象,进而导致实时任务超时、任务中断等。
而现有的车载MCU的实时处理器采用静态配置方式规划处理器中各处理器核的使用率,即事先获取MCU中执行任务总数量、每个任务的执行周期,以及任务的优先级等,然后对所有任务进行归类,并分配到不同的处理器核上执行。经过测试发现,在任务真正运行过程中,该种静态配置方式很容易造成某一个处理器核或多个处理器核出现负载过载,其他处理器核任务过少的情况,如果此时再次重新规划各种任务在不同核上的运行情况,不仅仅会延误任务的执行,还会耗时耗力,而且也无法获知在后续的某个时刻,是否同样会再次出现一个或多个处理器核负载过载,其他处理器核任务过少的情况。
发明内容
本申请提供了一种处理器的多核负载调控方法、装置及电子设备,以解决现有技术中上述部分或全部技术问题。
第一方面,本申请提供了一种处理器的多核负载调控方法,该方法包括:
依据预配置的等级划分规则,确定处理器至少两个处理器核中每一个处理器核的负载等级,其中,负载等级是根据处理器核的使用率划分得到;
根据每两个处理器核的负载等级之间的差值,确定对至少两个处理器核的负载调控规则;
在根据负载调控规则确定对至少两个处理器核的负载进行动态调控情况下,按照预设调控策略,完成对至少两个处理器核的负载的动态调控。
在一种可选的实施方式中,根据每两个处理器核的负载等级之间的差值,确定对至少两个处理器核的负载调控规则,包括:
在任意两个处理器核的负载等级之间的差值大于或者等于第一预设差值阈值情况下,确定负载调控规则为对至少两个处理器核的负载进行动态调控;
或者,在任一两个处理器核的负载等级之间的差值小于第一预设差值阈值,大于或者等于第二预设差值阈值的情况持续预设时间段,且,至少两个处理器核中负载等级大于或者等于第一负载等级情况下,确定负载调控规则为对至少两个处理器核的负载进行动态调控。
在一种可选的实施方式中,在任意两个处理器核的负载等级之间的差值大于或者等于第一预设差值阈值情况下,预设调控策略包括:
根据负载等级的大小,对至少两个处理器核进行排序;
根据处理器核的总数量,确定任务调整次数;
在第i次,分别对排序在第n+1-i的处理器核和排序为第i的处理器核的任务进行调整,将负载等级高的处理器核中的预设数量的任务,调整至负载等级低的处理器核处,其中,i为正整数,n为处理器核的总数量。
在一种可选的实施方式中,根据处理器核的总数量,确定任务调整次数,具体包括:
利用处理器核的总数量除以2后所获取的模值,即为任务调整次数。
在一种可选的实施方式中,在第i次,分别对排序在第n+1-i的处理器核和排序为第i的处理器核的任务进行调整之前,方法还包括:
根据排序为第n+1-i的处理器核的负载等级,以及排序为第i的处理器核的负载等级,确定第n+1-i的处理器核待转移的任务的预设数量。
在一种可选的实施方式中,在任一两个处理器核的负载等级之间的差值小于第一预设差值阈值,大于或者等于第二预设差值阈值的情况持续预设时间段,且,至少两个处理器核中负载等级大于或者等于第一负载等级情况下,预设调控策略包括:
在至少两个处理器核中预设数量的处理器核的负载等级大于或者等于第一负载等级,且小于第二负载等级情况下,对与处理器对应的代码进行一级优化处理;
或者,在至少两个处理器核中预设数量的处理器核的负载等级大于或者等于第二负载等级,且小于第三负载等级情况下,对与处理器对应的代码进行二级优化处理,或者更换处理器;
或者,在至少两个处理器核中预设数量的处理器核的负载等级大于或等于第三负载等级情况下,更换处理器。
在一种可选的实施方式中,依据预配置的等级划分规则,确定处理器至少两个处理器核中每一个处理器核的负载等级之前,方法还包括:
每间隔固定时间,依次遍历至少两个处理器核中每一个处理器核的使用率,以便后续根据每一个处理器核的使用率,确定每一个处理器核的负载等级。
在一种可选的实施方式中,依据预配置的等级划分规则,确定处理器至少两个处理器核中每一个处理器核的负载等级,包括:
将至少两个处理器核中的每一个处理器核的使用率,分别与等级划分规则中每一个负载等级对应的使用率阈值范围进行匹配;
在确定至少两个处理器核中的第一处理器核的使用率属于第i个负载等级对应的使用率阈值范围内的情况下,则确定第一处理器核的负载等级为第i负载等级,其中,第一处理器核为至少两个处理器核中的任一个处理器核,i为正整数。
第二方面,本申请提供了一种处理器的多核负载调控装置,该装置包括:
等级确定模块,用于依据预配置的等级划分规则,确定处理器至少两个处理器核中每一个处理器核的负载等级,其中,负载等级是根据处理器核的使用率划分得到;
处理模块,用于根据每两个处理器核的负载等级之间的差值,确定对至少两个处理器核的负载调控规则;
调控模块,用于在根据负载调控规则确定对至少处理器核的负载进行动态调控情况下,按照预设调控策略,完成对至少两个处理器核的负载的动态调控。
第三方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一项实施例的处理器的多核负载调控方法的步骤。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如第一方面任一项实施例的处理器的多核负载调控方法的步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例提供的该方法,依据预配置的等级划分规则确定处理器至少两个处理器核中每一个处理器核的负载等级。然后,根据每两个处理器核的负载等级之间的差值,确定对至少两个处理器核的负载调控规则,并且在确定负载调控规则为对至少两个处理器核中的一个或多个负载进行动态调控情况下,根据预设调控策略,完成对至少两个处理器核的负载的动态调控。通过实时监控各核负载情况,可以灵活地动态调控各个处理器核上的任务量,以保证处理器在每时每刻都运行在一个较优的运行环境,免去现有技术中利用静态配置反复试验处理器运行负载是否存在负载过载的情况的时间,而且,该方式还可以提高处理器的运行效率。
附图说明
图1为本发明实施例提供的一种处理器的多核负载调控方法流程示意图;
图2为本发明提供的根据预配置的等级划分规则,确定处理器至少两个处理器核中每一个处理器核的负载等级的方法流程示意图;
图3为本发明提供的针对每一个处理器核的负载等级划分的具体示例流程示意图;
图4为本发明提供的当任意两个处理器核的负载等级之间的差值大于或者等于第一预设差值阈值时,所执行的调控策略方法流程示意图;
图5为本发明实施例提供的一种处理器的多核负载调控装置结构示意图;
图6为本发明实施例提供一种电子设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
如上文所介绍的,目前车载MCU实时操作系统中,采用静态方式配置每个处理器核中的任务。即,事先了解MCU中执行任务的总量,每个任务的执行周期,以及每个任务的优先等级等事项。依据每个任务不同的特点,以及任务总量等,将所有任务分配到不同的处理器核上。并将具体的配置事宜写入到程序代码中,通过测试的方式,来判定以上任务分配是否会导致某个或多个处理器核存在负载过载的情况发生,也即是处理器核使用率过高的情况发生。如果存在某个或多个处理器核存在负载过载的情况,那么还需要重新规划不同处理器核分别对应的任务数量和任务类型。以保证各个处理器核均处在一个较优的运行环境(例如负载比较均衡的运行环境)。而整个过程则会耗时耗力,且也无法避免在后续的某一个状态或某些时刻,依然存在某一个或多个处理器核负载过载,而其他处理器核则处于“任务过少”的情况发生。
因此,本申请实施例提供了一种处理器的多核负载调控方法,考虑到目前域控制的需求,在保证车载MCU操作系统对实时性的要求下,通过实时监控处理器上各处理器核的使用率,动态调整各处理器核上的任务数量,以保证CPU在每时每刻都运行在一个较优的运行环境,以节省静态配置时,反复试验测试CPU运行负载是否处于较优的运行环境所占用的大量人力、物力,以及时间成本等。而且,也正是因为始终是动态调整各处理器核上的任务数量,也就无需担心在本次调整后,后续某个运行状态或某个时刻,会存在一个或多个处理器核负载过载,而其他处理器核则处于“任务过少”的情况发生。
具体的,本申请实施例提供的一种处理器的多核负载调控方法流程,可以参见图1所示。在介绍本申请实施例的方法步骤之前,首先说明该方法步骤之前所做的准备工作。具体参见如下:
首先运行实时操作系统,然后按照静态配置,依次在处理器(例如CPU)的各个处理器核上执行对应的任务。然后,再执行本方法的操作步骤。
在一个可选的例子中,各个处理器核上执行的任务例如可以包括,但不限于如下内容:
电源管理(对外部电压的监控)任务,存储管理任务,标定管理任务,雷达数据采集任务,控制器局域网络(Controller Area Network,简称CAN)数据转以太网发送任务,状态管理任务,仲裁状态机管理任务,以及网络管理任务等。
该方法步骤包括:
步骤110,依据预配置的等级划分规则,确定处理器至少两个处理器核中每一个处理器核的负载等级。
其中,负载等级是根据处理器核的使用率划分得到。
处理器核的使用率,其实就是运行的程序占用的处理器核资源(例如CPU使用率),表示机器在某个时间点的运行程序的情况。
在一个可选的实施例中,执行步骤110之前,该方法还可以包括如下步骤:
每间隔固定时间,依次遍历至少两个处理器核中每一个处理器核的使用率。
在一个具体的例子中,可以是通过定时器,例如每间隔5毫秒遍历CPU中的处理器核的使用率(Core_loading)。具体的遍历顺序,例如是从处理器核1遍历到处理器核n。
在获取到每一个处理器核的使用率后,则可以根据每一个处理器核的使用率,来确定每一个处理器核的负载等级。
在一个可选的例子中,等级划分规则参见如下方法步骤,具体参见图2所示。
步骤210,将至少两个处理器核中的每一个处理器核的使用率,分别与等级划分规则中每一个负载等级对应的使用率阈值范围进行匹配。
步骤220,在确定至少两个处理器核中的第一处理器核的使用率属于第i个负载等级对应的使用率阈值范围内的情况下,则确定第一处理器核的负载等级为第i负载等级。
其中,第一处理器核为至少两个处理器核中的任一个处理器核,i为正整数。
更具体的来说,例如负载等级包括6级。那么,当至少两个处理器核中的第一处理器核的使用率小于第一预设使用率阈值时,确定第一处理器核的负载等级为第一负载等级;
或者,当第一处理器核的使用率大于或者等于第一预设使用率阈值,且小于第二预设使用率阈值时,确定第一处理器核的负载等级为第二负载等级;
或者,当第一处理器核的使用率大于或者等于第二预设使用率阈值,且小于第三预设使用率阈值时,确定第一处理器核的负载等级为第三负载等级;
或者,当第一处理器核的使用率大于或者等于第三预设使用率阈值,且小于第四预设使用率阈值时,确定第一处理器核的负载等级为第四负载等级;
或者,当第一处理器核的使用率大于或者等于第四预设使用率阈值,且小于第五预设使用率阈值时,确定第一处理器核的负载等级为第五负载等级;
或者,当第一处理器核的使用率大于或者等于第五预设使用率阈值时,确定第一处理器核的负载等级为第六负载等级,其中,第一处理器核为至少两个处理器核中的任一个处理器核。
图3示出了针对每一个处理器核的负载等级进行具体划分流程示意图。具体参见如下:
a)当处理器核使用率<30%(第一预设使用率阈值)时,确定负载等级为1级;
b)当30%<=处理器核使用率<50%(第二预设使用率阈值)时,确定负载等级为2级;
c)当50%<=处理器核使用率<60%(第三预设使用率阈值)时,确定负载等级为3级;
d)当60%<=处理器核使用率<70%(第四预设使用率阈值)时,确定负载等级为4级;
e)当70%<=处理器核使用率<80%(第五预设使用率阈值)时,确定负载等级为5级;
f)当处理器核使用率>=80%时,确定负载等级为6级。
以上,即为依据预配置的等级划分规则,确定处理器至少两个处理器核中每一个处理器核的负载等级的一个示例性实施过程,其他示例过程这里不再赘述。
步骤120,根据每两个处理器核的负载等级之间的差值,确定对至少两个处理器核的负载调控规则。
具体的,在确定不同负载等级后,确定每两个处理器核的负载等级之间的差值。例如一个处理器中包括3个处理器核。第一个处理器核的负载等级为1级,第二个处理器核的负载等级为2级,第三个处理器核的负载等级为4级。那么,第一个处理器核和第二个处理器核之间的负载等级之间的差值为1,第一个处理器核和第三个处理器核的负载等级之间的差值为3,第二个处理器核与第三个处理器核的负载等级之间的差值为2。
基于三个处理器核中,任意两个处理器核的负载等级之间的差值不同,其对应的负载调控规则也不同。
在一个具体的例子中,例如当任意两个处理器核的负载等级之间的差值大于或者等于第一预设差值阈值时,确定负载调控规则为对至少两个处理器核中的负载整进行动态调控。
或者,当任一两个处理器核的负载等级之间的差值小于第一预设差值阈值,大于或者等于第二预设差值阈值的情况持续预设时间段,且,至少两个处理器核中负载等级大于或者等于第一负载等级时,确定负载调控规则为对至少两个处理器核的负载进行动态调控。
在另一个具体的例子中,当所有处理器核的负载等级之间的差值均小于第二预设差值阈值,或者当任一两个处理器核的负载等级之间的差值小于第一预设差值阈值,大于或者等于第二预设差值阈值的情况未持续预设时间段时,则确定负载调控规则为不对处理器核的负载做任何调整处理。
其中,例如第一预设差值阈值为2,第二阈值差值预设为1。
也即是,如果任意两个处理器核分别对应的负载等级相同,那么,则无需对处理器核中执行的任务做出调整。只有当任意两个处理器核分别对应的负载等级之间,有一定差距的时候,可能会存在负载不均衡的情况,这时才会对处理器核的任务做出一定的调整。
步骤130,当根据负载调控规则确定对至少两个处理器核的负载进行动态调控时,按照预设调控策略,完成对至少两个处理器核的负载的动态调控。
具体的,在一种可能的情况中,当任意两个处理器核的负载等级之间的差值大于或者等于第一预设差值阈值时,预设调控策略包括如下内容,具体参见图4所示。
例如,当处理器中至少两个处理器核中任意两个处理器核之间的负载等级之差超过2时,执行如下调控策略。具体包括:
步骤410,根据负载等级的大小,对至少两个处理器核进行排序。
步骤420,根据处理器核的总数量,确定任务调整次数。
步骤430,在第i次,分别对排序在第n+1-i的处理器核和排序为第i的处理器核的任务进行调整,将负载等级高的处理器核中的预设数量的任务,调整至负载等级低的处理器核处。
其中,i为正整数,n为处理器核的总数量。
具体的,假设处理器核的数量为3个。处理器核1至处理器核3分别对应的负载等级分布为1级,2级,4级。那么,处理器核1和处理器核3之间的等级差值为3,处理器核1与处理器核2之间的等级差值为1,处理器核2和处理器核3之间的等级差值为2。
对处理器核1至处理器核3进行排序。具体的排序规则可以是由大到小,或者由小到大皆可。例如在本实施例中,按照由大到小的顺序排序,那么排序顺序为处理器核3、处理器核2,以及处理器核1。
然后,按照处理器核的总数量,确定任务调整次数。
可选的,在确定调整次数时,例如可以采用如下方式获取:
利用处理器核的总数量除以2后所获取的模值,即为任务调整次数。
如上所介绍的例子,处理器核总数量为3,用3除以2,获取模值为1。那么,调整任务的次数为1次。
在第i次,i为正整数,n为处理器核的总数量。首次取值为1,那么在第一次,则将排序为第3+1-1(n+1-i)的处理器核和排序为第1(i)的处理器核的任务进行调整。具体调整时,是将负载等级高的处理器核中的预设数量的任务,调整至负载等级低的处理器核中。
如上所介绍的例子中,则是将排序为第一的处理器核和排序为第3的处理器核的任务进行调整。具体调整过程为将处理器核3中的预设数量的任务调整道处理器核1中。
具体调整的数量,通常是不大于处理器核3与处理器核1中任务数量的差值。否则,调整无意义。
在一个可选的例子中,在第i次,分别对排序在第n+1-i的处理器核和排序为第i的处理器核的任务进行调整之前,该方法还包括:
根据排序为第n+1-i的处理器核的负载等级,以及排序为第i的处理器核的负载等级,确定第n+1-i的处理器核待转移的任务的预设数量。
具体的,可以根据排序为第n+1-i的处理器核的负载等级,与排序为第i的处理器核的负载等级之间的差值,确定预设数量。
例如,1、当差值为5,则将排序为第n+1-i的处理器核的中的4个任务,在下一个执行周期,转移到排序为第i的处理器核上运行。
以此类推,2、当差值为4,则将排序为第n+1-i的处理器核的中的3个任务,在下一个执行周期,转移到排序为第i的处理器核上运行。
3、当差值为3,则将排序为第n+1-i的处理器核的中的2个任务,在下一个执行周期,转移到排序为第i的处理器核上运行;
4、当差值为2,则将排序为第n+1-i的处理器核的中的1个任务,在下一个执行周期,转移到排序为第i的处理器核上运行。
当然,处理上述任务量的分配方式之外,也可以通过其他方式完成任务量的分配。例如统计两个处理器核上的任务数量差值。然后分配差值数量按照一定的百分比,确定待转移的任务量。比如,两个处理器核上任务量的差值为50个。那么,选择百分之10的任务量转移到任务量少的处理器核上。
可选的,当任一两个处理器核的负载等级之间的差值小于第一预设差值阈值,大于或者等于第二预设差值阈值的情况持续预设时间段,且,至少两个处理器核中负载等级大于或者等于第一负载等级时,预设调控策略包括:
当至少两个处理器核中预设数量的处理器核的负载等级大于或者等于第一负载等级,且小于第二负载等级时,对与处理器对应的代码进行一级优化处理;
或者,当至少两个处理器核中预设数量的处理器核的负载等级大于或者等于第二负载等级,且小于第三负载等级时,对与处理器对应的代码进行二级优化处理,或者更换处理器;其中,二级优化处理的优化程度高于一级优化处理的优化程度,可以理解为加强优化处理。
或者,当至少两个处理器核中预设数量的处理器核的负载等级大于或等于第三负载等级时,更换处理器。
进一步可选的,当至少两个处理器核中预设数量的处理器核的负载等级小于第一负载等级时,不做任何处理。
在一个具体的例子中,例如:
如果所有处理器核中,负载等级的两两差值小于或者等于1,则不做任务切换核处理,但是需要判断标签中负载最高的处于哪个等级。确定最高等级,其主要是确定如果最高负载等级也比较低,则不用考虑负载均衡操作。也即是,即使任一两个处理器核的负载等级之间的差值小于第一预设差值阈值,大于或者等于第二预设差值阈值的情况持续预设时间段,但是因为至少两个处理器核中预设数量的处理器核的负载等级均小于第一负载等级,也构不成任何的负载不均衡,处理器中对每一个处理器核都处于高速运转的状态,所以可以不做任何处理。
但是,在运行一段时间后,负载等级的两两差值依然是小于或者等于1,而至少两个处理器核中预设数量的处理器核的负载等级均大于或者等于第一负载等级(第一负载等级例如为4),那么则按照以下处理方式处理:
a)如果50%以上的处理器核处于负载等级6,建议更换其他处理器。
b)如果50%以上的处理器核处于负载等级5,则建议加强优化代码,或者更换其他处理器。
c)如果50%以上的处理器核处于负载等级4,则表示随时有超预期的可能,需要优化代码。
d)如果50%以上的处理器核处于负载等级3或者以下,则不做处理,表示当前MCU运行状态良好。
本发明实施例提供的处理器的多核负载调控方法,依据预配置的等级划分规则确定处理器至少两个处理器核中每一个处理器核的负载等级。然后,根据每两个处理器核的负载等级之间的差值,确定对至少两个处理器核的负载调控规则,并且在确定负载调控规则为对至少两个处理器核中的一个或多个负载进行动态调控情况下,根据预设调控策略,完成对至少两个处理器核的负载的动态调控。通过实时监控各核负载情况,可以灵活地动态调控各个处理器核上的任务量,以保证处理器在每时每刻都运行在一个较优的运行环境,免去现有技术中利用静态配置反复试验处理器运行负载是否存在负载过载的情况的时间,而且,该方式还可以提高处理器的运行效率。
以上,为本申请所提供的基于负载监控的多核处理器调控几个方法实施例,下文中则介绍说明本申请所提供的基于负载监控的多核处理器调控其他实施例,具体参见如下。
图5为本发明实施例提供的一种处理器的多核负载调控装置结构示意图,该装置包括:等级确定模块501、处理模块502,以及调控模块503。
等级确定模块501,用于依据预配置的等级划分规则,确定处理器至少两个处理器核中每一个处理器核的负载等级,其中,负载等级是根据处理器核的使用率划分得到;
处理模块502,用于根据每两个处理器核的负载等级之间的差值,确定对至少两个处理器核的负载调控规则;
调控模块503,用于在根据负载调控规则确定对至少两个处理器核的负载进行动态调控情况下,按照预设调控策略,完成对至少两个处理器核的负载的动态调控。
可选的,处理模块502,具体用于在任意两个处理器核的负载等级之间的差值大于或者等于第一预设差值阈值情况下,确定负载调控规则为对至少两个处理器核的负载进行动态调控;
或者,在任一两个处理器核的负载等级之间的差值小于第一预设差值阈值,大于或者等于第二预设差值阈值的情况持续预设时间段,且,至少两个处理器核中负载等级大于或者等于第一负载等级情况下,确定负载调控规则为对至少两个处理器核的负载进行动态调控。
可选的,在任意两个处理器核的负载等级之间的差值大于或者等于第一预设差值阈值情况下,预设调控策略包括:
根据负载等级的大小,对至少两个处理器核进行排序;
根据处理器核的总数量,确定任务调整次数;
在第i次,分别对排序在第n+1-i的处理器核和排序为第i的处理器核的任务进行调整,将负载等级高的处理器核中的预设数量的任务,调整至负载等级低的处理器核处,其中,i为正整数,n为处理器核的总数量。
可选的,处理模块502,具体用于利用处理器核的总数量除以2后所获取的模值,即为任务调整次数。
可选的,处理模块502,还用于根据排序为第n+1-i的处理器核的负载等级,以及排序为第i的处理器核的负载等级,确定第n+1-i的处理器核待转移的任务的预设数量。
可选的,在任一两个处理器核的负载等级之间的差值小于第一预设差值阈值,大于或者等于第二预设差值阈值的情况持续预设时间段,且,至少两个处理器核中负载等级大于或者等于第一负载等级情况下,预设调控策略包括:
在至少两个处理器核中预设数量的处理器核的负载等级大于或者等于第一负载等级,且小于第二负载等级情况下,对与处理器对应的代码进行一级优化处理;
或者,在至少两个处理器核中预设数量的处理器核的负载等级大于或者等于第二负载等级,且小于第三负载等级情况下,对与处理器对应的代码进行二级优化处理,或者更换处理器;
或者,在至少两个处理器核中预设数量的处理器核的负载等级大于或等于第三负载等级情况下,更换处理器。
可选的,在至少两个处理器核中预设数量的处理器核的负载等级小于第一负载等级情况下,不做任何处理。
可选的,该装置还包括:遍历模块504;
遍历模块504,用于每间隔固定时间,依次遍历至少两个处理器核中每一个处理器核的使用率,以便后续根据每一个处理器核的使用率,确定每一个处理器核的负载等级。
可选的,处理模块502,具体用于将至少两个处理器核中的每一个处理器核的使用率,分别与等级划分规则中每一个负载等级对应的使用率阈值范围进行匹配;
在确定至少两个处理器核中的第一处理器核的使用率属于第i个负载等级对应的使用率阈值范围内的情况下,则确定第一处理器核的负载等级为第i负载等级,其中,第一处理器核为至少两个处理器核中的任一个处理器核,i为正整数。
本发明实施例提供的基于负载监控的多核处理器调控装置中各部件所执行的功能均已在上述任一方法实施例中做了详细的描述,因此这里不再赘述。
本发明实施例提供的一种处理器的多核负载调控装置,依据预配置的等级划分规则确定处理器至少两个处理器核中每一个处理器核的负载等级。然后,根据每两个处理器核的负载等级之间的差值,确定对至少两个处理器核的负载调控规则,并且在确定负载调控规则为对至少两个处理器核中的一个或多个负载进行动态调控情况下,根据预设调控策略,完成对至少两个处理器核的负载的动态调控。通过实时监控各核负载情况,可以灵活地动态调控各个处理器核上的任务量,以保证处理器在每时每刻都运行在一个较优的运行环境,免去现有技术中利用静态配置反复试验处理器运行负载是否存在负载过载的情况的时间,而且,该方式还可以提高处理器的运行效率。
如图6所示,本申请实施例提供了一种电子设备,包括处理器111、通信接口112、存储器113和通信总线114,其中,处理器111,通信接口112,存储器113通过通信总线114完成相互间的通信。
存储器113,用于存放计算机程序;
在本申请一个实施例中,处理器111,用于执行存储器113上所存放的程序时,实现前述任意一个方法实施例提供的处理器的多核负载调控方法,包括:
依据预配置的等级划分规则,确定处理器至少两个处理器核中每一个处理器核的负载等级,其中,负载等级是根据处理器核的使用率划分得到;
根据每两个处理器核的负载等级之间的差值,确定对至少两个处理器核的负载调控规则;
在根据负载调控规则确定对至少两个处理器核的负载进行动态调控情况下,按照预设调控策略,完成对至少两个处理器核的负载的动态调控。
可选的,在任意两个处理器核的负载等级之间的差值大于或者等于第一预设差值阈值情况下,确定负载调控规则为对至少两个处理器核的负载进行动态调控;
或者,在任一两个处理器核的负载等级之间的差值小于第一预设差值阈值,大于或者等于第二预设差值阈值的情况持续预设时间段,且,至少两个处理器核中负载等级大于或者等于第一负载等级情况下,确定负载调控规则为对至少两个处理器核的负载进行动态调控。
可选的,在任意两个处理器核的负载等级之间的差值大于或者等于第一预设差值阈值情况下,预设调控策略包括:
根据负载等级的大小,对至少两个处理器核进行排序;
根据处理器核的总数量,确定任务调整次数;
在第i次,分别对排序在第n+1-i的处理器核和排序为第i的处理器核的任务进行调整,将负载等级高的处理器核中的预设数量的任务,调整至负载等级低的处理器核中,其中,i为正整数,n为处理器核的总数量。
可选的,根据处理器核的总数量,确定任务调整次数,具体包括:
利用处理器核的总数量除以2后所获取的模值,即为任务调整次数。
可选的,在第i次,分别对排序在第n+1-i的处理器核和排序为第i的处理器核的任务进行调整之前,该方法还包括:
根据排序为第n+1-i的处理器核的负载等级,以及排序为第i的处理器核的负载等级,确定第n+1-i的处理器核待转移的任务的预设数量。
可选的,在任一两个处理器核的负载等级之间的差值小于第一预设差值阈值,大于或者等于第二预设差值阈值的情况持续预设时间段,且,至少两个处理器核中负载等级大于或者等于第一负载等级情况下,预设调控策略包括:
在至少两个处理器核中预设数量的处理器核的负载等级大于或者等于第一负载等级,且小于第二负载等级情况下,对与处理器对应的代码进行一级优化处理;
或者,在至少两个处理器核中预设数量的处理器核的负载等级大于或者等于第二负载等级,且小于第三负载等级情况下,对与处理器对应的代码进行二级优化处理,或者更换处理器;
或者,在至少两个处理器核中预设数量的处理器核的负载等级大于或等于第三负载等级情况下,更换处理器。
可选的,当至少两个处理器核中预设数量的处理器核的负载等级小于第一负载等级时,不做任何处理。
可选的,依据预配置的等级划分规则,确定处理器至少两个处理器核中每一个处理器核的负载等级之前,该方法还包括:
每间隔固定时间,依次遍历至少两个处理器核中每一个处理器核的使用率,以便后续根据每一个处理器核的使用率,确定每一个处理器核的负载等级。
可选的,依据预配置的等级划分规则,确定处理器至少两个处理器核中每一个处理器核的负载等级,具体包括:
将至少两个处理器核中的每一个处理器核的使用率,分别与等级划分规则中每一个负载等级对应的使用率阈值范围进行匹配;
在确定至少两个处理器核中的第一处理器核的使用率属于第i个负载等级对应的使用率阈值范围内的情况下,则确定第一处理器核的负载等级为第i负载等级,其中,第一处理器核为至少两个处理器核中的任一个处理器核,i为正整数。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如前述任意一个方法实施例提供的处理器的多核负载调控方法的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种处理器的多核负载调控方法,其特征在于,所述方法包括:
依据预配置的等级划分规则,确定处理器至少两个处理器核中每一个处理器核的负载等级,其中,所述负载等级是根据所述处理器核的使用率划分得到;
根据每两个所述处理器核的负载等级之间的差值,确定对至少两个处理器核的负载调控规则;
在根据所述负载调控规则确定对至少两个处理器核的负载进行动态调控情况下,按照预设调控策略,完成对至少两个处理器核的负载的动态调控。
2.根据权利要求1所述的方法,其特征在于,根据每两个所述处理器核的负载等级之间的差值,确定对至少两个处理器核的负载调控规则,包括:
在任意两个处理器核的负载等级之间的差值大于或者等于第一预设差值阈值情况下,确定所述负载调控规则为对至少两个处理器核的负载进行动态调控;
或者,在任一两个处理器核的负载等级之间的差值小于所述第一预设差值阈值,大于或者等于第二预设差值阈值的情况持续预设时间段,且,至少两个处理器核中负载等级大于或者等于第一负载等级情况下,确定所述负载调控规则为对至少两个处理器核的负载进行动态调控。
3.根据权利要求2所述的方法,其特征在于,在任意两个处理器核的负载等级之间的差值大于或者等于第一预设差值阈值情况下,所述预设调控策略包括:
根据所述负载等级的大小,对至少两个处理器核进行排序;
根据所述处理器核的总数量,确定任务调整次数;
在第i次,分别对排序在第n+1-i的处理器核和排序为第i的处理器核的任务进行调整,将负载等级高的处理器核中的预设数量的任务,调整至负载等级低的处理器核处,其中,i为正整数,n为处理器核的总数量。
4.根据权利要求3所述的方法,其特征在于,所述根据所述处理器核的总数量,确定任务调整次数,具体包括:
利用所述处理器核的总数量除以2后所获取的模值,即为所述任务调整次数。
5.根据权利要求3所述的方法,其特征在于,在第i次,分别对排序在第n+1-i的处理器核和排序为第i的处理器核的任务进行调整之前,所述方法还包括:
根据排序为第n+1-i的处理器核的负载等级,以及排序为第i的处理器核的负载等级,确定所述第n+1-i的处理器核待转移的任务的所述预设数量。
6.根据权利要求2所述的方法,其特征在于,在任一两个处理器核的负载等级之间的差值小于所述第一预设差值阈值,大于或者等于第二预设差值阈值的情况持续预设时间段,且,至少两个处理器核中负载等级大于或者等于第一负载等级情况下,所述预设调控策略包括:
在至少两个处理器核中预设数量的处理器核的负载等级大于或者等于第一负载等级,且小于第二负载等级情况下,对与所述处理器对应的代码进行一级优化处理;
或者,在至少两个处理器核中预设数量的处理器核的负载等级大于或者等于所述第二负载等级,且小于第三负载等级情况下,对与所述处理器对应的代码进行二级优化处理,或者更换所述处理器;
或者,在至少两个处理器核中预设数量的处理器核的负载等级大于或等于所述第三负载等级情况下,更换所述处理器。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述依据预配置的等级划分规则,确定处理器至少两个处理器核中每一个处理器核的负载等级之前,所述方法还包括:
每间隔固定时间,依次遍历至少两个处理器核中每一个所述处理器核的使用率,以便后续根据每一个所述处理器核的使用率,确定每一个所述处理器核的负载等级。
8.根据权利要求7所述的方法,其特征在于,所述依据预配置的等级划分规则,确定处理器至少两个处理器核中每一个处理器核的负载等级,包括:
将至少两个处理器核中的每一个处理器核的使用率,分别与所述等级划分规则中每一个负载等级对应的使用率阈值范围进行匹配;
在确定至少两个处理器核中的第一处理器核的使用率属于第i个负载等级对应的使用率阈值范围内的情况下,则确定所述第一处理器核的负载等级为第i负载等级,其中,所述第一处理器核为至少两个处理器核中的任一个处理器核,i为正整数。
9.一种处理器的多核负载调控装置,其特征在于,所述装置包括:
等级确定模块,用于依据预配置的等级划分规则,确定处理器至少两个处理器核中每一个处理器核的负载等级,其中,所述负载等级是根据所述处理器核的使用率划分得到;
处理模块,用于根据每两个所述处理器核的负载等级之间的差值,确定对至少两个处理器核的负载调控规则;
调控模块,用于在根据所述负载调控规则确定对至少处理器核的负载进行动态调控情况下,按照预设调控策略,完成对至少两个处理器核的负载的动态调控。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一项所述的处理器的多核负载调控方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8任一项所述的处理器的多核负载调控方法的步骤。
CN202210425449.7A 2022-04-21 2022-04-21 处理器的多核负载调控方法、装置及电子设备 Pending CN114816747A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210425449.7A CN114816747A (zh) 2022-04-21 2022-04-21 处理器的多核负载调控方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210425449.7A CN114816747A (zh) 2022-04-21 2022-04-21 处理器的多核负载调控方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN114816747A true CN114816747A (zh) 2022-07-29

Family

ID=82505159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210425449.7A Pending CN114816747A (zh) 2022-04-21 2022-04-21 处理器的多核负载调控方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN114816747A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185582A (zh) * 2022-12-29 2023-05-30 国科础石(重庆)软件有限公司 多核调度的方法、装置、车辆、电子设备及介质
CN119046020A (zh) * 2024-10-31 2024-11-29 中国兵器装备集团兵器装备研究所 一种多核系统内核定时器分配方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458634A (zh) * 2008-01-22 2009-06-17 中兴通讯股份有限公司 负载均衡调度方法和装置
WO2010010723A1 (ja) * 2008-07-22 2010-01-28 トヨタ自動車株式会社 マルチコアシステム、車両用電子制御ユニット、タスク切り替え方法
CN103559090A (zh) * 2013-10-31 2014-02-05 宇龙计算机通信科技(深圳)有限公司 一种任务协调处理方法、装置及终端
CN108667859A (zh) * 2017-03-27 2018-10-16 中兴通讯股份有限公司 一种实现资源调度的方法及装置
CN110532091A (zh) * 2019-08-19 2019-12-03 中国人民解放军国防科技大学 基于图形处理器的图计算边向量负载平衡方法及装置
CN112380005A (zh) * 2020-11-10 2021-02-19 深圳供电局有限公司 一种数据中心能耗管理方法及系统
CN112817694A (zh) * 2021-02-02 2021-05-18 中国工商银行股份有限公司 分布式系统的自动负载均衡方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458634A (zh) * 2008-01-22 2009-06-17 中兴通讯股份有限公司 负载均衡调度方法和装置
WO2010010723A1 (ja) * 2008-07-22 2010-01-28 トヨタ自動車株式会社 マルチコアシステム、車両用電子制御ユニット、タスク切り替え方法
CN103559090A (zh) * 2013-10-31 2014-02-05 宇龙计算机通信科技(深圳)有限公司 一种任务协调处理方法、装置及终端
CN108667859A (zh) * 2017-03-27 2018-10-16 中兴通讯股份有限公司 一种实现资源调度的方法及装置
CN110532091A (zh) * 2019-08-19 2019-12-03 中国人民解放军国防科技大学 基于图形处理器的图计算边向量负载平衡方法及装置
CN112380005A (zh) * 2020-11-10 2021-02-19 深圳供电局有限公司 一种数据中心能耗管理方法及系统
CN112817694A (zh) * 2021-02-02 2021-05-18 中国工商银行股份有限公司 分布式系统的自动负载均衡方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王光波;马自堂;孙磊;: "云环境下面向负载均衡的分布式虚拟机迁移研究", 计算机应用与软件, no. 10, 15 October 2013 (2013-10-15) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185582A (zh) * 2022-12-29 2023-05-30 国科础石(重庆)软件有限公司 多核调度的方法、装置、车辆、电子设备及介质
CN116185582B (zh) * 2022-12-29 2024-03-01 国科础石(重庆)软件有限公司 多核调度的方法、装置、车辆、电子设备及介质
CN119046020A (zh) * 2024-10-31 2024-11-29 中国兵器装备集团兵器装备研究所 一种多核系统内核定时器分配方法及装置

Similar Documents

Publication Publication Date Title
US20220004441A1 (en) Assigning jobs to heterogeneous processing modules
CN106557369B (zh) 一种多线程的管理方法及系统
CN103369042B (zh) 一种数据处理方法和装置
CN108241530A (zh) 一种基于Storm的流式计算二分图任务调度方法
CN105900064A (zh) 调度数据流任务的方法和装置
US9641431B1 (en) System and methods for utilization-based balancing of traffic to an information retrieval system
CN114816747A (zh) 处理器的多核负载调控方法、装置及电子设备
CN103870334A (zh) 一种大规模漏洞扫描的任务分配方法及装置
CN103699433B (zh) 一种于Hadoop平台中动态调整任务数目的方法及系统
CN112817728A (zh) 任务调度方法、网络设备和存储介质
CN101963923A (zh) 批量处理多重化方法
CN112948113A (zh) 一种集群资源管理调度方法、装置、设备及可读存储介质
CN108958944A (zh) 一种多核处理系统及其任务分配方法
CN114153580A (zh) 一种跨多集群的工作调度方法及装置
CN104679590A (zh) 分布式计算系统中的Map优化方法及装置
CN108446179A (zh) 基于负载均衡机制的权重优先Task任务调度方法
CN117971906B (zh) 一种多卡协同数据库查询方法、装置、设备及存储介质
Fan et al. A heterogeneity-aware data distribution and rebalance method in Hadoop cluster
US20120042322A1 (en) Hybrid Program Balancing
CN111158904A (zh) 一种任务调度方法、装置、服务器及介质
CN117667602B (zh) 一种基于云计算在线服务算力优化方法和装置
US10180712B2 (en) Apparatus and method for limiting power in symmetric multiprocessing system
CN105183540A (zh) 一种实时数据流处理的任务分配方法及系统
Elkholy et al. Self adaptive Hadoop scheduler for heterogeneous resources
CN106844037B (zh) 一种基于knl的测试方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination