CN112181124B - 功耗管理的方法和相关设备 - Google Patents

功耗管理的方法和相关设备 Download PDF

Info

Publication number
CN112181124B
CN112181124B CN202010953911.1A CN202010953911A CN112181124B CN 112181124 B CN112181124 B CN 112181124B CN 202010953911 A CN202010953911 A CN 202010953911A CN 112181124 B CN112181124 B CN 112181124B
Authority
CN
China
Prior art keywords
voltage domain
voltage
load
power consumption
processor 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.)
Active
Application number
CN202010953911.1A
Other languages
English (en)
Other versions
CN112181124A (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010953911.1A priority Critical patent/CN112181124B/zh
Publication of CN112181124A publication Critical patent/CN112181124A/zh
Priority to PCT/CN2021/106819 priority patent/WO2022052626A1/zh
Priority to EP21865682.5A priority patent/EP4206863A4/en
Priority to US18/181,688 priority patent/US20230214002A1/en
Application granted granted Critical
Publication of CN112181124B publication Critical patent/CN112181124B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

本申请提供了一种功耗管理的方法及相关设备,可以用于管理包括多个电压域的设备功耗,并且每个电压域包括至少一个处理器核。该方法包括:在功耗管理时,识别多个电压域中满足预设条件的第一电压域,并将第一电压域中所有处理器核待执行的任务迁移至第二电压域,然后将第一电压域中器件的运行模式均设置为第一模式。以此实现了对设备功耗的管理。

Description

功耗管理的方法和相关设备
技术领域
本申请涉及能耗技术领域,尤其涉及一种功耗管理的方法、装置、调度器、设备和计算机可读存储介质。
背景技术
设备的能耗,与设备的运营成本密切相关,因此,如何管理设备的功耗,始终是影响设备运营成本的重要问题。传统方法主要针对处理器中处理器核少、处理器核间差异大的设备(例如,移动终端),结合处理器的当前使用率进行评估和调整,收益甚微,适用范围有限,无法满足所有类型处理器的需求。因此,如何提供一种适用性更广的功耗管理方法成为亟待解决的技术问题。
发明内容
本申请提供了一种功耗管理的方法、装置、调度器、设备和计算机可读存储介质,以提供一种适用性更广的功耗管理的方法。
第一方面,提供一种功耗管理的方法,该方法可以应用于包括多个电压域的设备上,其中,每个电压域中包括至少一个处理器核。在进行功耗管理的过程中,设备可以识别满足预设条件的第一电压域。该第一电压域为该设备中任意一个电压域,然后,该设备可以将第一电压域的处理器核待执行的任务迁移至第二电压域,而该第二电压域为设备中除第一电压域之外的其它电压域。在完成任务迁移后,设备可以将第一电压域中器件的运行模式设置为第一模式,该第一电压域中器件包括处理器核。如此,可以实现对多处理器核的设备功耗的管理,并且,上述对于设备的功耗管理方法不仅可以应用于处理器核少、处理器核间差异大的设备,而且,也可以应用于处理器核较多、处理器核间差异较小的设备(如SMP设备等),从而相对于传统方法对于设备的功耗管理,上述功耗管理方法的适用性更广。
另外,由于迁移后的第一电压域中的器件的运行模式均会被设置为第一模式,而当该第一模式为运行功耗更低或者最低的模式时,设备如此进行功耗管理,虽然第二电压域中处理器核的功耗增加,但是第一电压域中不仅所有处理器核的功耗可以得到降低,而且,该第一电压域中诸如QPI总线、一级缓存、二级缓存等器件的功耗也会得到降低,这使得设备整体的功耗可以得到降低。
实际应用中,设备可以降低多个电压域中的处理器核上执行的任务迁移至一个或者多个第二电压域上,并将多个第一电压域中的器件的运行模式设置为功耗更低的第一模式,如此,可以有效降低设备的功耗。
并且,设备可以将多个电压域中的任务迁移至第二电压域中,而对于每个第一电压域的识别、任务迁移以及运行模式设置的具体实现,可以如同上述对一个第一电压域的处理过程。
在一种可能的实施方式中,设备在识别满足预设条件的第一电压域时,具体可以是根据该设备中多个电压域的负载情况识别第一电压域,并且,所识别出的第一电压域的负载满足该预设条件。比如,可以将多个电压域中负载较小的电压域识别为第一电压域,或者,当多个电压域的总负载小于预设阈值时,设备可以将任意一个电压域识别为第一电压域,将其它任意一个电压域识别为第二电压域等。
在一种可能实施方式中,在根据设备中多个电压域的负载情况识别第一电压域时,设备具体可以是根据多个电压域的负载排序,选择该多个电压域中负载小于或者等于第一负载阈值的电压域作为第一电压域。通常情况下,电压域的负载较小时,该电压域中处理器核上的任务数量通常较少,因此,在将负载较小的第一电压域上的任务迁移至其它电压域时,所需迁移的任务量可以尽可能的较小。
在一种可能的实施方式中,上述第一负载阈值可以是多个电压域中负载最小的电压域的负载值。当然,在其它可能的实施方式中,该第一负载阈值也可以是预设的固定值等。
在一种可能的实施方式中,设备在识别满足预设条件的第一电压域时,具体可以是根据预设的负载均衡策略,识别第一电压域,比如,在该负载均衡策略指示出某个电压域的负载较小或者最小时,设备可以将该电压域识别为第一电压域。
在一种可能的实施方式中,设备在识别出第一电压域的同时,还可以识别出第二电压域,其中,第一电压域的负载较小,具体是小于第一负载阈值,而第二电压域的负载大于第二负载阈值,并且,该第二电压域为负载情况小于或者等于第三负载阈值的电压域。示例性的,该第二负载阈值可以大于或者等于第一负载阈值。当然,在其他可能的实施方式中,设备也可以是将任意一个除第一电压域之外的其它电压域识别为第二电压域等。
在一种可能的实施方式中,设备在将第一电压域中处理器核执行的任务迁移至第二电压域后,该第二电压域中处理器核的负载分布满足负载均衡策略,该负载均衡策略用于均衡第二电压域中处理器核的负载。具体实现时,设备可以根据该负载均衡策略,将第一电压域中的多个任务均衡迁移至第二电压域中的处理器核上,如此,可以尽可能避免在完成任务迁移后,第二电压域中部分处理器核的任务过高,负载过大,而该第二电压域中的其它处理器核的负载较小的情况,从而可以尽可能避免任务迁移而导致设备的性能降低。当然,在其它可能的实施方式中,设备也可以是将任务迁移至第二电压域中,然后再在第二电压域中对多个处理器核进行负载均衡处理。
在一种可能的实施方式中,当设备的多个电压域中存在负载大于第二负载阈值的电压域的数量大于预设数量时,设备可以根据该多个电压域的负载情况,对多个电压域进行负载均衡。在该实施方式中,当设备中存在较多数量的电压域的负载过大,则可以在设备中对所有电压域进行负载均衡,以尽可能避免设备中的部分电压域的负载过大而导致整个设备的性能被降低。而在其它可能的实施方式中,当设备的多个电压域中存在负载大于第二负载阈值的电压域,但是,该电压域的数量小于预设数量时,设备可以在部分电压域内进行负载均衡,当然,该部分电压域中包括负载大于第二复杂阈值的电压域。
在一种可能的实施方式中,设备可以是在处于低负载场景下时,识别第一电压域并进行任务迁移。具体的,设备可以计算多个电压域的总负载,并且,当多个电压域的总负载小于第四负载阈值时,识别出满足预设条件的第一电压域,以便进一步将该第一电压域中处理器核执行的任务迁移至第二电压域中。相应的,当设备的整体负载较高时,可以不进行任务迁移,或者进行部分任务迁移等,以避免完成任务迁移后,第二电压域的负载过大,从而降低设备的整体性能。
在一种可能的实施方式中,设备在识别满足预设条件的第一电压域之前,先识别出设备中电压域与处理器核的对应关系,以便于确定设备中的哪些处理器核被划分为一个电压域。实际应用中,可以是由设备中的BIOS系统通过读器件寄存器将电压域划分情况记录在ACPI表,然后,通过中断向设备上报该信息。
在一种可能的实施方式中,设备在将第一电压域中器件的运行模式设置为第一模式时,具体可以是先预测该第一电压域的处理器核的空闲时长,然后,根据该空闲时长,降低第一电压域中器件的运行模式设置为第一模式。实际应用中,第一电压域中器件的运行模式可以包括多种,而第一电压域中器件在进入每种运行模式时,都需要对其进入该运行模式的时长存在一定要求,因此,设备可以是通过预测第一电压域中器件的空闲时长,来确定将第一电压域中的器件的运行模式设置为哪个运行模式。
在一种可能的实施方式中,设备在将第一电压域中处理器核执行的任务迁移至第二电压域后,该第二电压域的负载不大于第五负载阈值。具体实现时,设备在进行任务迁移之前,可以先预测待迁移的该第一电压域中处理器核所执行的任务,在迁移至第二电压域后会使得第二电压域增加多少负载,并计算该预测的增加负载与第二电压域当前已有负载之和,然后判断该负载之和是否超过第四负载阈值。若不超过,则设备可以将第一电压域中处理器核执行的任务迁移至第二电压域中,而在完成任务迁移后,第二电压域的负载通常也小于该第四负载阈值。而若负载之和超过第四负载阈值,表征设备若是将第一电压域中的任务迁移至第二电压域中,则可能会使得第二电压域的负载超过该第四负载阈值,从而可能会因为第二电压域的负载过大而影响设备的性能,此时,设备可以不降低第一电压域中的任务迁移至第二电压域,或者仅迁移一部分任务至第二电压域等。
在一种可能的实施方式中,设备还可以在预设显示界面上呈现功耗管理结果,以便用户(如运维人员)查看。其中,所呈现的功耗管理结果,例如可以包括多个电压域中每个电压域的标识、功耗,以及处理器核的标识、运行模式、功耗、工作频率、电压、利用率、处于所述第一模式的时长占比,以及器件的温度中的任意一种或多种。通过界面呈现以电压域维度的功耗信息,可以让维护人员更直观了解设备的功耗情况。
在一种可能的实施方式中,电压域中的处理器核的电压被统一调节,具体可以是采用独立电源或者模块对电压域内所有的处理器核的电压进行统一控制。
第二方面,本申请提供一种功耗管理装置,所述功耗管理装置包括用于执行第一方面或第一方面任一种可能实现方式中的功耗管理方法的各个模块。
第三方面,本申请提供一种调度器,包括处理器和存储器;所述存储器,用于存储计算机指令;所述处理器,用于根据所述计算机指令执行如第一方面或第一方面任一种可能实现方式中的功耗管理方法的操作步骤。
第四方面,本申请提供了一种设备,该设备可以包括上述调度器,用于执行上述第一方面或第一方面任一种实现方式中的功耗管理方法的操作步骤。
第五方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面任一种可能实现方式中的所述的方法的操作步骤。
第六方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面任一种可能实现方式中的所述的方法的操作步骤。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请提供一种系统架构的示意图;
图2为本申请提供的一种电压域划分示意图;
图3为本申请提供的一种功耗管理方法的流程示意图;
图4为本申请提供的一种任务迁移前后电压域1以及电压域2中各个处理器核的负载示意图;
图5为本申请提供的一种显示界面示意图;
图6为本申请提供的一种功耗管理装置的结构示意图;
图7为本申请提供的一种调度器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请中的技术方案进行描述。
设备中可以配置有能耗感知调度器(Energy Aware Scheduler,EAS),该EAS为处理器核(core)安排进程执行任务的模块,可以根据处理器核的功耗、性能、负载差异等信息对任务在处理器核上的调度进行管理,以期望达到最大化性能和功耗比,即MAX(performance/power)。其中,设备的性能,包括但不限于设备的计算效率、计算能力等。
在对设备功耗进行管理时,可以尽可能的降低设备的功耗,以降低设备的运营成本,从而可以达到上述最大化性能和功耗比。其中,功耗,是指功率损耗,具体为该设备或者该设备上的器件等输入功率与输出功率的差额。对于设备功耗的管理,具体可以是对设备中各个处理器核的功耗以及与该处理器核相关的其它器件的功耗进行管理。但是,目前结合处理器的当前使用率来对设备进行功耗管理的方式,通常仅适用于处理器核少、处理器核间差异大的设备,而在其它设备上收益甚微。
基于此,本申请实施例提供了一种功耗管理方法,以实现对设备进行有效的功耗管理,并使得功耗管理方法的适应性更广。具体的,该功耗管理方法可以应用于包括多个电压域(voltage domain,VD)的设备中,并且每个电压域包括至少一个处理器核,同一电压域中的处理器核的电压可以被统一控制。在进行功耗管理过程中,该设备可以识别多个电压域中满足预设条件的第一电压域,并将该第一电压域中所有处理器核执行的任务均迁移至第二电压域,该第一电压域为多个电压域中的任意一个电压域,而该第二电压域为该设备中除第一电压域之外的其它电压域;在完成任务迁移后,第一电压域的处理器核上可以没有运行有任务,则设备可以将该第一电压域中器件的运行模式均设置为第一模式。其中,该第一电压域中包括可调整功耗的器件,器件包括处理器核,还包括与该处理器核关联的其它电子元器件,如快速通道互联(Quick Path Interconnect,QPI)总线、缓存、片上存储器的控制器等器件。如此,实现了对设备功耗的管理,并且,该功耗管理方法是通过任务迁移以及设置器件的运行模式的方式来实现对设备的功耗进行管理,这使得该功耗管理方法不仅可以适用于处理器核少、处理器核间差异大的设备,也可以是适用于处理器核多、处理器核间差异小的设备,如对称多处理器(symmetrical multi-processor,SMP)设备等。
并且,由于迁移后的第一电压域中所有器件的运行模式均会被设置为第一模式,当该第一模式为运行功耗更低或者最低的模式时,不仅可以降低第一电压域中处理器核的功耗,而且,也可以降低了该第一电压域中除处理器核之外的其它相关器件的功耗,如降低了QPI总线等器件的功耗,在合理调度处理任务的处理器核所在电压域的情况下,可以从电压域的维度进行调度和控制,尽量减少正在工作的电压域的数量,由此可以有效降低设备的整体功耗。
同时,在对设备进行功耗管理的过程中,任务调度过程所需的计算过程较为简单,这使得任务调度所需消耗的计算资源较低,任务调度时延较小。
示例性的,上述功耗管理方法所应用的设备,例如可以是具体多个电压域的计算设备、网络设备或存储设备等。其中,计算设备,例如可以是提供计算服务的服务器、智能终端等;网络设备,可以是接入网络并提供网络服务的设备等;存储设备,例如可以是存储服务器等。
作为一种示例,上述功耗管理方法所应用的设备,可以包括如图1所示的系统架构,并且,具体可以是由图1中所示的调度器102执行上述功耗管理过程。图1所示的系统架构,可以包括操作系统200以及包括多个处理器核的处理器300,并可以与前端应用100存在通信交互等。图1所示的系统架构,是以包括一个处理器300为例进行说明,实际应用中,可以是包括多个处理器。图1所示的处理器300中可以包括4个处理器核,分别为处理器核1、处理器核2、处理器核3以及处理器核4,并且,这4个处理器核可以根据物理硬件结构划分为两个电压域,每个电压域中的处理器核的电压可以进行统一控制。其中,处理器核1和处理器核2可以划入电压域1中,处理器核3以及处理器核4可以划入电压域2中。并且,在电压域1中,可以还包括与处理器核1以及处理器核2存在逻辑或者物理关联的其它器件,即图1中所示的关联器件1,该关联器件可以用于支持处理器核1以及处理器核2的运行,例如可以是QPI总线、三级缓存(L3cache)、片上存储器控制器(on-die memory controller)、窥探代理管道(snoop agent pipeline)、雷电控制器(thunderbolt controller)等器件中的一种或多种。同样的,在电压域2中,也可以包括与处理器核3以及处理器核4存在逻辑或者物理关联的其它器件,即关联器件2。
其中,电压域,可以理解为芯片(例如,处理器芯片)中允许进行电压统一控制的区域,同一区域可以采用独立的电压电源以及模块对处理器核的电压进行统一控制。同一芯片内可以包括一个或多个电压域。例如图2所示的设备中,同一处理器中包括2个电压域,每个电压域中的可以包括若干个处理器核。对于电压域1中的多个处理器核,可以利用电压控制模块1进行统一的电压控制,而对于电压域2中的多个处理器核,可以由电压控制模块2进行统一的电压控制。一个处理器中的多个处理器核可以被划分为不同的电压域,即一个处理器中可以包括有多个电压域。如图1中,处理器300可以包括两个不同的电压域。其中,电压控制模块1和电压控制模块2可以是图1中处理器300中器件或逻辑电路或者,也可以是由上述器件或逻辑电路实现的软件逻辑功能,用于对电压域中处理器核和关联器件进行功耗控制。可选地,对于图1所示的设备,也可以将电压控制模块1和电压控制模块2进行合并,由一个电压控制模块分别对两个电压域进行控制。
调度器201可以由软件实现,例如,调度器201可以是运行在操作系统200中计算机程序,用于进行任务调度。具体的,前端应用100可以产生一个或者多个任务,图1中以产生4个任务(任务1至任务4)为例进行示例性说明;调度器201可以将该这些任务调度至处理器1至处理器核4中的一个或者多个处理器核,以便由处理器核执行该任务。在调度过程中,调度器201可以采用上述功耗管理方法,将电压域1中的处理器核上的所有待执行任务均迁移至电压域2中的处理器核上,然后控制电压域1中的处理器核1、处理器核2以及关联器件1进入低功耗的运行模式。由此,调度器201完成对设备的功耗管理。
具体地,调度器201可以整合有系统调度单元2011、空闲时长预测单元2012、电压域识别单元2013以及工作频率调整单元2014。其中,系统调度单元2011用于在设备中负载过大的电压域的数量超过预设阈值时,为该设备中的所有电压域进行负载均衡,如Linux调度器(scheduler)。电压域识别单元2012,用于识别设备中处理器核的电压域分布情况,即识别设备中处理器核1以及处理器核2属于电压域1,处理器核3以及处理器核4属于电压域2。空闲时长预测单元2013,用于预测电压域中的处理器核的空闲时长,以便根据该处理器核的空闲时长将该处理器核的运行模式设置为相应的模式,如Linux的空闲模式(CPUidle)。工作频率调整单元2014,用于根据处理器核的负载对处理器核进行工作频率的调整,包括增加或者降低处理器核的工作频率等,如Linux的工作频率(CPUfreq)。
可选地,系统调度单元2011除了可以配置有上述对所有电压域进行负载均衡的策略以外,还可以配置有其它策略,如应用于在一个电压域中的负载均衡策略等,该调度器201可以在将第一电压域中的任务迁移至第二电压域的过程中,基于该负载均衡策略对第二电压域内的处理器核进行负载均衡。实际应用中,调度器201中的策略不局限于上述示例。
可选地,为了提升调度器的运算能力,也可以利用单独的硬件实现上述调度器的功能,例如,利用专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合实现上述调度器的功能。
应当理解,图1所示的系统架构仅作为一种示例性说明,并不用于对本实施例所适用的系统架构进行限定。实际应用中,可以对该系统架构中的部分器件或者功能模块、单元进行适应性增加、删减及替换等,比如,图1所示的前端应用也可以是位于设备上,或者,图1中的处理器300可以包括更多数量的处理器核,或者设备在包括处理器300的同时,还可以包括其它处理器。本实施例对此并不进行限定。
下面,参见图3所示,为本申请实施例中一种功耗管理方法的流程示意图,该方法可以应用于包括如图1所示的系统架构的设备,或者应用于其它包括多个电压域的设备中,本实施例对此并不进行限定。以应用于图1所示设备为例,如图3所示,功耗管理方法具体可以由图1中调度器201执行,具体方法包括:
S301:识别满足预设条件的第一电压域,其中,该第一电压域为该设备中的任意一个电压域。
示例性的,调度器在识别第一电压域之前,可以先识别出设备中各个处理器核与电压域之间的对应关系,即识别出该设备中哪些处理器核被划分为同一电压域,由此可以确定出设备中的各个电压域以及每个电压域中所包含的处理器核。所识别得到的处理器核与电压域之间的对应关系,可以保存在设备的存储区域,如内存等。在一些示例中,该设备中的基本输入输出系统(basic input output system,BIOS)系统可以通过读取硬件寄存器将电压域划分情况记录在设备中的高级配置和电源管理接口(Advanced Configurationand Power Interface,ACPI)表中,然后通过中断将电源管理接口表中的电压域划分情况上报给设备。
对于设备中的多个电压域,可以识别出该多个电压域中满足预设条件的电压域,为便于描述,以下将满足预设条件的电压域称之为第一电压域。
在一种可能的实施方式中,第一电压域满足预设条件,具体可以是第一电压域的负载满足预设条件,此时,在识别第一电压域时,可以是根据设备中多个电压域的负载情况选择第一电压域。其中,对于每个电压域,该电压域的负载,即为该电压域中所有处理器核的负载总和,其可以是通过设备中的任务负载跟踪(per-entity load tracking,PELT)模块。特别地,当处理器核的利用率超过80%时,可以利用处理器核的利用率描述处理器的负载,如用于描述处理器核负载的数值可以是处理器核的利用率的数值。
作为一种可能的实现方式,第一电压域的负载可以小于多个电压域中的其它电压域的负载。例如,可以对多个电压域按照负载大小进行排序,并根据该排序结果,从多个电压域中选择负载最小的作为第一电压域。
作为另一种可能的实现方式,第一电压域也可以是负载不大于第一负载阈值的电压域。其中,第一负载阈值,可以是多个电压域的负载中的最小值,相应的,第一电压域为多个电压域中负载最小的电压域。可选地,也可以根据经验或统计数据获得的值作为预设值来限定第一负载阈值,如10%等,此时,可以将多个电压域中负载小于10%的电压域确定为上述第一电压域。当然,上述确定第一电压域的实现方式仅作为一种示例,对于实际应用中如何从多个电压域中确定出负载相对较小的第一电压域的具体实现,本实施例对此并不进行限定。
作为另一种可能的实现方式,除了根据电压域的负载确定第一电压域外,具体实施过程中,也可以是根据其它方式确定第一电压域,如可以是将多个电压域中任务数量较小的电压域作为第一电压域等。其中,电压域的任务数量,即为该电压域中所有处理器核上执行的任务数量总和。或者,实际应用中,第一电压域的负载也可以高于多个电压域中其它电压域的负载,本实施例中对于如何确定第一电压域的具体实现并不进行限定。
S402:将所识别的第一电压域的处理器核待执行的任务迁移至第二电压域,该第二电压域为该设备中除第一电压域之外的电压域。
设备除了包括第一电压域以外,还包括不满足上述预设条件的第二电压域,比如,该第二电压域的负载大于第一电压域的负载等。示例性的,设备在识别出满足预设条件的第一电压域的同时,还可以识别出第二电压域。作为一种示例,设备可以将多个电压域中负载大于第二负载阈值,并且小于或等于第三负载阈值的电压域,识别为第二电压域。当然,也可以是采用其它方式确定第二电压域,如基于电压域中处理器核上待执行的任务数量进行确定等。
对于第一电压域中所有处理器核待执行的任务,设备可以将其迁移至第二电压域,具体是迁移至第二电压域中的处理器核上,以便由第二电压域中处理器核完成上述迁移的任务的处理。实际应用中,第一电压域中的处理器核可以配置有至少两个队列,包括队列1以及队列2,其中,队列1可以用于存储该处理器核正在执行的任务,而队列2可以用于存储该处理器核待执行的任务。同样,第二电压域中的处理器核也可以配置有两个队列,分别为用于存储该处理器核正在执行任务的队列3以及待执行的任务的队列4。此时,设备中的调度器在进行任务迁移时,具体可以是将队列2中待执行的任务迁移至队列中4中,以便于由第二电压域中的处理器核执行队列4中的任务。也就是说,处理器核待执行的任务包括处理器核正在执行的任务,以及该处理器核待执行的任务。
为使得第二电压域中的处理器核的负载在第二电压域内相对均衡,在一种可能的实施方式中,在将第一电压域的任务迁移至第二电压域时,设备可以基于负载均衡策略将第一电压域的任务均衡分配至第二电压域中的一个或多个处理器核,具体实现时,设备可以根据第二电压域中各个处理器核的负载情况,确定将各个任务分别迁移至第二电压域中的哪个处理器核,然后,根据所确定出的迁移策略将任务分别迁移至相应的处理器核执行。如此,可以使得第二电压域中的处理器核的负载分布满足负载均衡策略,尽可能避免任务迁移后,第二电压域中出现某个处理器核的负载过大而其它处理器核的负载较小的问题。而在其它可能的实施方式中,设备也可以是先将第一电压域的所有任务全部迁移至第二电压域后,再对第二电压域中的各个处理器核进行负载均衡。本实施例中,对于第二电压域内各个处理器核的负载处于均衡状态的具体实现并不进行限定。
如图4所示,以设备包括8个处理器核,并将8个处理器核划分为两个电压域(分别为电压域1和电压域2)为例进行说明。其中,电压域1中的4个处理器核的负载分别为5%、1%、0%、4%,电压域2中的4个处理器核的负载分别为2%、1%、0%、4%,则可以将电压域2中的全部任务迁移至电压域1中,并且,在任务迁移过程中或者任务迁移后,可以对电压域1中各个处理器核进行负载均衡。任务迁移后,电压域1以及电压域2中各个处理器核的负载如图4左下方所示。当然,实际应用中也可以是将电压域1中的全部任务迁移至电压域2中,并且电压域2中的各个处理器核的负载满足负载均衡策略,则,任务迁移后,电压域1以及第二电压域2中的各个处理器核的负载如图4右下方所示。特别的,由于在进行任务迁移之前,电压域1中4个处理器核的总负载为10%(即5%+1%+0%+4%),大于电压域2中4个处理器核的总负载7%(即2%+1%+0%+4%),因此,将电压域2中任务迁移至电压域1中,通常可以尽可能减少所需迁移的任务数量。
值得注意的是,本实施例中,处理器核之间的负载均衡,可以是指不同处理器核之间的负载差异处于预设范围内。比如,如图4所示,电压域1或者电压域2进行负载均衡后,电压域1或者电压域2中各个处理器核的负载之间的差异不超过1%。
实际应用中,基于设备的性能要求,可能要求第二电压域中各个处理器核的负载不能超过该第二电压域所允许承受的负载阈值,因此,在一些可能的实施方式中,设备在将第一电压域中所有处理器核执行的任务迁移至第二电压域之前,还可以根据执行待迁移的任务所需占用的负载和第二电压域可承担的负载情况,判断能够将第一电压域中所有处理器核执行的任务迁移至第二电压域。具体地,设备可以先计算第一电压域的负载以及第二电压域的负载之和,并判断该负载之和是否大于第二电压域对应的第五负载阈值。当该负载之和不大于第五负载阈值时,设备将第一电压域中所有处理器核执行的任务迁移至第二电压域;而当该负载之和大于第五负载阈值时,设备可以不进行任务迁移,或者将第一电压域中的部分任务迁移至第二电压域,或者将所有任务迁移至负载更小的电压域,否则第一电压源的任务迁移至第二电压域,会导致第二电压域的负载过大,从而影响设备的任务处理性能,如任务的处理时延过高等。
在另一些可能的实施方式中,当设备处于低负载场景时,设备才将第一电压域中的任务全部迁移至第二电压域,也就是说,当设备的所有电压域的负载低于预设值时,再执行第一电压域中处理器核的任务迁移。具体的,设备可以计算出各个电压域的负载,每个电压域的负载即为该电压域中各个处理器核的负载之和,然后,设备可以进一步计算出所有电压域的负载总和,并且,当所有电压域的总负载小于第四负载阈值时,设备处于低负载场景,并且,该设备可以从多个电压域中识别出第一电压域并将该第一电压域中的任务进行迁移;而当所有电压域的总负载不小于第四负载阈值时,设备不处于低负载场景,则设备可以不进行上述任务迁移过程。其中,第四负载阈值,例如可以是一个电压域所能允许的最大负载,或者,可以是多个电压域所能允许的最大负载之和。
示例性的,当设备为SMP设备时,可以基于下述公式确定该设备是否处于低负载场景:
total_until_avg<pd_capability*80%*N
其中,total_until_avg是指设备上所有处理器核的负载之和,pd_capability为单个电压域的计算能力,而pd_capability*80%为单独电压域所能允许的最大负载,N为电压域的数量,pd_capability*80%*N,即为上述第四负载阈值,并且,当N取值为1时,第四负载阈值为一个电压域所能允许的最大负载,而当N取值大于1时,第四负载阈值为多个电压域所能允许的最大负载之和。当然,上述公式仅作为一种示例性说明,并不用于限定用于确定设备是否处于低负载场景的具体实现局限于该示例。
S403:将第一电压域中器件的运行模式设置为第一模式,该器件包括处理器核。
本实施例中,第一电压域中器件包括第一电压域中消耗能源的器件,包括处理器核,以及用于支持处理器核的运行的其它器件,如QPI总线、片上存储器控制器等。封装在一个芯片或单元或逻辑电路的芯片(也可以称为package)可以包括一个或多个电压域,比如,处理器芯片是Intel(R)Xeon(R)Gold 6148CPU@2.40GHz这种处理器核的芯片,其可以包括两个及两个以上的电压域。
设备在将第一电压域中处理器核待执行的任务全部迁移至第二电压域后,第一电压域中的处理器核可以不再有待执行的任务,或者具有更少数量的待执行任务,此时,设备可以在完成任务迁移以及第一电压域中的处理器核执行完当前正在执行的任务后,将第一电压域中的所有器件(如整个package)的运行模式设置为功耗相对较低的模式,以下称之为第一模式。此时,处理器核和与处理器核关联的器件的运行模式相同。
通常情况下,当第一电压域中的任意一个处理器核未进入第一模式,则该第一电压域中的其它器件也无法进入第一模式,上述package也就无法被设置为第一模式;而当该第一电压域中的所有处理器核的运行模式均设置为第一模式时,第一电压域中用于支持该处理器核运行的其它器件的运行模式才能被设置为第一模式。
虽然,第二电压域中的处理器核因为需要执行任务的增加而导致功耗增加,但是实际应用中,处理器核的负载和功耗通常近似呈线性关系,因此,第一电压域中处理器核的功耗降低与第二电压域中处理器核的功耗增加可以近似相抵,而设备整体降低的能耗通常在于第一电压域中与处理器核相关的其它器件降低的功耗。因此,将第一电压域中所有处理器核以及非核器件的运行模式设置为低功耗的第一模式,能够实现有效降低设备的整体功耗。其中,任务迁移所造成的额外功耗通常远小于第一电压域中与处理器核相关的其它器件降低的功耗,因此,对于任务迁移所造成的额外功耗,本实施例中可以忽略不计。
示例性的,设备可以支持处理器核处于多种不同的运行模式。以Intel(R)Xeon(R)Gold 6148CPU@2.40GHz为例,设备可以支持处理器核处于C0、C1、C1E、C6这4种不同的运行模式。其中,C0模式为正常运行模式,处理器核在C0模式下的功耗通常高于处理器核在其它运行模式下的功耗;C6为深度节能模式,处理器核在C6模式下的功耗通常低于处理器核在其它运行模式下的功耗。其中,处理器核在C0、C1、C1E以及C6这4种不同的运行模式下的功耗依次降低。当然,设备还可以支持其它可能的运行模式,本实施例对此并不进行限定。
本实施例中,第一电压域的任务在迁移至第二电压域之前,第一电压域中的各个处理器核的运行模式可以是第二模式,而在设备完成任务迁移后,设备可以将第一电压域中各个处理器核的运行模式设置为第一模式,处理器核在该第一模式下的功耗小于处理器核在第二模式下的功耗。比如,第二模式可以是C0模式,而第一模式可以是C1模式、C1E模式或者C6模式等。
值得注意的是,不同运行模式可能对于处理器核具有不同的驻留时长要求,该驻留时长即为处理器核处于该运行模式时所要求达到的时长,或者该驻留时长也可以用处理器核在运行模型下的工作频率进行表征。通常情况下,处理器核在进入以及退出该运行模式时具有额外功耗,而处理器核进入该运行模式所能停留的时长达到该驻留时长(或频率)时,设备所能节省的功耗能够抵消该处理器核进入以及退出该运行模式时所造成的额外功耗,同时,也可以是避免处理器核因为进入不合适的运行模式而频繁切换处理器核的运行模式。在C1至C6的运行模式中,每种运行模式都有对应的驻留时长。
因此,在一些可能的实施方式中,设备在设置第一电压域中所有器件的运行模式时,可以预测该第一电压域的处理器核的空闲时长,该空闲时长即为处理器核不执行任务的时长,然后,设备可以将该空闲时长与各个运行模式对应的驻留时长进行比较,确定出小于该空闲时长的最大驻留时长,该最大驻留时长对应的运行模式即为第一模式,而设备可以将第一电压域中的所有处理器核以及非核器件的运行模式设置为该第一模式。
例如,C1、C1E以及C6运行模式对应的驻留时长依次为2us(微秒)、10us、50us,若设备预测第一电压域中处理器核的空闲时长为55us,由于55us大于50us,则设备可以选择将C6运行模式作为第一模式,并将第一电压域的处理器核的运行模式设置为C6模式;而若设备预测第一电压域中处理器核的空闲时长为30s,由于10us<30us<50us,因此,设备可以选择将C1E运行模式作为第一模式,并将该第一电压域的处理器核以及非核器件的运行模式设置为C1E模式。
示例性的,设备在预测处理器核的空闲时长时,具体可以是根据处理器核在过去多个不同时间段内的预测出的空闲时长以及实际空闲时长,计算出每个时间段内预测出的空闲时长以及实际空闲时长之间的比率,以此可以得到多个不同时间段对应的比率值。然后,设备可以采用动态平均算法,根据多个时间段对应的比率值对当前预测出的初始空闲时长进行调整,得到最终预测出的空闲时长,比如,设备可以计算多个比率值的平均值,并将该平均值与初始空闲时长时间的乘积,作为设备在当前时间段预测出的处理器核的空闲时长。
当然,设备也可以是采用其它方式对处理器核的空闲时长进行预测,或者是采用比上述示例更加复杂/简化的计算过程或者采用其它方式确定第一模式,本实施例对此并不进行限定。
另外,第二电压域中处理器核所执行的任务增加后,设备还可以根据该处理器核的负载,调整处理器核的工作频率,例如增加该处理器核的工作频率,以使得该处理器核能够在单位时间内执行更多的任务,从而尽可能保证设备的性能不被降低。
实际应用的一些场景中,设备的多个电压域中,可能存在部分电压域的负载过高,比如,部分电压域的负载可能已经超出该电压域所能允许的第二负载阈值,则设备可以针对于该部分电压域进行负载均衡。其中,设备可以是根据负载超出第二负载阈值的数量确定进行局部负载均衡还是全局负载均衡。具体的,设备可以根据各个电压域的负载确定多个电压域中负载大于第二负载阈值的电压域的数量,当该数量大于预设数量时,设备可以根据多个电压域的负载情况,对多个电压域进行负载均衡,而当该数量小于预设数量时,设备可以根据多个电压域中的部分电压域的负载情况,对部分电压域进行负载均衡,该部分电压域中包括负载大于第二负载阈值的电压域以及负载小于第二负载阈值的电压域。
比如,假设设备包括80个处理器核,并且该80个处理器核可以被划分为20个电压域,则当负载大于第二负载阈值的电压域的数量不超过5个时,可以选取10个负载小于第二负载阈值的电压域,并利用所选取的10个电压域对负载大于第二负载阈值的电压域进行负载均衡;而当负载大于第二负载阈值的电压域的数量超过5个时,则设备可以在20个电压域内进行负载均衡。
进一步的,设备在进行功耗管理时,还可以呈现该设备的功耗管理结果,以便用户查看。示例性的,该设备的功耗管理结果,可以包括处理器、电压域、处理器核等多个不同维度的信息。比如,功耗管理结果可以包括各个处理器的功耗管理结果、每个处理器中各个电压域的功耗管理结果、每个电压域中各个处理器核的功耗管理结果等。在一种示例中设备可以通过预设显示界面呈现该设备的功耗管理结果,该预设显示界面可以位于该设备上,也可以是由设备将该功耗管理结果传输给其它设备,并通过其它设备的显示界面进行信息呈现。其中,在预设显示界面上所呈现的功耗管理结果,可以包括处理器的功耗、标识、利用率等信息,各个电压域的功耗、标识等信息,每个电压域中的处理器核的标识、运行模式、功耗、工作频率、电压、利用率、处于各个运行模式的时长占比,以及器件温度(包括处理器核的温度以及与处理器核关联的器件的温度)等信息中的任意一种或者多种。如图5所示,可以在界面上呈现设备中处理器的利用率、利用率的动态变化曲线以及数值、运行进程以及线程数量、正常运行时间等。当用户期望进一步查看该处理器的相关信息,用户通过点击“具体详情”,可以在弹出的显示界面中查看到处理器中不同电压域的标识、处理器核的标识、处理器核所处的运行模式、处理器核的功耗以及工作频率等信息。进一步的,用户还可以点击该显示界面中的“其它信息”以查看该处理器的其它相关信息,如处理器核的运行时长、故障处理等信息;或者,用户通过点击该显示界面中的“其它信息”查看第一点电压域中与处理器核关联的其它器件的信息,如其它器件的温度、使用率、负载等信息(图中未示出)。
本实施例中,是以一个第一电压域为例进行示例性说明,实际应用中,设备可以将多个第一电压域中的任务迁移至其它电压域中,当然,进行任务迁移的第一电压域的数量小于设备中电压域的总数量。针对于每个第一电压域,设备所执行的识别、任务迁移以及运行模式设置的具体实现过程,可以参见上述实施例中的相关描述,在此不做赘述。
需要说明的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制。
本领域的技术人员根据以上描述的内容,能够想到的其他合理的步骤组合,也属于本申请的保护范围内。其次,本领域技术人员也应该熟悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必须的。
上文中结合图1至图5,详细描述了本申请所提供的功耗管理方法,下面将结合图6至图7,描述根据本申请所提供的功耗管理装置和设备。
图6为本申请提供的一种功耗管理装置600,该功耗管理装置600可以应用于包括多个电压域的设备,并且,每个电压域中包括至少一个处理器核,该功耗管理装置600可以包括:
识别模块601,用于识别满足预设条件的第一电压域,所述第一电压域为所述设备中任意一个电压域;
任务迁移模块602,用于将所述第一电压域的处理器核待执行的任务迁移至第二电压域,所述第二电压域为所述设备中除所述第一电压域之外的电压域;
设置模块603,用于将所述第一电压域中器件的运行模式设置为第一模式,所述器件包括所述处理器核。
应理解的是,本申请实施例的装置600可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logicdevice,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logicaldevice,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现图3所示的功耗管理方法时,装置600及其各个模块也可以为软件模块。
在一种可能的实施方式中,所述识别模块601,具体用于:
根据所述设备中多个电压域的负载情况识别所述第一电压域,所述第一电压域的负载满足所述预设条件。
在一种可能的实施方式中,所述识别模块601,具体用于:
根据所述多个电压域的负载排序,选择所述多个电压域中负载小于或等于第一负载阈值的电压域为所述第一电压域。
在一种可能的实施方式中,所述第一负载阈值为所述多个电压域中负载最小的电压域的负载值。
在一种可能的实施方式中,所述识别模块,具体用于:
根据预设负载均衡策略,识别所述第一电压域。
在一种可能的实施方式中,所述识别模块601,还用于:
根据所述设备中多个电压域的负载情况识别所述第二电压域,所述第二电压域的负载大于第二负载阈值,所述第二电压域为负载情况小于或等于第三负载阈值的电压域。
在一种可能的实施方式中,所述识别模块601,具体用于:
当所述多个电压域的总负载小于第四负载阈值时,识别满足预设条件的第一电压域。
在一种可能的实施方式中,所述识别模块601,还用于在识别满足预设条件的第一电压域之前,识别所述设备中电压域和处理器核的对应关系。
在一种可能的实施方式中,所述设置模块,具体用于:
预测所述第一电压域的处理器核的空闲时长;
根据所述空闲时长,将所述第一电压域中器件的运行模式设置为所述第一模式。
在一种可能的实施方式中,所述功耗管理装置600,还包括:
呈现模块604,用于在预设显示界面呈现功耗管理结果,所述功耗管理结果包括所述多个电压域中每个电压域的标识、功耗,以及处理器核的标识、运行模式、功耗、工作频率、电压、利用率、处于所述第一模式的时长占比,以及所述器件的温度中的任意一种或多种
在一种可能的实施方式中,在所述任务迁移至所述第二电压域后,所述第一电压域中处理器核的负载分布满足负载均衡策略,所述负载均衡策略用于均衡所述第一电压域中处理器核的负载。
在一种可能的实施方式中,所述功耗管理装置600,还包括:
负载均衡模块605,用于当所述多个电压域中存在负载大于第二负载阈值的电压域的数量大于预设数量时,根据所述多个电压域的负载情况,对所述多个电压域进行负载均衡。
在一种可能的实施方式中,所述第二电压域的负载不大于第五负载阈值。
在一种可能的实施方式中,所述电压域中的处理器核的电压能够被统一调节。
根据本申请实施例的功耗管理装置600可对应于执行本申请实施例中描述的方法,并且功耗管理装置600中的各个单元的上述和其它操作和/或功能分别为了实现图3中的各个方法的相应流程,为了简洁,在此不再赘述。
图7为本申请提供的一种调度器700的示意图,如图所示,所述调度器700包括处理器701、存储介质702、通信接口703和内存单元704。其中,处理器701、存储介质702、通信接口703、内存单元704通过总线705进行通信,也可以通过无线传输等其他手段实现通信。该存储器702用于存储指令,该处理器701用于执行该存储器702存储的指令。该存储器702存储程序代码,且处理器701可以调用存储器702中存储的程序代码执行以下操作:
识别满足预设条件的第一电压域,所述第一电压域为设备中任意一个电压域,该设备包括多个电压域,并且,每个电压域中包括至少一个处理器核;
将所述第一电压域的处理器核执行的任务迁移至第二电压域,所述第二电压域为所述设备中除所述第一电压域之外的电压域;
将所述第一电压域中器件的运行模式设置为第一模式,所述器件包括所述处理器核。
应理解,在本申请实施例中,该处理器701可以是CPU,该处理器701还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立器件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
该存储器702可以包括只读存储器和随机存取存储器,并向处理器701提供指令和数据。存储器702还可以包括非易失性随机存取存储器。例如,存储器702还可以存储设备类型的信息。
该存储器702可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
该通信接口703用于与调度器700连接的其它设备进行通信,如调度器700可以通过通信接口703获取该包括多个电压域的设备中电压域的划分情况等。该总线705除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线705。
应理解,根据本申请实施例的调度器700可对应于本申请实施例中的功耗管理装置600,并可以对应于执行根据本申请实施例中图3所示方法中的相应主体,并且调度器700中的各个模块的上述和其它操作和/或功能分别为了实现图3中的各个方法的相应流程,为了简洁,在此不再赘述。
此外,本申请还提供了一种设备,该设备中可以包括上述图7所示的调度器700,该设备可以实现图3中的各个方法的相应流程,为了简洁,在此不再赘述。
此外,本申请还提供了一种计算机程序产品,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solidstate disk,SSD))等。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。
另外需说明的是,以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。另外,本申请提供的装置附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (23)

1.一种功耗管理的方法,其特征在于,所述方法应用于设备,所述设备包括多个电压域,每个电压域中包括至少一个处理器核,所述方法包括:
识别满足预设条件的第一电压域,所述第一电压域为所述设备中任意一个电压域;
将所述第一电压域的处理器核待执行的任务迁移至第二电压域,所述第二电压域为所述设备中除所述第一电压域之外的电压域;
将所述第一电压域中所有器件的运行模式设置为第一模式,所述器件包括所述处理器核以及关联器件,所述关联器件用于支持所述处理器核的运行。
2.根据权利要求1所述的方法,其特征在于,所述识别满足预设条件的第一电压域,包括:
根据所述设备中多个电压域的负载情况识别所述第一电压域,所述第一电压域的负载满足所述预设条件。
3.根据权利要求2所述的方法,其特征在于,所述根据所述设备中多个电压域的负载情况识别所述第一电压域,包括:
根据所述多个电压域的负载排序,选择所述多个电压域中负载小于或等于第一负载阈值的电压域为所述第一电压域。
4.根据权利要求3所述的方法,其特征在于,所述第一负载阈值为所述多个电压域中负载最小的电压域的负载值。
5.根据权利要求1所述的方法,其特征在于,所述识别满足预设条件的第一电压域,包括:
根据预设负载均衡策略,识别所述第一电压域。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
根据所述设备中多个电压域的负载情况识别所述第二电压域,所述第二电压域的负载大于第二负载阈值,所述第二电压域为负载情况小于或等于第三负载阈值的电压域。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述识别满足预设条件的第一电压域,包括:
当所述多个电压域的总负载小于第四负载阈值时,识别满足预设条件的第一电压域。
8.根据权利要求1所述的方法,其特征在于,在识别满足预设条件的第一电压域之前,所述方法还包括:
识别所述设备中电压域和处理器核的对应关系。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述将所述第一电压域中所有器件的运行模式设置为第一模式,包括:
预测所述第一电压域的处理器核的空闲时长;
根据所述空闲时长,将所述第一电压域中所有器件的运行模式设置为所述第一模式。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:
在预设显示界面呈现功耗管理结果,所述功耗管理结果包括所述多个电压域中每个电压域的标识、功耗,以及处理器核的标识、运行模式、功耗、工作频率、电压、利用率、处于所述第一模式的时长占比,以及器件的温度中的任意一种或多种。
11.一种功耗管理的装置,其特征在于,所述装置应用于设备,所述设备包括多个电压域,每个电压域中包括至少一个处理器核,所述装置包括:
识别模块,用于识别满足预设条件的第一电压域,所述第一电压域为所述设备中任意一个电压域;
迁移模块,用于将所述第一电压域的处理器核待执行的任务迁移至第二电压域,所述第二电压域为所述设备中除所述第一电压域之外的电压域;
设置模块,用于将所述第一电压域中所有器件的运行模式设置为第一模式,所述器件包括所述处理器核以及关联器件,所述关联器件用于支持所述处理器核的运行。
12.根据权利要求11所述的装置,其特征在于,所述识别模块,具体用于根据所述设备中多个电压域的负载情况识别所述第一电压域,所述第一电压域的负载满足所述预设条件。
13.根据权利要求12所述的装置,其特征在于,所述识别模块,具体用于根据所述多个电压域的负载排序,选择所述多个电压域中负载小于或等于第一负载阈值的电压域为所述第一电压域。
14.根据权利要求13所述的装置,其特征在于,所述第一负载阈值为所述多个电压域中负载最小的电压域的负载值。
15.根据权利要求11所述的装置,其特征在于,所述识别模块,具体用于根据预设负载均衡策略,识别所述第一电压域。
16.根据权利要求11至15任一项所述的装置,其特征在于,所述识别模块,还用于根据所述设备中多个电压域的负载情况识别所述第二电压域,所述第二电压域的负载大于第二负载阈值,所述第二电压域为负载情况小于或等于第三负载阈值的电压域。
17.根据权利要求11至16任一项所述的装置,其特征在于,所述识别模块,具体用于当所述多个电压域的总负载小于第四负载阈值时,识别满足预设条件的第一电压域。
18.根据权利要求11所述的装置,其特征在于,所述识别模块,还用于在识别满足预设条件的第一电压域之前,识别所述设备中电压域和处理器核的对应关系。
19.根据权利要求11至18中任一项所述的装置,其特征在于,所述设置模块,具体用于:
预测所述第一电压域的处理器核的空闲时长;
根据所述空闲时长,将所述第一电压域中所有器件的运行模式设置为所述第一模式。
20.根据权利要求11至19任一项所述的装置,其特征在于,所述装置还包括:
呈现模块,用于在预设显示界面呈现功耗管理结果,所述功耗管理结果包括所述多个电压域中每个电压域的标识、功耗,以及处理器核的标识、运行模式、功耗、工作频率、电压、利用率、处于所述第一模式的时长占比,以及器件的温度中的任意一种或多种。
21.一种调度器,其特征在于,包括处理器和存储器;
所述存储器,用于存储计算机指令;
所述处理器,用于根据所述计算机指令执行如权利要求1至10任一项所述方法的操作步骤。
22.一种电子设备,其特征在于,所述设备包括权利要求21所述调度器,用于实现如权利要求1至10任一项所述方法的操作步骤。
23.一种计算机可读存储介质,其特征在于,包括指令,所述指令用于实现如权利要求1至10中任一项所述方法的操作步骤。
CN202010953911.1A 2020-09-11 2020-09-11 功耗管理的方法和相关设备 Active CN112181124B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010953911.1A CN112181124B (zh) 2020-09-11 2020-09-11 功耗管理的方法和相关设备
PCT/CN2021/106819 WO2022052626A1 (zh) 2020-09-11 2021-07-16 功耗管理的方法和相关设备
EP21865682.5A EP4206863A4 (en) 2020-09-11 2021-07-16 POWER CONSUMPTION MANAGEMENT METHOD AND APPARATUS
US18/181,688 US20230214002A1 (en) 2020-09-11 2023-03-10 Power Consumption Management Method and Related Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010953911.1A CN112181124B (zh) 2020-09-11 2020-09-11 功耗管理的方法和相关设备

Publications (2)

Publication Number Publication Date
CN112181124A CN112181124A (zh) 2021-01-05
CN112181124B true CN112181124B (zh) 2023-09-01

Family

ID=73920559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010953911.1A Active CN112181124B (zh) 2020-09-11 2020-09-11 功耗管理的方法和相关设备

Country Status (4)

Country Link
US (1) US20230214002A1 (zh)
EP (1) EP4206863A4 (zh)
CN (1) CN112181124B (zh)
WO (1) WO2022052626A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181124B (zh) * 2020-09-11 2023-09-01 华为技术有限公司 功耗管理的方法和相关设备
CN113093899B (zh) * 2021-04-09 2022-03-22 思澈科技(上海)有限公司 一种跨电源域数据传输方法
WO2022246759A1 (zh) * 2021-05-27 2022-12-01 华为技术有限公司 一种功耗调节方法及装置
CN117093278B (zh) * 2023-10-16 2024-03-15 荣耀终端有限公司 内核关机方法、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901042A (zh) * 2010-08-27 2010-12-01 上海交通大学 多gpu系统中基于动态任务迁移技术的降功耗方法
CN104679586A (zh) * 2013-10-31 2015-06-03 三星电子株式会社 包括异构多核处理器的电子系统及其操作方法
CN105487634A (zh) * 2015-11-24 2016-04-13 无锡江南计算技术研究所 一种面向异构众核芯片的量化功耗控制方法
CN106502779A (zh) * 2014-03-28 2017-03-15 哈尔滨工业大学 一种基于NoC多核同构系统的负载判断方法的任务迁移方法
CN106980492A (zh) * 2016-01-15 2017-07-25 英特尔公司 用于确定处理器核上的工作布置的系统、方法和设备
CN107209548A (zh) * 2015-02-13 2017-09-26 英特尔公司 在多核处理器中执行功率管理
CN109766190A (zh) * 2019-01-15 2019-05-17 无锡华云数据技术服务有限公司 云资源调度方法、装置、设备及存储介质
CN110764605A (zh) * 2019-10-30 2020-02-07 Oppo广东移动通信有限公司 多核处理器控制方法、装置、电子设备及存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6578174B2 (en) * 2001-06-08 2003-06-10 Cadence Design Systems, Inc. Method and system for chip design using remotely located resources
US7437581B2 (en) * 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
DE112009001700B4 (de) * 2008-07-22 2019-02-07 Toyota Jidosha Kabushiki Kaisha Multikernsystem, fahrzeugseitige elektronische Steuerungseinheit und Aufgabenumschaltverfahren
US8166319B2 (en) * 2009-07-02 2012-04-24 Telefonaktiebolaget L M Ericsson (Publ) Methods and systems for use-case aware voltage selection
US20140173623A1 (en) * 2012-12-17 2014-06-19 Mediatek Inc. Method for controlling task migration of task in heterogeneous multi-core system based on dynamic migration threshold and related computer readable medium
KR20140080058A (ko) * 2012-12-20 2014-06-30 삼성전자주식회사 멀티코어를 위한 로드 밸런싱 방법 및 휴대 단말
US9442559B2 (en) * 2013-03-14 2016-09-13 Intel Corporation Exploiting process variation in a multicore processor
US9292293B2 (en) * 2013-08-08 2016-03-22 Qualcomm Incorporated Intelligent multicore control for optimal performance per watt
KR102205836B1 (ko) * 2014-01-29 2021-01-21 삼성전자 주식회사 태스크 스케줄링 방법 및 장치
KR20150136345A (ko) * 2014-05-27 2015-12-07 삼성전자주식회사 태스크 그룹 전달 방법 및 이를 제공하는 전자 장치
KR20160004152A (ko) * 2014-07-02 2016-01-12 삼성전자주식회사 멀티 프로세서의 태스크(task) 우선순위 결정 방법 및 이를 구현하는 전자장치
US9696787B2 (en) * 2014-12-10 2017-07-04 Qualcomm Innovation Center, Inc. Dynamic control of processors to reduce thermal and power costs
US10055259B2 (en) * 2015-05-26 2018-08-21 Mediatek Inc. Method for performing processor resource allocation in an electronic device, and associated apparatus
KR102501240B1 (ko) * 2016-03-18 2023-02-17 삼성전자주식회사 태스크 스케줄링 방법 및 이를 구현한 전자 장치
WO2018165111A1 (en) * 2017-03-06 2018-09-13 Sonics, Inc. An operating point controller for circuit regions in an integrated circuit
CN108664367B (zh) * 2017-03-28 2022-05-10 华为技术有限公司 一种基于处理器的功耗控制方法及装置
CN110609601A (zh) * 2019-08-26 2019-12-24 西安理工大学 一种低功耗的处理器寄存器堆控制方法
US11861020B2 (en) * 2020-06-26 2024-01-02 Intel Corporation Generating keys for persistent memory
US11489776B2 (en) * 2020-07-28 2022-11-01 Arista Networks, Inc. Multicore offloading of network processing
CN112181124B (zh) * 2020-09-11 2023-09-01 华为技术有限公司 功耗管理的方法和相关设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901042A (zh) * 2010-08-27 2010-12-01 上海交通大学 多gpu系统中基于动态任务迁移技术的降功耗方法
CN104679586A (zh) * 2013-10-31 2015-06-03 三星电子株式会社 包括异构多核处理器的电子系统及其操作方法
CN106502779A (zh) * 2014-03-28 2017-03-15 哈尔滨工业大学 一种基于NoC多核同构系统的负载判断方法的任务迁移方法
CN107209548A (zh) * 2015-02-13 2017-09-26 英特尔公司 在多核处理器中执行功率管理
CN105487634A (zh) * 2015-11-24 2016-04-13 无锡江南计算技术研究所 一种面向异构众核芯片的量化功耗控制方法
CN106980492A (zh) * 2016-01-15 2017-07-25 英特尔公司 用于确定处理器核上的工作布置的系统、方法和设备
CN109766190A (zh) * 2019-01-15 2019-05-17 无锡华云数据技术服务有限公司 云资源调度方法、装置、设备及存储介质
CN110764605A (zh) * 2019-10-30 2020-02-07 Oppo广东移动通信有限公司 多核处理器控制方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
EP4206863A1 (en) 2023-07-05
EP4206863A4 (en) 2024-03-06
US20230214002A1 (en) 2023-07-06
WO2022052626A1 (zh) 2022-03-17
CN112181124A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
CN112181124B (zh) 功耗管理的方法和相关设备
US11500439B2 (en) Method and apparatus for performing power analytics of a storage system
US9323574B2 (en) Processor power optimization with response time assurance
CN109684074B (zh) 物理机资源分配方法及终端设备
US10277523B2 (en) Dynamically adapting to demand for server computing resources
US9104498B2 (en) Maximizing server utilization within a datacenter
CN107562512B (zh) 一种迁移虚拟机的方法、装置及系统
US20130080814A1 (en) Computational cluster power consumption and availability management
CN112445857A (zh) 一种基于数据库的资源配额管理方法和装置
JP2014130474A (ja) 情報処理システム制御装置、該プログラム、及び該方法
US20220269537A1 (en) Artificial intelligence (ai) workload sharing system and method of using the same
US20240264875A1 (en) Method, apparatus, system, device, medium and program product for resource scheduling
US20180253236A1 (en) System and method for dynamic control of shared memory management resources
CN112100034A (zh) 一种业务监控方法和装置
US20150304177A1 (en) Processor management based on application performance data
US20240134688A1 (en) Job processing method and apparatus, computer device, and storage medium
KR101890046B1 (ko) 전력 소비 감소를 위한 동시적 네트워크 애플리케이션 스케줄링
CN117097646A (zh) 尾延迟调整方法及装置
CN109960572B (zh) 设备资源管理方法和装置以及智能终端
US11507427B2 (en) Application program management method and apparatus
US20130054988A1 (en) Integrated circuit device, signal processing system and method for managing power resources of a signal processing system
CN114090201A (zh) 资源调度方法、装置、设备及存储介质
CN114598705B (zh) 消息负载均衡方法、装置、设备和介质
CN114071770B (zh) 基于智能通信管理网关的通信控制方法和装置
US20230393891A1 (en) Application performance enhancement system and method based on a user&#39;s mode of operation

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
GR01 Patent grant
GR01 Patent grant