处理器负载的监控方法和监控装置与流程

文档序号:31497562发布日期:2022-09-14 07:54阅读:77来源:国知局
处理器负载的监控方法和监控装置与流程

1.本技术涉及计算机领域,尤其涉及一种处理器负载的监控方法和监控装置。


背景技术:

2.无论在负载均衡管理,还是芯片内部的负载监控,都需要对处理器的负载状态进行快速的跟踪,以便提供低延迟的控制和系统管理。在实际的应用场景中,常常需要对处理器的负载进行动态监控,根据监控结果控制处理器功耗的飙升、提高处理器的频率或者对负载进行迁移以满足应用需要。
3.目前的方案是通过周期性地读取性能监视单元(performance monitor unit,pmu)计数器来实现对处理器负载的监控,由软件实现,监控的延迟太大,导致系统反应速度慢。


技术实现要素:

4.本技术提供一种处理器负载的监控方法和监控装置,有利于减少处理器负载的监控延迟,从而提高系统的反应速度。
5.第一方面,提供了一种处理器负载的监控方法,包括:分别在第一时间段中的多个子时间段内统计处理器中核的工作时长,获得上述核在上述第一时间段内的第一活跃信息;基于上述第一活跃信息,判断上述核在上述第一时间段内负载是否正常;在上述核在上述第一时间段内负载正常的情况下,分别在第二时间段中的多个子时间段内统计上述核的工作时长,获得上述核在上述第二时间段内的第二活跃信息,上述第二时间段的开始时刻属于行述第一时间段,且上述第二时间段比上述第一时间段后延了一个或多个上述子时间段;基于上述第二活跃信息,判断上述核在上述第二时间段内负载是否正常。
6.在本技术实施例中,监控设备可以采用滑窗策略对处理器中核的负载进行监控,通过在各个子时间段内对处理器中核的负载进行监控,可以每隔一个子时间段,重新计算一次上述核在新的时间段内的活跃信息,有利于提高处理器中核的活跃信息的准确性,减少处理器负载的监控延迟,从而提高系统的反应速度。
7.结合第一方面,在第一方面的某种实现方式中,上述第一活跃信息为上述核在上述第一时间段内的平均活跃度,上述平均活跃度是基于下列公式计算得到的:
[0008][0009]
其中,n为上述第一时间段中包含的上述子时间段的个数,ti为上述核在上述第一时间段中的第i个子时间段中的工作时长,ti为上述第一时间段中的第i个子时间段的时长。
[0010]
在本技术实施例中,监控设备将处理器中核在第一时间段内的平均活跃度作为第一活跃信息,可以有效体现处理器中核在第一时间段内的平均负载情况或者工作状态。
[0011]
结合第一方面,在第一方面的某种实现方式中,基于上述第一活跃信息,判断上述
核在上述第一时间段内负载是否正常,包括:若上述第一活跃信息大于第一门限值,则确定上述核在上述第一时间段内负载过重;若上述第一活跃信息小于第二门限值,则确定上述核在上述第一时间段内负载过轻;或者,若上述第一活跃信息大于或等于上述第二门限值、且小于或等于上述第一门限值,则确定上述核在上述第一时间段内负载正常,所述第一门限值大于所述第二门限值。
[0012]
在本技术实施例中,监控设备可以通过将第一活跃信息与预设门限值进行比对,从而可以有效判断处理器中核的负载是否正常。
[0013]
结合第一方面,在第一方面的某种实现方式中,上述处理器为单核处理器,上述方法还包括:若上述核在上述第一时间段内负载过重,提升上述处理器的频率和功率;或者,若上述核在上述第一时间段内负载过轻,降低上述处理器的频率和功率。
[0014]
在本技术实施例中,对于单核处理器中核上负载不正常的情况,可以对处理器进行调频率和调压,有效保障了单核处理器的稳定性。
[0015]
结合第一方面,在第一方面的某种实现方式中,上述处理器为众核处理器,上述核为小核,上述方法还包括:若上述核在上述第一时间段内负载过重,将上述核上的负载迁移至上述处理器中的大核上,或者,提升上述中核的频率和功率;若上述核在上述第一时间段内负载过轻,降低上述核的频率和功率。
[0016]
在本技术实施例中,对于众核处理器中小核上负载不正常的情况,可以采用多种负载均衡管理的方法,有效保障了众核处理器的稳定性。
[0017]
结合第一方面,在第一方面的某种实现方式中,上述处理器为众核处理器,上述核为大核,上述方法还包括:若上述核在上述第一时间段内负载过轻,将上述核上的负载迁移至上述处理器中的小核上,或者,降低上述核的频率和功率;若上述核在上述第一时间段内段内负载重,提升上述核的频率和功率。
[0018]
在本技术实施例中,对于众核处理器中大核上负载不正常的情况,可以采用多种负载均衡管理的方法,有效保障了众核处理器的稳定性。
[0019]
第二方面,提供了一种处理器负载的监控装置,包括:获取模块和处理模块;其中,获取模块用于,分别在第一时间段中的多个子时间段内统计处理器中核的工作时长,获得上述核在上述第一时间段内的第一活跃信息;处理模块用于,基于上述第一活跃信息,判断上述核在上述第一时间段内负载是否正常;上述获取模块用于,在上述核在上述第一时间段内负载正常的情况下,分别在第二时间段中的多个子时间段内统计上述核的工作时长,获得上述核在上述第二时间段内的第二活跃信息,上述第二时间段的开始时刻属于上述第一时间段,且上述第二时间段比上述第一时间段后延了一个或多个上述子时间段;上述处理模块用于,基于上述第二活跃信息,判断上述核在上个述第二时间段内负载是否正常。
[0020]
结合第二方面,在第二方面的某种实现方式中,上述第一活跃信息为上述核在上述第一时间段内的平均活跃度,上述平均活跃度是基于下列公式计算得到的:
[0021][0022]
其中,n为上述第一时间段中包含的上述子时间段的个数,ti为上述核在上述第一时间段中的第i个子时间段中的工作时长,ti为上述第一时间段中的第i个子时间段的时长。
[0023]
结合第二方面,在第二方面的某种实现方式中,上述处理模块用于:若上述第一活跃信息大于第一门限值,则确定上述核在上述第一时间段内负载过重;若上述第一活跃信息小于第二门限值,则确定上述核在上述第一时间段内负载过轻;或者,若上述第一活跃信息大于或等于上述第二门限值、且小于或等于上述第一门限值,则确定上述核在上述第一时间段内负载正常,所述第一门限值大于所述第二门限值。
[0024]
结合第二方面,在第二方面的某种实现方式中,上述处理器为单核处理器,上述处理模块用于:若上述核在上述第一时间段内负载过重,提升上述处理器的频率和功率;或者,若上述核在上述第一时间段内负载过轻,降低上述处理器的频率和功率。
[0025]
结合第二方面,在第二方面的某种实现方式中,上述处理器为众核处理器,上述核为小核,上述处理模块用于:若上述核在上述第一时间段内负载过重,将上述核上的负载迁移至上述处理器中的大核上,或者,提升上述核的频率和功率;若上述核在上述第一时间段内负载过轻,降低上述核的频率和功率。
[0026]
结合第二方面,在第二方面的某种实现方式中,上述处理器为众核处理器,上述核为大核,上述处理模块用于:若上述核在上述第一时间段内负载过轻,将上述核上的负载迁移至上述处理器中的小核上,或者,降低上述核的频率和功率;若上述核在上述第一时间段内段内负载重,提升上述核的频率和功率。
[0027]
第三方面,提供了另一种处理器负载的监控装置,包括处理器,该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述任一方面中任一种可能实现方式中的方法。可选地,该装置还包括存储器。可选地,该装置还包括通信接口,处理器与通信接口耦合。
[0028]
第四方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述第一方面中任一种可能实现方式中的方法。
[0029]
在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本技术实施例对处理器及各种电路的具体实现方式不做限定。
[0030]
第五方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述第一方面中任一种可能实现方式中的方法。
[0031]
可选地,处理器为一个或多个,存储器为一个或多个。
[0032]
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
[0033]
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,rom),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
[0034]
上述第五方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软
件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
[0035]
第六方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
[0036]
第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
附图说明
[0037]
图1是本技术实施例提供的处理器负载的监控方法的示意性流程图;
[0038]
图2是本技术实施例提供的统计处理器中核在一个子时间段内的工作时长的示意图;
[0039]
图3是本技术实施例提供的滑窗过程的示意图;
[0040]
图4是本技术实施例提供的处理器负载的监控系统的示意性框图;
[0041]
图5是本技术实施例提供的单核处理器负载均衡管理操作的示意图;
[0042]
图6是本技术实施例提供的众核处理器的示意图;
[0043]
图7是本技术实施例提供的众核处理器负载均衡管理操作的示意图;
[0044]
图8是本技术实施例提供的又一众核处理器负载均衡管理操作的示意图;
[0045]
图9是本技术实施例提供的又一众核处理器负载均衡管理操作的示意图;
[0046]
图10是本技术实施例提供的又一众核处理器负载均衡管理操作的示意图;
[0047]
图11是本技术实施例提供的处理器负载的监控装置的示意性框图;
[0048]
图12是本技术实施例提供的另一处理器负载的监控装置的示意性框图。
具体实施方式
[0049]
下面将结合附图,对本技术中的技术方案进行描述。
[0050]
为便于理解,首先对本技术所涉及到的相关术语进行说明。
[0051]
处理器的功能主要是解释计算机指令以及处理计算机软件中的数据。本技术的处理器可以为不同种类的处理器,例如,中央处理器(central processing unit,cpu)、(artificial intelligence processing unit,aicpu)人工智能处理器、图形处理器(graphics processing unit,gpu)或微处理器(microprocessor unit,mpu)等,本技术实施例对此不作限定。
[0052]
按照处理器中的核的个数分类,处理器可以分为单核处理器和众核处理器。其中,单核处理器是指只有一个逻辑核心(本文简称为核)的处理器,众核处理器是指有多个逻辑核心的处理器。众核处理器中可以包括大核和小核,大核是主处理器,性能比较强,运行大型程序时会开启,小核主频较小,性能比较弱,但功耗低。
[0053]
处理器的负载包括某段时间内占用处理器的进程(已经在被执行的进程数)和等待处理器时间的进程数(这里等待处理器时间的进程数是指等待被唤醒的进程数)。在进程数较多的情况下,为了保证处理器的整体性能不受影响,需要对处理器上核的负载进行监
控,以便进行负载均衡管理。
[0054]
无论在负载均衡管理,还是芯片内部的负载监控,都需要对处理器的负载状态进行快速的跟踪,以便提供低延迟的控制和系统管理。在实际的应用场景中,常常需要对处理器的负载进行动态监控,根据监控结果控制处理器功耗的飙升、提高处理器的频率或者对负载进行迁移以满足应用需要。
[0055]
目前的方案是通过周期性地读取性能监视单元(performance monitor unit,pmu)计数器来实现对处理器负载的监控,但是监控的延迟太大,导致系统反应速度慢,进而导致负载迁移和相应的频率调节、功耗调节的管理不及时。
[0056]
有鉴于此,本技术提供了一种处理器负载的监控方法和监控装置,通过采用滑动窗口的策略(本文简称为滑窗策略)对处理器中核的负载进行监控,得到核的活跃信息,基于核的活跃信息得到处理器的活跃信息,减少了对处理器负载的监控延迟,提高了系统的反应速度,进而提高负载迁移和相应的频率调节和功耗调节管理的及时性。
[0057]
在介绍本技术实施例提供的处理器负载的监控方法和监控装置之前,先做出以下几点说明。
[0058]
第一,在下文示出的实施例中,各术语及英文缩略语,例如单核工作状态(core active status,cas)或单核工作状态监控单元(core active monitor,cam)等,均为方便描述而给出的示例性举例,不应对本技术构成任何限定。本技术并不排除在已有或未来的协议中定义其它能够实现相同或相似功能的术语的可能。
[0059]
第二,在下文示出的实施例中第一、第二以及各种数字编号仅为描述方便进行的区分,并不用来限制本技术实施例的范围。例如,第一活跃信息、第二活跃信息,仅仅只是用来区分不同的信息等。
[0060]
第三,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
[0061]
为了使本技术的目的、技术方案更加清楚直观,下面将结合附图及实施例,对本技术实施例提供的方法和装置进行详细说明。应理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
[0062]
应理解,本技术实施例的方法可以由能够对处理器负载进行监控的设备执行,本技术实施例简称为监控设备。
[0063]
图1是本技术实施例中的处理器负载的监控方法100的示意性流程图。如图1所示,方法100包括下列步骤:
[0064]
s101,分别在第一时间段中的多个子时间段内统计处理器中核的工作时长,获得上述核在第一时间段内的第一活跃信息。
[0065]
应理解,第一时间段是由多个子时间段组成的,该多个子时间段的时长可以相等,也可以不相等,本技术实施例对此不作限定。第一时间段是用于监控处理器负载的状态的,所以还可以将第一时间段称为第一观测窗口。
[0066]
示例性地,监控设备可以将第一时间段的时长配置为10ms,该第一时间段包括10个1ms的子时间段。
[0067]
s102,基于第一活跃信息,判断上述核在第一时间段内负载是否正常。
[0068]
在本技术实施例中,监控设备可以通过将上述第一活跃信息与预设门限进行比较,基于其比较结果判断核在第一时间段内的负载是否正常。
[0069]
在一种可能的实现方式中,监控设备可以将第一活跃信息与一个预设门限进行比较,判断核在第一时间段内负载是否正常。示例性地,当第一活跃信息小于预设门限,监控设备可以确定处理器中核在第一时间段内的负载正常,否则,监控设备可以确定处理器的核在第一时间段内的负载不正常。
[0070]
在另一种可能的实现方式中,监控设备可以将第一活跃信息与多个预设门限进行比较,判断核在第一时间段内负载是否正常。示例性地,该多个预设门限包括第一门限和第二门限,第一门限大于第二门限,当第一活跃信息大于第一门限,监控设备可以确定处理器中核在第一时间段内的负载过高,当第一活跃信息小于第二门限,监控设备可以确定处理器中核在第一时间段内的负载过低,或者,当第一活跃信息大于在第一门限和第二门限之间,即第一活跃信息大于或等于第二门限、且小于或等于第一门限,监控设备可以确定处理器中核在第一时间段内的负载正常。
[0071]
应理解,监控设备可以根据不同应用场景的需求来配置所述第一门限值和所述第二门限值。
[0072]
示例性地,监控设备可以在深度学习应用初始化的过程中,通过测试来获取相关负载数据,并根据所述负载数据来配置所述门限值,该负载数据可以是处理器中核的负载最大承载数据等。
[0073]
s103,在上述核在第一时间段内负载正常的情况下,分别在第二时间段中的多个子时间段内统计核的工作时长,获得核在第二时间段内的第二活跃信息,上述第二时间段的开始时刻属于上述第一时间段,且上述第二时间段比上述第一时间段后延了一个或多个上述子时间段。
[0074]
示例性地,第二时间段的开始时刻可以为上述第一时间段中的第一个子时间段的结束时刻,第二时间段的结束时刻为将第一时间段的结束时刻向后滑动上述第一个子时间段的长度得到的时刻。
[0075]
第二时间段和上述第一时间段相等,且第二时间段也是用于监控处理器负载的状态的,所以还可以将第二时间段称为第二观测窗口。
[0076]
在本技术实施例中,若处理器中的核在第一时间段内负载正常,监控设备可以采用滑窗策略,将第一时间段整体向后滑动上述第一时间段中的第一个子时间段,得到第二时间段,继续在第二时间段中的多个子时间段内统计上述处理器中核的工作时长,获得该处理器中核在第二时间段内的第二活跃信息。
[0077]
应理解,在处理器中核在第一时间段内的负载正常的情况下,监控设备可以对处理器中核的负载不作任何均衡管理,所以该处理器中核的负载不变,监控设备可以继续监控该处理器中核在第二时间段内的负载是否正常。
[0078]
在处理器中核在第一时间段内的负载不正常的情况下,监控设备可以对该处理器中核的负载进行均衡管理,例如,将该处理器中核的负载迁移至该处理器中其他核上,或
者,调整该处理器的频率和功率。
[0079]
在将处理器中核的负载迁移至处理器中其他核上的情况下,如果监控设备继续监控处理器中核在第二时间段内的负载情况,将导致在第一时间段内监控的处理器中核的负载和第二时间段内监控的处理器中核的负载不同,进而导致监控设备在第二时间段内获取到的第二活跃信息不准确。所以,当处理器中核在第一时间段内的负载不正常,监控设备需要开启一个新的监控任务,该监控任务用于在新的时间段内监控处理器中核的新负载的情况。
[0080]
s104,基于第二活跃信息,判断上述核在第二时间段内负载是否正常。
[0081]
基于第二活跃信息判断核的负载是否正常的方式与基于第一活跃信息判断核的负载是否正常的方式类似,后续的处理操作也类似,若处理器中的核在第二时间段内负载正常,监控设备可以采用滑窗策略继续对该处理器中核的负载进行监控,若处理器中的核在第二时间段内负载不正常,监控设备可以对该处理器中核的负载进行均衡管理,此处不再赘述。
[0082]
在本技术实施例中,监控设备可以采用滑窗策略对处理器中核的负载进行监控,通过在各个子时间段内对处理器中核的负载进行监控,可以每隔一个子时间段,重新计算一次上述核在新的时间段内的活跃信息,有利于提高处理器中核的活跃信息的准确性,减少处理器负载的监控延迟,从而提高系统的反应速度。
[0083]
示例性地,上述第一时间段包括子时间段t1、t2、t3、t4、t5和t6。图2为第一时间段中的第一个子时间段t1内统计处理器中核的工作时长的示意图。如图2所示,基于监控时钟,监控设备可以通过子时间段计数器得到t1包含32个监控时钟,单核工作状态的波动图向上凸起代表处理器中核为工作状态,监控设备可以通过单核工作状态计数器在单核工作状态的波动图向上凸起时进行计数,得到核在子时间段t1内的工作时长为15个监控时钟。
[0084]
图2以子时间段t1为例,对统计处理器中核的工作时长进行了说明,对于其他的子时间段,监控设备可以采用同样的方法获得相应的工作时长,此处不再一一列举。
[0085]
在本技术实施例中,监控设备在统计到上述处理器中核的工作时长之后,可以通过多种方式获取上述第一活跃信息,本技术实施例对此不作限定。
[0086]
在一种可能的实现方式中,上述第一活跃信息为处理器中核在上述第一时间段内的总的活跃度。换句话说,监控设备可以将上述各个子时间段内统计得到的处理器中核的工作时间相加,得到第一时间段内的第一活跃信息。
[0087]
示例性地,监控设备可以基于公式计算得到处理器中核在上述第一时间段内的总的活跃度,其中,n为第一时间段中包含的子时间段的个数,ti为核在上述第一时间段中的第i个子时间段中的工作时长。
[0088]
应理解,监控设备可以以处理器中核在第一时间段内的总的活跃度为参考,预设第一门限和第二门限。
[0089]
在另一种可能的实现方式中,上述第一活跃信息为处理器中核在上述第一时间段内的平均活跃度。监控设备可以将上述各个子时间段内统计得到的处理器中核的工作时间除以对应的子时间段,得到处理器中核在各个子时间段内的子活跃信息,将上述子活跃信息的和除以第一时间段内总的子时间段的个数,获得上述核在第一时间段内的第一活跃信
息。
[0090]
示例性地,监控设备可以通过公式计算得到处理器中核在上述第一时间段内的平均活跃。其中,n为上述第一时间段中包含的上述子时间段的个数,ti为上述核在上述第一时间段中的第i个子时间段中的工作时长,ti为上述第一时间段中的第i个子时间段的时长。
[0091]
应理解,监控设备可以以处理器中核在第一时间段内的平均活跃度为参考,预设第一门限和第二门限。
[0092]
图3示出了上述示例的滑窗过程,如图3所示,监控设备可以采用滑窗策略,将第一时间段整体向后滑动第一个子时间段t1的时间间隔,得到第二时间段,该第二时间段包括子时间段t2、t3、t4、t5,t6和t7,t7的长度与t1相等。如图2所示,监控设备可以根据在上述第一时间段内的子时间段t1中统计处理器中核的工作时长的方法,分别在第二时间段中的子时间段t2、t3、t4、t5,t6和t7内统计处理器中核的工作时长,获得该处理器中核在第二时间段内的第二活跃信息。由于在上一个窗口中,监控设备已经获取了第二活跃信息的前5个子时间段的统计结果,监控设备只需获取新的子时间段t7的统计结果,大大缩短了监控延迟。
[0093]
因此,本技术实施例的监控设备在第一时间段之后,可以每隔一个子时间段,重新计算一次上述核在新的时间段内的活跃信息,有利于提高处理器中核的活跃信息的准确性,减少处理器负载的监控延迟,从而提高系统的反应速度。
[0094]
在一种可能的实现方式中,监控设备可以为单核工作状态监控单元(core activity monitor,cam)或包括了cam的设备,其中cam与处理器连接,可以实现上述s101至s104中的操作。下面以cam为上述监控设备为例进行说明。
[0095]
图4示出了本技术实施例提供的处理器负载的监控系统的示意性框图。如图4所示,根据单核工作状态(core active status,cas),cam可以通过单核工作状态计数器(core active counter,cac)统计处理器中核在各个子时间段内的工作时长t1cas、t2cas、

、t
n-1
cas、tncas,每隔一个子时间段输出一个在该子时间段内的处理器中核的工作时长的数据到缓存中,该缓存为先进先出(first input first output,fifo)存储器,同时cam可以将该工作时长的数据在寄存器中进行累加。当缓存被工作时长的数据填满之后,即将处理器中核在第一时间段内的所有子时间段内的工作时长统计完之后,cam可以通过比较模块对寄存器中累加的结果和预先设置的门限进行比较。当寄存器中累加的结果在上述门限范围内,cam可以采用滑窗策略,将缓存中的最早的工作时长的数据t1cas通过寄存器减去,cam可以继续上述步骤,通过cac统计处理器中核在第二时间段内的子时间段t
n+1
内的工作时长t
n+1
cas,并将该子时间段内的处理器中核的工作时长的数据保存到到缓存中,完成对处理器中核在第二时间段内的监控任务,为避免重复,此处不再赘述。
[0096]
可选地,当寄存器的累加结果不在门限范围内,cam还可以根据寄存器的累加结果,对处理器执行相应的负载均衡管理。下面分两种情况对处理器执行负载均衡管理进行说明。
[0097]
作为一个可选的实施例,上述处理器为单核处理器,上述方法还包括:若上述核在第一时间段内负载过重,升高频率和功率;或者,若上述核在第一时间段内负载过轻,降低频率和功率。
[0098]
图5为本技术实施例提供的单核处理器负载均衡管理操作的示意图。如图5所示,cam可以根据处理器中核的负载状态,对核采取相应的负载均衡管理。
[0099]
示例性地,当核在第一时间段内负载过重,说明处理器中核已经接近其最大算力,为提高处理器中核的处理效率,可以提高处理器中核的频率来加速当前任务的执行,提升频率之前需要提高功率。则如图5所示,cam可以通过直流电压转换单元将处理器的电压上调以实现升高功率的目的,通过时钟生成单元将处理器的时钟上调以实现升高频率的目的。
[0100]
示例性地,当核在第一时间段内负载过轻,说明处理器中核空闲过多,考虑总的系统功耗的约束前提下,可以降低频率和降低功率,以减少功耗。则如图5所示,cam可以通过直流电压转换单元将处理器的电压下调以实现降低功率的目的,通过时钟生成单元将处理器的时钟下调以实现降低频率的目的。
[0101]
上面介绍了单核处理器的负载均衡方法,下面介绍在众核处理器中,对处理器执行负载均衡管理的情况。图6为本技术实施例提供众核处理器的示意性框图。如图6所示,众核处理器中每个核可以对应一个cam。此处以一个核对应的一个cam为例,描述对在众核处理器的负载均衡方法。
[0102]
作为一个可选的实施例,上述处理器为众核处理器,上述核为小核,上述方法还包括:若上述核在第一时间段内负载过重,将上述小核上的负载迁移至处理器中的大核上,或者,提升上述小核的频率和功率;若上述核在上述第一时间段内负载过轻,降低上述小核的频率和功率。
[0103]
在一种可能的实现方式中,若众核处理器中小核在第一时间段内负载过轻,cam可以降低处理器中核的频率和功率。
[0104]
在另一种可能的实现方式中,若众核处理器中小核在第一时间段内负载过重,监控设备可以将上述小核上的负载迁移至众核处理器中的大核上。
[0105]
作为一个可选的实施例,上述处理器为众核处理器,上述核为大核,上述方法还包括:若上述核在第一时间段内负载过轻,将上述核上的负载迁移至处理器中的小核上,或者,降低上述大核的频率和功率;若上述核在第一时间段内负载重,提升上述大核的频率和功率。
[0106]
在一种可能的实现方式中,若众核处理器中大核在第一时间段内负载过重,cam可以上调该众核处理器中核的频率和功率。
[0107]
在另一种可能的实现方式中,若众核处理器中大核在第一时间段内负载过轻,则监控设备可以将上述大核上的负载迁移至众核处理器中的小核上。
[0108]
图7为本技术实施例提供的众核处理器负载均衡管理操作的示意图。如图7所示,上述众核处理器中的每个核对应一个直流电压转换单元和一个时钟生成单元,且众核处理器中每个核对应一个cam。其中,每个cam都可以独立控制其对应的直流电压转换单元和时钟生成单元以实现对频率和功率的调控。
[0109]
针对众核处理器中任一个小核而言,类似图5所示的情况,若小核在第一时间段内负载过轻,为降低功耗,可以降低所述小核的功率和频率,则cam可以通过直流电压转换单元将小核的电压下调以实现降低功率的目的,通过时钟生成单元将众核处理器中上述小核的时钟下调以实现降低频率的目的。
[0110]
针对众核处理器中任一个大核而言,类似图5所示的情况,若大核在第一时间段内负载过重,为提高大核的处理效率,可以提升大核的频率和功率,则cam可以通过直流电压转换单元将大核的电压上调以实现提升功率的目的,通过时钟生成单元将众核处理器中上述大核的时钟上调以实现提升频率的目的。
[0111]
可选地,当上述众核处理器中存在核在第一时间段内负载过轻或过重,cam可以将对众核处理器中对应核的负载监控的结果实时汇报给中央管理处理核。
[0112]
可选地,上述众核处理器中的每个核对应一个直流电压转换单元、一个时钟生成单元和一个cam。图8为本技术实施例提供的又一众核处理器负载均衡管理操作的示意图。如图8所示,存在一个独立运行的中央管理处理核,用于汇总众核处理器中多个核的负载情况,对该众核处理器中核的负载进行统一管理。在图8中,各个cam可以实时地汇报对上述处理器中其对应的核的负载的监控结果给中央管理处理核,中央管理处理核可以根据众核处理器中核的负载监控结果,通知与该核对应的cam通过直流电压转换单元和时钟生成单元对核进行调频率和调功率。
[0113]
针对众核处理器中任一个小核而言,当该小核在第一时间段内的负载过轻,cam可以实时地汇报对众核处理器中的该小核的负载的监控结果给中央管理处理核,中央管理处理核可以根据众核处理器中小核的负载监控结果,通知与该小核对应的cam通过直流电压转换单元将小核的电压下调以实现降低功率的目的,通过时钟生成单元将众核处理器中上述小核的时钟下调以实现降低频率的目的。
[0114]
针对众核处理器中任一个大核而言,当该大核在第一时间段内的负载过中,cam可以实时地汇报对众核处理器中的大核的负载的监控结果给中央管理处理核,中央管理处理核可以根据众核处理器中大核的负载监控结果,通知与该大核对应的cam通过直流电压转换单元将大核的电压上调以实现提升功率的目的,通过时钟生成单元将众核处理器中上述大核的时钟上调以实现提升频率的目的。
[0115]
可选地,上述众核处理器对应一个直流电压转换单元和一个时钟生成单元。图9为本技术实施例提供的又一众核处理器负载均衡管理操作的示意图,如图9所示,中央管理处理核可以综合考虑所有核的负载,根据核的负载的监控结果,通过直流电压转换单元和时钟生成单元对该众核处理器进行调频率和调功率。
[0116]
应理解,若众核处理器中核在第一时间段内负载过重或过轻,监控设备还可以将上述核上的负载迁移至众核处理器中的其他的核上。
[0117]
图10所示了本技术实施例提供的另一众核处理器负载的均衡管理的示意性框图,如图10所示,众核处理器中每个核对应一个cam,cam可以实时地汇报对众核处理器中核的负载的监控结果给中央管理处理核。中央管理处理核可以汇总众核处理器中多个核的负载情况,并在该众核处理器中的核在第一时间段内负载不正常的情况下,将该众核处理器中核的负载进行迁移。
[0118]
针对众核处理器中任一个小核而言,在该小核在第一时间段内负载过高的情况下,为提高上述众核处理器的处理效率,可以将该小核的负载迁移至该众核处理器中的负载较轻的大核上。针对众核处理器中任一个大核而言,在该大核在第一时间段内负载过轻的情况下,为降低功耗,可以将该大核的负载迁移至该众核处理器中的负载较重的小核上。在这种情况下,cam和中央管理处理核相当于上述监控设备。
[0119]
可选地,若众核处理器中小核在第一时间段内负载过重,cam还可以提升处理器中核的频率和功率。若众核处理器中大核在第一时间段内负载过轻,cam还可以降低处理器中核的频率和功率。
[0120]
可选地,当上述众核处理器中存在某个核在第一时间段内负载过轻或过重,且没有可以迁移的其他核时,中央管理处理核可以暂停上述核上的负载任务。
[0121]
在本技术实施例中,监控设备可以采用滑窗策略对处理器中核的负载进行监控,得到处理器中核的活跃信息,减少了对处理器负载的监控延迟,提高了系统的反应速度,进而提高负载迁移和相应的频率调节和功耗调节管理的及时性。
[0122]
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0123]
上文中结合图1至图10,详细描述了本技术实施例提供的处理器负载的监控方法,下面将结合附图11和图12,详细描述本技术实施例提供的处理器负载的监控装置。
[0124]
图11示出了本技术实施例提供的处理器负载的监控装置1100,包括:获取模块1101和处理模块1102。
[0125]
其中,获取模块1101,用于分别在第一时间段中的多个子时间段内统计处理器中核的工作时长,获得上述核在上述第一时间段内的第一活跃信息;处理模块1102,基于上述第一活跃信息,判断上述核在上述第一时间段内负载是否正常;上述获取模块1101,用于在上述核在上述第一时间段内负载正常的情况下,分别在第二时间段中的多个子时间段内统计上述核的工作时长,获得上述核在上述第二时间段内的第二活跃信息,上述第二时间段的开始时刻为上述第一时间段中的第一个子时间段的结束时刻,上述第二时间段的开始时刻属于上述第一时间段,且比上述第一时间段后延了一个或多个上述子时间段;上述处理模块1102,用于基于上述第二活跃信息,判断上述核在上述第二时间段内负载是否正常。
[0126]
可选地,上述第一活跃信息为上述核在上述第一时间段内的平均活跃度,上述平均活跃度是基于下列公式计算得到的:
[0127][0128]
其中,n为上述第一时间段中包含的上述子时间段的个数,ti为上述核在上述第一时间段中的第i个子时间段中的工作时长,ti为上述第一时间段中的第i个子时间段的时长。
[0129]
可选地,该处理模块1102,用于若上述第一活跃信息大于第一门限值,则确定上述核在上述第一时间段内负载过重;若上述第一活跃信息小于第二门限值,则确定上述核在上述第一时间段内负载过轻;或者,若上述第一活跃信息大于或等于上述第二门限值、且小于或等于上述第一门限值,则确定上述核在上述第一时间段内负载正常,所述第一门限值大于所述第二门限值。
[0130]
可选地,上述处理器为单核处理器,该处理模块1102,用于若上述核在上述第一时间段内负载过重,提升上述处理器的频率和功率;或者,若上述核在上述第一时间段内负载过轻,降低上述处理器的频率和功率。
[0131]
可选地,上述处理器为众核处理器,上述核为小核,该处理模块1102,用于若上述核在上述第一时间段内负载过重,将上述核上的负载迁移至上述处理器中的大核上;或者,
提升上述核的频率和功率;若上述核在上述第一时间段内负载过轻,降低上述核的频率和功率。
[0132]
可选地,上述处理器为众核处理器,上述核为大核,该处理模块1102,用于若上述核在上述第一时间段内负载过轻,将上述核上的负载迁移至上述处理器中的小核上,或者,降低上述核的频率和功率;若上述核在上述第一时间段内段内负载重,提升上述核的频率和功率。
[0133]
应理解,这里的装置1100以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,asic)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,装置1100可以具体为上述实施例中的监控设备,或者,上述实施例中监控设备的功能可以集成在装置1100中,装置1100可以用于执行上述方法实施例中与监控设备对应的各个流程和/或步骤,为避免重复,在此不再赘述。
[0134]
上述装置1100具有实现上述方法中监控设备执行的相应步骤的功能;上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
[0135]
在本技术的实施例,图11中的装置1100也可以是芯片或者芯片系统,例如:片上系统(system on chip,soc)。
[0136]
图12示出了本技术实施例提供的另一处理器负载的监控装置1200。该装置1200包括:处理器1201和存储器1202,通信接口1203以及总线1204。其中,存储器1202用于存储指令,该处理器1201用于执行该存储器1202存储的指令。处理器1201、存储器1202和通信接口1203通过总线1204实现彼此之间的通信连接。
[0137]
其中,处理器1201,用于分别在第一时间段中的多个子时间段内统计处理器中核的工作时长,获得上述核在上述第一时间段内的第一活跃信息;基于上述第一活跃信息,判断上述核在上述第一时间段内负载是否正常;在上述核在上述第一时间段内负载正常的情况下,分别在第二时间段中的多个子时间段内统计上述核的工作时长,获得上述核在上述第二时间段内的第二活跃信息,上述第二时间段的开始时刻属于所述第一时间段,且比所述第一时间段后延了一个或多个所述子时间段;以及,用于基于上述第二活跃信息,判断上述核在上述第二时间段内负载是否正常。
[0138]
应理解,装置1200可以具体为上述实施例中的监控设备,或者,上述实施例中监控设备的功能可以集成在装置1200中,装置1200可以用于执行上述方法实施例中与监控设备对应的各个步骤和/或流程。可选地,该存储器1202可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器1201可以用于执行存储器中存储的指令,并且该处理器执行该指令时,该处理器可以执行上述方法实施例中与监控设备对应的各个步骤和/或流程。
[0139]
应理解,在本技术实施例中,该处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、
分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0140]
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0141]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0142]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0143]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0144]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0145]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0146]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0147]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1