CN114384995A - 一种功耗管理方法、装置 - Google Patents

一种功耗管理方法、装置 Download PDF

Info

Publication number
CN114384995A
CN114384995A CN202110089298.8A CN202110089298A CN114384995A CN 114384995 A CN114384995 A CN 114384995A CN 202110089298 A CN202110089298 A CN 202110089298A CN 114384995 A CN114384995 A CN 114384995A
Authority
CN
China
Prior art keywords
resource
resource area
computer system
load
power consumption
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
CN202110089298.8A
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.)
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 EP21881889.6A priority Critical patent/EP4227769A4/en
Priority to PCT/CN2021/123128 priority patent/WO2022083471A1/zh
Publication of CN114384995A publication Critical patent/CN114384995A/zh
Priority to US18/304,100 priority patent/US20230259186A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes 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/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/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/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)

Abstract

本申请公开了一种功耗管理方法、装置,其中,功耗管理方法应用于计算机系统,该计算机系统中计算资源或通信资源等资源包括第一资源区以及第二资源区,并且,第一资源区提供的资源包括计算资源或通信资源,用于支持第一资源区的负载。当满足负载迁移条件时,计算机系统可以将第一资源区的负载迁移至第二资源区,此时,第一资源区中的负载减少或者没有负载,因此,计算机系统可以将第一资源区中器件的运行状态设置为功耗更低的状态,例如可以是将其设置为功耗更低的睡眠状态甚至是下电状态等,如此,第一资源区的功耗可以得到降低,从而可以实现计算机系统的整体功耗降低。

Description

一种功耗管理方法、装置
本申请要求于2020年10月20日提交中国知识产权局、申请号为202011124130.8、申请名称为“一种计算机装置的功耗管理方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及功耗管理技术领域,尤其涉及一种功耗管理方法、装置及存储介质。
背景技术
随着计算机技术的发展,计算机系统的数据处理性能在稳步提升的同时,也会产生较高的功耗,这使得实际应用时计算机系统的运营成本通常较高。因此,目前亟需一种对计算机系统的功耗进行有效管理的方法,以降低计算系统的运营成本。
发明内容
本申请实施例提供一种功耗管理方法、装置,用以对计算机系统的功耗进行有效管理,以便于降低计算机系统的运营成本。
第一方面,本申请实施例提供一种功耗管理方法,该方法可以应用于计算机系统,并且,该计算机系统中计算资源或通信资源等资源可以预先被划入第一资源区以及第二资源区,当然,第一资源区与第二资源区中的资源并不重叠。并且,第一资源区提供的资源包括计算资源或通信资源,其用于支持第一资源区的负载。当满足负载迁移条件时,计算机系统可以将第一资源区的负载迁移至第二资源区,此时,第一资源区中的负载减少或者没有负载,因此,计算机系统可以将第一资源区中器件的运行状态设置为功耗更低的状态,例如可以是将其设置为功耗更低的睡眠状态甚至是下电状态等,如此,第一资源区的功耗可以得到降低,从而可以实现计算机系统的整体功耗降低。
其中,如果迁移的负载包括计算任务或者通信任务,虽然,第二资源区中的计算器件或者通信器件因为需要执行任务的增加而导致功耗增加,但是,第一电压域中计算器件/通信器件的功耗降低与第二电压域中计算器件/通信器件的功耗增加可以近似相抵,而计算机系统整体降低的能耗通常在于第一资源区中与计算器件/通信器件相关的其它器件降低的功耗,比如支持处理器通信的总线等其它辅助器件可以直接关闭,节省功耗;至于第二资源区中的辅助器件,即使因为计算机器件/通信器件任务的增加而增加了功耗,也远小于第一资源区中关闭的辅助器件所能节省的功耗。实际应用时,对于负载迁移过程中所产生的额外功耗,其通常远远小于第一资源区所能节省的功耗,因此,本申请实施例中对该额外功耗可以忽略不计。
在一种可能的实施方式中,计算机系统可以预先进行资源区的划分,例如,计算机系统可以根据计算资源或通信资源的饱和度,划分得到第一资源区以及第二资源区,其中,饱和度是指用于指示待处理的任务数量。计算资源的饱和度,例如可以是处理器对应的任务队列长度,而通信资源的饱和度,例如可以是通信元件对应的任务队列长度等。作为一种示例,第一资源区中计算资源或通信资源的饱和度可以小于第二资源区中计算资源或通信资源的饱和度。如此,可以实现在计算机系统中划分得到多个不同的资源区划分。
在一种可能的实施方式中,计算机系统还可以结合计算资源或通信资源的饱和度以及利用率,划分得到第一资源区以及所述第二资源区。实际应用时,计算机系统也可以是基于其它方式划分得到多个不同的资源区。
在一种可能的实施方式中,计算机系统中包括资源调度列表,该资源调度列表中可以记录有第二资源区中的资源,例如可以是同时记录有计算资源以及通信资源等,这样,当计算机系统新增负载时,计算机系统可以调用该调度列表中的资源处理该新增负载。如此,该新增负载可以不用被调度至第一资源区中的资源进行处理,从而第一资源区中的器件可以继续保持更低功耗的状态。
在一种可能的实施方式中,第一资源区提供的负载还包括存储资源,这样,对于第一资源区中用于存储数据的器件,计算机系统可以将在其存储的数据迁移至第二资源区中的存储元件中后,可以将其进行下电等处理,以进一步降低第一资源区中的功耗。
在一种可能的实施方式中,计算机系统可以是异构系统,即第一资源区中的计算资源可以包括第一处理器与第二处理器,并且,第一处理器的类型与第二处理器的类型不同。当然,此处仅作为一种示例,在其它可能的实施方式中,第一资源区中可以包括更多类型的处理器等,本实施例对此并不进行限定。
在一种可能的实施方式中,用户可以向计算机系统提供资源区配置文件,从而计算机系统可以根据获取的资源区配置文件,在计算机系统中划分得到第一资源区以及第二资源区,如此,可以实现用户对资源区的自定义划分。
在一种可能的实施方式中,计算机系统可以向用户呈现资源区配置界面,并由用户在该资源区配置界面上执行相应的配置操作,如用户可以在该资源区配置界面上设定资源区的数量以及每个资源区中所包括的处理器、通信元件等器件的标识。这样,计算机系统可以响应于用户针对于资源区的配置操作,在计算机系统中划分得到第一资源区以及第二资源区,如此,可以实现用户对于资源区的自定义划分。
在一种可能的实施方式中,计算机系统在进行负载迁移时,可以先确定负载迁移方向,例如可以是由小负载向大负载迁移,即计算机系统在确定第一资源区的负载小于第二资源区的负载时,将第一资源区中的负载迁移至第二资源区。如此,可以减少计算机系统迁移的数据量。
在一种可能的实施方式中,计算机系统在进行负载迁移之前,还可以预先判断第一资源区的负载与第二资源区的负载之和是否小于第一负载阈值。若小于第一负载阈值,则计算机系统可以将第一资源区的负载迁移至第二资源区中,并且,进行负载迁移后,第二资源区中的负载也可以不超出第二资源区所能承受的负载上限(例如可以是第一负载阈值)。如此,可以避免计算机系统进行负载迁移后,第二资源区的负载过大,影响计算机系统的性能。
在一种可能的实施方式中,第一资源区包括计算子资源区、内存子资源区、外存子资源区。当然,在其它实施方式中,也可以是细分为更多的子资源区。
在一种可能的实施方式中,计算机系统将第一资源区中器件的运行状态设置为功耗更低的状态时,具体可以是在将外存子资源区中器件的运行状态设置为功耗更低的状态后,再将内存子资源区中器件的运行状态设置为功耗更低的状态,并最后将计算子资源区中器件的运行状态设置为功耗更低的状态。如此,通过依次将第一资源区中的各个子资源区进行降功耗,实现对整个第一资源区的将功耗。
在一种可能的实施方式中,第二资源区提供的资源包括计算资源,则计算机系统不仅可以降低第一资源区的功耗,还可以降低第二资源区中器件的工作电压或工作频率,以实现降低第二资源区的功耗。如此,可以实现对于计算机系统功耗的进一步降低。
在一种可能的实施方式中,计算机系统还可以向用户呈现显示界面,并在显示界面呈现功耗管理结果,其中,功耗管理结果包括多个资源区的标识、各个资源区的功耗、所述计算机系统的总功耗、资源利用率、器件运行状态、器件工作频率、器件工作电压、以及器件温度中的任意一种或多种。如此,可以方便用户直观了解到计算机系统的功耗管理情况。
在一种可能的实施方式中,第一资源区提供的资源包括存储资源,则计算机系统在将第一资源区中器件的运行状态设置为功耗更低的状态时,具体可以是将第一资源区中器件的运行状态设置为睡眠状态;或,直接对第一资源区中的器件进行下电,以实现对于第一资源区中的功耗降低。
在一种可能的实施方式中,计算机系统在将第一资源区中器件的运行状态设置为功耗更低的状态之后,还可以在计算机系统的负载大于第二负载阈值时,将第一资源区中器件的运行状态由睡眠状态设置为工作状态,或者,对所述第一资源区中器件进行上电。如此,可以利用第一资源区中的器件为第二资源区分担部分负载,提高计算机系统的性能。
在一种可能的实施方式中,计算机系统在将第一资源区中器件的运行状态设置为功耗更低的状态之后,还可以当计算机系统的负载大于负载阈值时,增加第二资源区中的资源,例如可以是为第二资源区外接部分处理器、存储元件或者通信元件等,以使得第二资源区能够具有更多的资源来支持其第二资源区中的负载。
在一种可能的实施方式中,第一资源区提供的资源包括计算资源,则计算机系统在将第一资源区中器件的运行状态设置为功耗更低的状态时,具体可以是降低第一资源区中器件的工作电压或工作频率,以实现对于第一资源区的功耗降低。
第二方面,基于与第一方面的方法实施例同样的发明构思,本申请实施例提供了一种计算装置。该装置具有实现上述第一方面的各实施方式对应的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,本申请实施例提供一种计算装置,包括:处理器和存储器;该存储器用于存储指令,当该计算装置运行时,该处理器执行该存储器存储的该指令,以使该装置执行上述第一方面或第一方面的任一实现方式中的功耗管理方法。需要说明的是,该存储器可以集成于处理器中,也可以是独立于处理器之外。装置还可以包括总线。其中,处理器通过总线连接存储器。其中,存储器可以包括可读存储器以及随机存取存储器。
第四方面,本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有程序或指令,当其在计算机上运行时,使得上述第一方面或第一方面的任一实现方式中的功耗管理方法被执行。
第五方面,本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一实现方式中的任意功耗管理方法。
另外,第二方面至五方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,或者可参见第二方面中不同实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一示例性计算机系统的架构示意图;
图2为本申请实施例提供的一种功耗管理方法的流程示意图;
图3为本申请实施例提供的一示例性配置文件导入界面示意图;
图4为本申请实施例提供的一示例性资源区配置界面示意图;
图5为某种型号的服务器的功耗分布示意图;
图6为本申请实施例提供的一示例性显示界面示意图;
图7为本申请实施例中一种计算装置的结构示意图;
图8为本申请实施例中一种计算装置的硬件结构示意图。
具体实施方式
计算机系统的功耗,与计算机系统的运营成本息息相关。通常情况下,计算机系统的功耗越大,则计算机系统的运营成本越高。因此,如何管理计算机系统的功耗,对于管控计算机系统的运营成本极为重要。
基于此,本申请实施例提供了一种功耗管理方法,在对计算机系统的功耗进行管理时,将计算机系统中第一资源区的负载(workload)迁移至该计算机系统中的第二资源区,这样,第一资源区中的负载可以得到减少甚至是没有负载,此时,可以将第一资源区中器件的运行状态设置为功耗更低的状态,例如可以是将其设置为功耗更低的睡眠状态甚至是下电状态等,如此,第一资源区的功耗可以得到降低,从而可以实现计算机系统的整体功耗降低。
值得注意的是,如果迁移的负载包括计算任务或者通信任务,虽然,第二资源区中的计算器件(如CPU等)或者通信器件因为需要执行任务的增加而导致功耗增加,但是,第一电压域中计算器件/通信器件的功耗降低与第二电压域中计算器件/通信器件的功耗增加可以近似相抵,而计算机系统整体降低的能耗通常在于第一资源区中与计算器件/通信器件相关的其它器件降低的功耗,比如支持CPU通信的总线等其它辅助器件可以直接关闭,节省功耗;至于第二资源区中的总线等辅助器件,即使因为计算机器件/通信器件任务的增加而增加了功耗,也远小于第一资源区中关闭的辅助器件所能节省的功耗。实际应用时,对于负载迁移过程中所产生的额外功耗,其通常远远小于第一资源区所能节省的功耗,因此,本申请实施例中对该额外功耗可以忽略不计。
作为一种示例,上述针对于计算机系统的功耗管理方法可以应用于图1所示的计算机系统架构中。实际应用时,该计算机系统例如可以是终端或者服务器,当然,也可以是其它设备。进一步的,该计算机系统在包括终端或服务器的基础上,还可以包括与该终端或者服务器连接的其它设备,如有线键盘、外接显示器等外部设备。
如图1所示,该计算机系统可以包括一个或者多个中央处理器(CentralProcessing Unit, CPU)101、图形处理器(Graphics Processing Unit,GPU)102等处理器(图1中的xPU103 可以表征任意其它处理器),用于负责计算机系统的数据处理功能,不同处理器相互之间可以通过互联总线200进行交互。同时,该系统架构还可以包括内存元件,如图1所示的通用的随机存储器(random access memory,RAM)201、储存级存储器(storage-class memory, SCM)202等;还可以包括外存元件,如图1所示的固态硬盘(solidstate disk,SSD)203等。计算机系统中的内存元件以及外存元件中存储的数据,可以被CPU101、GPU102以及 xCPU103等处理器通过通信总线进行读写。
值得注意的是,图1所示的计算机系统为异构系统,该系统中的多种不同的处理器可以共享存储元件(包括内存元件以及外存元件)中存储的数据,例如,CPU101与GPU101 均能访问RAM201或SCM202中存储的数据等。在其它示例中,上述功耗管理方法也可以是应用于除异构系统之外的其它系统中,本实施例对此并不进行限定。
其中,在该计算机系统中,可以划分得到两个及两个以上的资源区。作为一种示例, CPU101可以与RAM201可以被划入资源区1中,GPU102以及SCM202可以被划入资源区 2中,xPU103以及固态硬盘203可以被划入资源区3中。当然,在其它示例中,也可以是采用其它方式进行划分,如将CPU101、SCM202与RAM201均划入资源区1中等。在对该计算机系统进行功耗管理时,可以将资源区2(以及资源区3)中的负载迁移至资源区1中,并将资源区2(以及资源区3)中器件(包括)的运行状态设置为低功耗的状态,或者将资源区2(以及资源区3)中的器件进行下电,以实现降低整个计算机系统的功耗。
实际应用时,计算机系统中同一类型资源可以分别形成一种资源池,如图1所示的资源池1至资源池6,其中,资源池1可以基于一个或者多个CPU进行构建,资源池2可以基于一个或者多个GPU进行构建,资源池4可以基于一个或者多个RAM进行构建等。其中,不同资源池中的负载被单独管理,相互之间解耦,划分得到的每个资源区中可以包括一种或者多种资源池。
当然,图1所示的计算机系统架构仅作为一种示例,实际应用时,计算机系统架构所包括的元件并不局限于图1所示示例。比如,在其它可能的计算机系统架构中,计算机系统也可以包括比图1更多或者更少的元件,计算机系统所包括处理器可以仅为一个。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面将结合附图对本申请实施例中的各种非限定性实施方式进行示例性说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
如图2所示,为本申请实施例中一种功耗管理方法的流程示意图,该方法可以应用于上述计算机系统,并且,该计算机系统中可以包括至少两个资源区,为便于描述,本实施例中以计算机系统包括第一资源区以及第二资源区为例进行示例性说明。实际应用时,计算机系统也可以是包括三个及三个以上的资源区。并且,本实施例中,可以是由计算机系统中的特定控制器或者与该计算机系统连接的控制设备执行下述功耗管理方法,该方法具体可以是包括:
S201:当满足负载迁移条件时,将计算机系统中第一资源区的负载迁移至第二资源区,其中,该第一资源区提供的资源包括计算资源或通信资源,而第一资源区所提供的资源用于支持第一资源区的负载。
在计算机系统中,包括多个资源区,其中,每个资源区可以提供相应的资源。本实施例中,第一资源区与第二资源区能提供的资源可以是计算资源以及通信资源中的任意一种或多种。其中,计算资源,具体可以是计算机系统中负责对数据进行计算以及处理的元件,如CPU、GPU、控制器等。通信资源,具体可以是计算机系统中负责与其它设备进行数据通信的元件,如网卡等。
此外,在进一步可能的实施方式中,每个资源区中还可以包括存储资源。其中,存储资源,具体可以是计算机系统中负责对数据进行存储的元件,如高速缓存(cache)、内存元件、外存元件等。进一步的,存储资源具体可以细分为缓存资源、内存资源以及外存资源。当然,本实施例中所描述的资源仅作为一些示例,实际应用中还可能是其它资源,本实施例对此并不限定。
各个资源区所提供的资源,用于支持该资源区内的负载。比如,第一资源区内的计算资源,可以用于支持该第一资源区内的计算任务(task),并且,第一资源区内的xPU在同一时刻可以仅处理一个任务;当存在多个并发运行的任务时,等待运行的其它任务可以被放到该xPU对应的队列中进行统一管理和调度,以便由该xPU依次处理该队列中的任务。相应的,第一资源区中各个处理器正在执行以及相应队列中等待执行的任务总和,即为该第一资源区的负载(即计算负载)。其中,上述xPU用于指代该第一资源区内的任意处理器,例如可以是加速处理器(Accelerated Processing Unit,APU)、大脑处理器(BrainProcessing Unit,BPU)、CPU、深度学习处理器(Deep-learning Processing Units,DPU)、浮点处理器 (Floating Processing Unit,FPU)、GPU、全息图像处理器(HolographicsProcessing Unit, HPU)、智能处理器(Intelligence Processing Unit,IPU)、微处理器(Microprocessor Unit, MPU)、神经网络处理器(Neural-network Processing Units,NPU)、无线电处理器(Radio Processing Unit,RPU)、张量处理器(Tensor ProcessingUnit,TPU)、矢量处理器(Vector Processing Unit,VPU)、以及可穿戴处理器(WearableProcessing Unit,WPU)中的任意处理器。实际应用时,可以以xPU为粒度统计各个资源区内的计算负载。
第一资源区内的通信资源,可以用于支持第一资源区内的通信任务。本实施例中,可以将第一资源区内各个通信元件(如网卡)所负责的通信任务的数量总和作为该第一资源区内的负载(即通信负载)。
当第一资源区中还包括存储资源时,该存储资源,可以用于支持第一资源区存储数据。本实施例中,可以将第一资源区内各个存储元件(如缓存、内存以及外存等)存储的数据量,作为该第一资源区内的负载(即存储负载)。具体实现时,可以以通道(channel)为粒度对第一资源区中存储的数据进行统计。以基于Linux系统的计算机系统为例,物理内存是以页(page)为单位进行管理的,此时,可以通过扫描底层页的结构体信息,统计到每个通道的总存储空间和已经使用的存储空间的信息。其中,已经使用的存储空间可以具有相应的标志位,从而读取该标志位的取值即可确定该存储空间是否被使用。
当第一资源区所提供的资源同时包括计算资源、存储资源、通信资源时,该第一资源区的负载可以包括上述计算负载、存储资源以及通信负载。
在一些示例性的实施方式中,计算机系统中的第一资源区以及第二资源区,可以是由计算机系统(具体可以是该计算机系统中的控制器或者与该计算机系统相连的控制设备) 通过相应的配置文件完成资源区的划分。具体实现时,计算机系统例如可以向用户呈现如图3所示的配置文件导入界面,以提示用户导入相应的配置信息;用户通过点击图3中的导入按钮,将相应文件存储路径下的资源区配置文件导入计算机系统;这样,计算机系统可以根据该资源区配置文件,在计算机系统中对处理器、存储元件以及通信元件(及其相关元件)进行分区,得到上述第一资源区以及第二资源区。
而在其它可能的实施方式中,计算机系统中的第一资源区与第二资源区,也可以是由用户直接进行配置。具体实现时,计算机系统例如可以是向用户呈现如图4所示的资源区配置界面,该资源区配置界面上可以呈现由计算机系统中的资源标识,如图4中的所示的处理器标识、存储元件标识以及通信元件标识。用户可以根据该资源区配置界面所呈现的资源信息,在资源区配置界面上添加各个资源区所包括的资源,如图4中用户为资源区1 添加处理器1、处理器2、存储元件1、存储元件2以及通信元件1的标识,为资源区2添加处理器3、处理器4、存储元件3、存储元件4以及通信元件2的标识等。这样,计算机系统可以根据用户在该资源区配置界面上所执行的针对于资源区的配置操作,在计算机系统中划分得到多个资源区。
在又一种可能的实施方式中,计算机系统也可以是自主划分资源区等。例如,计算机系统可以是根据计算机系统中的计算资源/通信资源的饱和度,对计算机系统中的处理器以及通信元件(及其相关元件)进行资源区的划分。其中,饱和度,是指处理器以及通信元件中等待被处理的任务数量,其可以是通过任务统计或者采用预设的预测算法进行确定。如,可以将计算机系统中饱和度高的计算资源/通信资源划入第二资源区,而将饱和度低的计算资源/通信资源划入第一资源区等。由于在划分资源区时考虑了饱和度,如此,在完成资源区的划分后的一段时间内,第二资源区内的资源始终能够满足第二资源区内的负载。
需要值得注意的是,上述划分资源区的几种实施方式仅作为示例性说明,实际应用中还可以采取其它方式进行资源区划分,比如,计算机系统还可以结合计算资源/通信资源的利用率以及饱和度进行资源区的划分等,本实施例中对于资源区的划分的具体实现方式并不进行限定。
在对计算机系统进行功耗管理时,可以是在满足预设的负载迁移条件的情况下,先将第一资源区的负载迁移至第二资源区中。示例性的,对于第一资源区中的计算负载,具体可以是将第一资源区中各个处理器对应的队列中的任务,迁移至第二资源区中相同类型处理器的队列中。比如,假设第一资源区中GPU0的队列中包含3个任务待执行,则可以将这3个任务迁移至第二资源区中相同类型处理器的GPU1的队列中,假设该GPU1的队列中原先包括2个任务待执行,则完成任务迁移后,该GPU1的队列中包括5个任务待执行,而GPU0的队列中任务为空。
可以理解,若第一资源区中的所有计算任务全部迁移至一个处理器的队列中,则可能导致该处理器的队列中包含的计算任务较多而导致每个计算任务的处理时延较高。因此,在一些实施方式中,在可以是采用一定的负载均衡策略,将第一资源区中的计算任务迁移至第二资源区中,以使得第二资源区中的各个处理器队列中所包含的计算任务的数量不超过任务数量阈值,如此,可以避免单个计算任务的完成效率收到影响。其中,该负载均衡策略,例如可以是在计算任务迁移过程中,监控第二资源区中每个处理器队列中的计算任务的数量,当处理器的队列中计算任务数量达到任务数量阈值时,可以不再继续将剩余的计算任务迁移至该处理器的队列中,而将剩余的计算任务迁移至第二资源区中的下一个处理器队列,并在该处理器队列中的计算任务也达到任务数量阈值时,将剩余未迁移的计算任务继续迁移至其它处理器的队列中,以此类推,直至完成所有计算任务的迁移。在一些场景中,该负载均衡策略,也可以是根据第二资源区中处理器的数量,对第一资源区中的计算任务进行均分,并将每个等份迁移至第二资源区中的相应处理器中等。
类似的,对于第一资源去中各个通信元件负责的通信任务,可以将其迁移至第二资源区中相应通信元件中。对于第一资源区中各个存储元件存储的数据,可以将其迁移至第二资源区中相应存储元件的存储区域中。在进一步可能的实施方式中,为实现计算机系统中的上层应用能够无感知数据在不同存储元件之间的迁移,本实施例中,在将数据由第一资源区迁移至第二资源区后,可以适应性的修改该数据的逻辑地址(或虚拟地址)与物理地址之间的映射关系。比如,在迁移之前,该数据的逻辑地址A与第一资源区中物理地址a之间存在映射,在完成数据迁移后,可以将该数据的逻辑地址与物理地址之间的映射关系,修改为逻辑地址A与第二资源区中物理地址b之间的映射。这样,对于上层应用来说,该数据的逻辑地址不变,当需要读取该数据时,根据该逻辑地址与修改后的映射关系,能够从第二资源区中的相应物理地址b中读取到该数据,如此,可以实现上层应用对于数据的物理迁移无感知。
其中,该预设的负载迁移条件,例如可以是计算机系统的总负载低于第一负载阈值,该负载阈值例如可以是各个资源区所能承受的最大负载。此时,计算机系统的总负载较小,而将第一资源区中的负载迁移至第二资源区后,第二资源区的负载仍然低于该负载阈值,从而可以避免完成负载迁移后,第二资源区的负载过大。
又例如,若计算机系统中的资源区数量多于两个,则该负载迁移条件,也可以是任意两个资源区的负载总和小于该第一负载阈值,如此,即使计算机系统的整体负载较大,但是当存在两个资源区的负载总和较小时,也可以是将两个资源区中的负载聚集在一个资源区内。
再例如,该预设的负载迁移条件,也可以是接收到的用户触发的负载迁移命令,而计算机系统可以是在用户的指示下,将第一资源区中的负载迁移至第二资源区中。当然,上述仅作为对于负载迁移条件的一些示例性说明,实际应用时,负载迁移条件也可以是其它可能的实施方式,本实施例对此并不限定。
本实施例中,在进行负载迁移之前,还可以预先确定对哪个资源区的负载进行迁移。作为一种示例,每次迁移时的资源区可以预先被固定配置,如每次进行负载迁移时,均是将第一资源区中的负载迁移至第二资源区中。
而在其它示例中,也可以先统计第一资源区以及第二资源区中的负载,并进一步比较两个资源区的负载大小。然后,可以将负载较小的第一资源区作为需要进行负载迁移的资源区,而将负载较大的第二资源区作为需要承担新增负载的资源区。这样,每次迁移负载时,数据迁移量可以相对较小,减少数据迁移代价。实际应用时,若第一资源区的负载大于第二资源区的负载,此时,也可以是将第二资源区的负载迁移至第一资源区中。
进一步的,若第一资源区中的负载同时包括计算负载以及存储负载,则在进行负载迁移时,可以将计算负载与存储负载对应迁移至第二资源区中。这样,第二资源区中的处理器在完成迁移的计算任务时,可以直接从与该计算任务对应的存储位置中读取数据,方便数据查找。
实际应用时,也可以是采用其它方式确定每次是对哪个资源区中的负载进行迁移,以及将负载迁移至哪个资源区,本实施例对此并不进行限定。
在将第一资源区中的负载迁移至第二资源区后,第一资源区中的负载可以得到减少或者是没有负载,此时,可以通过进一步执行步骤S202,以降低计算机系统的功耗。
S202:将第一资源区中器件的运行状态设置为功耗更低的状态。
示例性的,当第一资源区中的负载全部迁移至第二资源区时,第一资源区中的负载为0,此时,第一资源区中的器件可以无需继续运行。因此,在一些实施方式中,在降低第一资源区中器件的功耗时,对于第一资源区中用于存储数据的存储元件(也即存储资源)以及通信元件(也即通信资源),可以将其设置为睡眠状态,或者可以直接将该存储元件/通信元件进行下电处理。对于第一资源区中用于处理数据的处理器(也即计算资源),可以降低该处理器的工作电压或者工作频率,以使得处理器进入功耗较低或者最低的状态,如睡眠状态等。实际应用时,若第一资源区中的处理器允许热插拔,则在降低第一资源区的功耗时,也可以是将该第一资源区中的处理器进行下电处理,以使得该第一资源区的功耗降低至最低。
而若第一资源区中还保留有部分负载时,第一资源区中的处理器可以无需再保持高功耗的运行状态,对于第一资源区中用于处理数据的处理器,可以降低该处理器的工作电压或者工作频率,以使得该处理器进入功耗较低的运行状态。这样,第一资源区中运行的处理器在支持保留的该部分负载的同时,也能以较低的功耗运行,从而使得该第一资源区的功耗保持在较低水平。
本实施例中,在降低第一资源区中的器件的功耗时,可以是按照一定的顺序依次对第一资源区中的器件进行降功耗。具体的,假设第一资源区中的资源包括计算资源与存储资源(包括内存元件以及外存元件),则第一资源区中的器件可以构成计算子资源区、内存子资源区以及外存子资源区。其中,计算子资源区中至少包括一个或者多个处理器,内存子资源区中至少包括一个或者多个内存元件,而外存子资源区中可以包括一个或者多个外存元件。此时,在对第一资源区中的器件进行降功耗时,可以先降低外存子资源区中的器件功耗,如将外存子资源区中的外存元件进行下电等;然后,再对内存子资源区中的器件进行降功耗,如将内存子资源区中的内存元件进行下电等;最后,再对计算子资源区中的器件进行降功耗,如降低计算子资源区中的处理器的电压或者频率等。当然,实际应用的一些场景中,降低计算子资源区、内存子资源区以及外存子资源区中器件功耗的顺序也可以是随机设定,如也可以先降低计算子资源区中的器件的功耗后,再降低内存资源区以及外存子资源区中器件的功耗等,本实施例对此并不进行限定。
实际应用的一些场景中,在将第一资源区中的负载迁移至第二资源区后,还可以进一步降低第二资源区的功耗。比如,当上层应用对于计算机系统的数据处理性能(如计算效率等)要求较低时,对于第二资源区中的处理器(也即计算资源),可以降低其工作电压或工作频率,以使得该第二资源区的功耗在一定程度上可以得到降低,从而可以进一步提高计算机系统的降功耗效果。
如此,通过降低第一资源区中器件的功耗(以及第二资源区中器件的功耗),可以使得计算机系统的整体功耗得到有效减少,从而使得该计算机系统的运营成本可以得到减少。具体的,如果迁移的负载包括存储的数据,则第一资源区中的存储器件可以处于低功耗或者下电状态,而第二资源区中的存储器件通常不会因为存储的数据变多而增加了存储功耗;如果迁移的负载包括计算任务或者通信任务,虽然,第二资源区中的计算器件(如CPU等) 或者通信器件因为需要执行任务的增加而导致功耗增加,但是,第一电压域中计算器件/通信器件的功耗降低与第二电压域中计算器件/通信器件的功耗增加可以近似相抵,而设备整体降低的能耗通常在于第一资源区中与计算器件/通信器件相关的其它器件降低的功耗,比如支持CPU通信的总线等其它辅助器件可以直接关闭,节省功耗;至于第二资源区中的总线等辅助器件,通常不会因为计算器件/通信器件任务的增加而增加功耗,或者,即使增加了功耗,也远小于第一资源区中关闭的辅助器件所能节省的功耗。
举例来说,对于如图5所示的某种型号的服务器,总功耗为532w,其具体功耗分布如图5所示。CPU、内存和硬盘功耗综合为415w,占据总体功耗的将近80%。假设在一种综合的轻载场景下,CPU的负载为50%(可以用CPU利用率进行衡量)、内存的负载为50%、磁盘的负载为50%,则,在该服务器内进行资源分区后的第一资源区与第二资源区,其包含的资源比例可以为1:1。在此情形下,可以将第一资源区中所有CPU、内存以及硬盘的负载迁移至第二资源区,则,理论情况下,该服务器中第一资源区内的50%的CPU资源、 50%的内存资源、50%磁盘资源均可以处于空闲状态,从而可以全部进行下电以实现系统功耗节省;而服务器中剩余的第二资源区内的50%的CPU资源、50%的内存资源、50%磁盘资源可以承担服务器当前的负载。根据图5所示的单台服务器的CPU、内存和硬盘资源的功耗的分布,单台服务器约可以节省的功耗综合为200w左右,占总体功耗的30%。并且,如果对第二资源区的CPU进一步动态调压或调频管理,可以通过降低第二资源区的功耗而达到更进一步的降低整个系统的功耗的效果。
在降低第一资源区的功耗后,可以将第一资源区中的资源,从资源调度列表中移除,此时,资源调度列表中所记录的资源为第二资源区中的资源,如此,当计算机系统新增负载,如新增计算任务或通信任务时,计算机系统可以从该资源调度列表中调度第二资源区中的资源处理该新增负载,而避免将新增的负载再调度至第一资源区中。作为一种示例,计算机系统中可以维护有任务调度域。其中,任务调度域可以包括多个处理计算任务的处理器标识,而计算机系统中的计算任务被分配至该任务调度域中的任意处理器。为避免在降低第一资源区的功耗后,计算任务重新被分配至第一资源区中而导致第一资源区的功耗上升,本实施例中,可以在任务调度域中移除第一资源区的处理器标识,从而使得计算机系统中新增的计算任务可以不被调度至第一资源区中的处理器中执行。类似的,计算机系统也可以维护有存储调度域,该存储调度域可以包括多个用于存储数据的存储元件标识,而计算机系统中的数据被分配至该存储调度域中的任意存储元件中进行存储。为避免在降低第一资源区的功耗后,待存储数据重新被分配至第一资源区中而导致第一资源区的功耗上升,本实施例中可以在存储调度域中移除第一资源区的存储元件标识,这样新增的待存储数据可以不被调度至第一资源区中的存储元件中存储。
本实施例中,计算机系统还可以向用户呈现计算机系统的功耗管理结果。作为一种示例,计算机系统可以向用户呈现如图6所示的显示界面,该显示界面中可以呈现有计算机系统的功耗管理结果,如图6所示,功耗管理结果可以包括多个资源区的标识(如图6中的资源区1、资源区2等)、各个资源区的功耗、资源利用率、器件运行状态、器件工作频率、器件工作电压、器件温度以及该计算机系统的总功耗等信息。进一步的,图6中还可以呈现计算机系统在一段时间段内的总功耗的变化曲线,以便于用户能够获知计算机系统的功耗在该时间段内的变化情况。在当然,实际应用时,所呈现的功耗管理结果也可以是上述示例中的部分信息,或者包括更多其他信息等,本实施例对此并不进行限定。
实际应用时,计算机系统的负载也可能会上升,比如,计算机系统所需处理的任务量增加,包括计算任务、存储任务以及通信任务中的任意一种或多种等。因此,在进一步可能的实施方式中,当计算机系统的负载增加时,具体是该计算机系统的负载大于第二负载阈值时,若之前第一资源区中器件的运行状态被设置为睡眠状态,则可以将该器件的运行状态设置为工作状态,而若之前第一资源区中器件被下电,则可以重新对该器件进行上电。这样,第一资源区中的器件恢复处于工作状态后,可以由第一资源区中的器件承担计算机系统中新增的负载,从而可以避免计算机系统的负载全部由第二资源区承担而导致第二资源区的负载过大。
在其它可能的实施方式中,当计算机系统的负载增加并且大于第二负载阈值时,也可以是在第二资源区中增加新的资源,用于支持第二资源区中新增的负载。此时,第一资源区中的器件仍然可以保持低功耗或者下电状态。比如,当第二资源区中的计算负载较大时,可以向第二资源区中添加新的处理器并进行上电,从而利用新的处理器承担第二资源区中新增的任务;当第二资源区中的存储负载较大时,可以向第二资源区中添加新的存储元件并进行上电,从而利用新增的存储元件承担第二资源区中的新增的待存储数据;当第二资源区中的通信负载较大时,可以向第二资源区中添加新的通信元件,从而利用新增的通信元件承担第二资源区中的新增的通信任务。
或者,在又一些可能的实施方式中,当计算机系统的负载增加并且大于第二负载阈值时,也可以是将第一资源区与第二资源区中的资源进行调整,具体可以是将第二资源区中的资源划入第二资源区中。比如,当第二资源区中的计算负载较大时,可以将第一资源区中处于低功耗状态恢复至正常工作状态,或者对第一资源区中处于下电状态的处理器重新进行上电,从而恢复至正常工作状态的处理器或者重新上电的处理器,可以承担第二资源区中新增的任务,此时,该处理器也可以从第一资源区划入第二资源区。类似的,当第二资源区中的存储负载较大时,可以将第一资源区中的部分或全部存储元件恢复至正常工作状态或者重新进行上电,并用于存储第二资源区中新增的待存储数据;当第二资源区中的通信负载较大时,可以将第一资源区中的部分或全部通信元件恢复至正常工作状态或者重新进行上电,并用于承担第二资源区中新增的通信任务。
需要说明的是,本实施例中是以计算机系统包括第一资源区以及第二资源区为例,对计算机系统的功耗管理过程进行示例性说明,实际应用时,计算机系统也可以包括三个及三个以上的资源区,并且,其对于计算机系统的功耗管理方式,可以参照上述实施例中所描述的功耗管理过程,在此不做赘述。
上文中结合图1至图6,详细描述了本申请所提供的功耗管理方法,下面将结合图7至图8,描述根据本申请所提供的计算装置。
与上述方法同样的发明构思,本申请实施例还提供一种计算装置,该装置可以实现上述图2所示的实施例中所述的功耗管理过程。参见图7所示,该装置可以应用于计算机系统,并且,该计算机系统包括第一资源区以及第二资源区,该装置700可以包括:
迁移模块701,用于当满足负载迁移条件时,将所述第一资源区的负载迁移至所述第二资源区,所述第一资源区提供的资源包括计算资源或通信资源,所述第一资源区提供的资源用于支持所述第一资源区的负载;
设置模块702,用于将所述第一资源区中器件的运行状态设置为功耗更低的状态。
在一种可能的实施方式中,所述装置700还包括:
划分模块703,用于根据所述计算机系统中的计算资源或通信资源的饱和度,划分得到所述第一资源区以及所述第二资源区,所述饱和度用于指示待处理的任务数量。
在一种可能的实施方式中,所述计算机系统包括资源调度列表,所述资源调度列表用于记录所述第二资源区中的资源;
所述设置模块702,还用于当所述计算机系统新增负载时,调用所述资源调度列表中的资源处理所述新增负载
在一种可能的实施方式中,所述第一资源区提供的资源还包括存储资源。
在一种可能的实施方式中,所述第一资源区中的计算资源包括第一处理器与第二处理器,所述第一处理器的类型与所述第二处理器的类型不同。
在一种可能的实施方式中,所述装置700还包括:
获取模块704,用于获取资源区配置文件;
划分模块703,用于根据所述资源区配置文件,在所述计算机系统中划分得到所述第一资源区以及所述第二资源区。
在一种可能的实施方式中,所述装置还包括:
呈现模块705,用于呈现资源区配置界面;
划分模块703,用于响应于用户在所述资源区配置界面上针对于资源区的配置操作,在所述计算机系统中划分得到所述第一资源区以及所述第二资源区。
在一种可能的实施方式中,所述第一资源区的负载小于所述第二资源区的负载。
在一种可能的实施方式中,所述负载迁移条件包括所述第一资源区的负载与所述第二资源区的负载之和小于第一负载阈值。
在一种可能的实施方式中,所述第一资源区包括计算子资源区、内存子资源区、外存子资源区。
在一种可能的实施方式中,所述设置模块702,具体用于:
在将所述外存子资源区中器件的运行状态设置为功耗更低的状态后,将所述内存子资源区中器件的运行状态设置为功耗更低的状态;
在将所述内存子资源区中器件的运行状态设置为功耗更低的状态后,将所述计算子资源区中器件的运行状态设置为功耗更低的状态。
在一种可能的实施方式中,所述第一资源区提供的资源包括存储资源,所述设置模块 702具体用于:
将所述第一资源区中器件的运行状态设置为睡眠状态;
或,对所述第一资源区中的器件进行下电。
在一种可能的实施方式中,在将所述第一资源区中器件的运行状态设置为功耗更低的状态之后,所述设置模块702还用于:
当所述计算机系统的负载大于第二负载阈值时,将所述第一资源区中器件的运行状态由所述睡眠状态设置为工作状态;
或者,当所述计算机系统的负载大于第二负载阈值时,对所述第一资源区中器件进行上电。
在一种可能的实施方式中,在将所述第一资源区中器件的运行状态设置为功耗更低的状态之后,所述设置模块,还用于:
当所述计算机系统的负载大于负载阈值时,增加所述第二资源区中的资源。
在一种可能的实施方式中,所述第一资源区提供的资源包括计算资源,所述设置模块 702,具体用于降低所述第一资源区中器件的工作电压或工作频率。
在一种可能的实施方式中,所述第二资源区提供的资源包括计算资源;
所述设置模块702,还用于降低所述第二资源区中器件的工作电压或工作频率。
在一种可能的实施方式中,呈现模块705,用于在显示界面呈现功耗管理结果,所述功耗管理结果包括多个资源区的标识、各个资源区的功耗、所述计算机系统的总功耗、资源利用率、器件运行状态、器件工作频率、器件工作电压、以及器件温度中的任意一种或多种。
本实施例中的计算装置700,对应于图2所示的功耗管理方法,因此,对于本实施例计算装置700中各个功能模块的具体实现及其所具有的技术效果,可以参见图2所示实施例中的相关之处描述,在此不做赘述。
此外,本申请实施例还提供一种计算装置,如图8所示,装置800中可以包括通信接口810、处理器820。可选的,装置800中还可以包括存储器830。其中,存储器830可以设置于装置800内部,还可以设置于装置800外部。示例性地,上述图2所示实施例中各个动作均可以由处理器820实现。处理器820可以用于实现图2中所执行的任一方法。在实现过程中,处理流程的各步骤可以通过处理器820中的硬件的集成逻辑电路或者软件形式的指令完成图2中执行的方法。为了简洁,在此不再赘述。处理器820用于实现上述方法所执行的程序代码可以存储在存储器830中。存储器830和处理器820连接,如耦合连接等。
本申请实施例的一些特征可以由处理器820执行存储器830中的程序指令或者软件代码来完成/支持。存储器1230上在加载的软件组件可以从功能或者逻辑上进行概括,例如,图7所示的迁移模块701、设置模块702、划分模块703、呈现模块705。而获取模块704 的功能可以由通信接口810实现。
本申请实施例中涉及到的任一通信接口可以是电路、总线、收发器或者其它任意可以用于进行信息交互的装置。比如装置800中的通信接口810,示例性地,该其它装置可以是与该装置800相连的设备,比如,可以是与用户进行交互的显示终端等。
本申请实施例中涉及的处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请实施例中的耦合是装置、模块或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、模块或模块之间的信息交互。
处理器可能和存储器协同操作。存储器可以是非易失性存储器,比如硬盘(harddisk drive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
本申请实施例中不限定上述通信接口、处理器以及存储器之间的具体连接介质。比如存储器、处理器以及通信接口之间可以通过总线连接。所述总线可以分为地址总线、数据总线、控制总线等。
基于以上实施例,本申请实施例还提供了一种计算机存储介质,该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现上述任意一个或多个实施例提供的方法。所述计算机存储介质可以包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
基于以上实施例,本申请实施例还提供了一种芯片,该芯片包括处理器,用于实现上述实施例所涉及的计算机系统的功能。可选地,所述芯片还包括存储器,所述存储器,用于处理器所执行必要的程序指令和数据。该芯片,可以由芯片构成,也可以包含芯片和其他分立器件。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和 /或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (15)

1.一种功耗管理方法,其特征在于,所述方法应用于计算机系统,所述计算机系统包括第一资源区以及第二资源区,所述方法包括:
当满足负载迁移条件时,将所述第一资源区的负载迁移至所述第二资源区,所述第一资源区提供的资源包括计算资源或通信资源,所述第一资源区提供的资源用于支持所述第一资源区的负载;
将所述第一资源区中器件的运行状态设置为功耗更低的状态。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述计算机系统中的计算资源或通信资源的饱和度,划分得到所述第一资源区以及所述第二资源区,所述饱和度用于指示待处理的任务数量。
3.根据权利要求1或2所述的方法,其特征在于,所述计算机系统包括资源调度列表,所述资源调度列表用于记录所述第二资源区中的资源,所述方法还包括:
当所述计算机系统新增负载时,调用所述资源调度列表中的资源处理所述新增负载。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述第一资源区提供的资源还包括存储资源。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述第一资源区中的计算资源包括第一处理器与第二处理器,所述第一处理器的类型与所述第二处理器的类型不同。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
获取资源区配置文件;
根据所述资源区配置文件,在所述计算机系统中划分得到所述第一资源区以及所述第二资源区。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
呈现资源区配置界面;
响应于用户在所述资源区配置界面上针对于资源区的配置操作,在所述计算机系统中划分得到所述第一资源区以及所述第二资源区。
8.一种功耗管理装置,其特征在于,所述装置应用于计算机系统,所述计算机系统包括第一资源区以及第二资源区,所述装置包括:
迁移模块,用于当满足负载迁移条件时,将所述第一资源区的负载迁移至所述第二资源区,所述第一资源区提供的资源包括计算资源或通信资源,所述第一资源区提供的资源用于支持所述第一资源区的负载;
设置模块,用于将所述第一资源区中器件的运行状态设置为功耗更低的状态。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
划分模块,用于根据所述计算机系统中的计算资源或通信资源的饱和度,划分得到所述第一资源区以及所述第二资源区,所述饱和度用于指示待处理的任务数量。
10.根据权利要求8或9所述的装置,其特征在于,所述计算机系统包括资源调度列表,所述资源调度列表用于记录所述第二资源区中的资源;
所述设置模块,还用于当所述计算机系统新增负载时,调用所述资源调度列表中的资源处理所述新增负载。
11.根据权利要求8至10任一项所述的装置,其特征在于,所述第一资源区提供的资源还包括存储资源。
12.根据权利要求8至11任一项所述的装置,其特征在于,所述第一资源区中的计算资源包括第一处理器与第二处理器,所述第一处理器的类型与所述第二处理器的类型不同。
13.根据权利要求8至12任一项所述的装置,其特征在于,所述装置还包括:
获取模块,用于获取资源区配置文件;
划分模块,用于根据所述资源区配置文件,在所述计算机系统中划分得到所述第一资源区以及所述第二资源区。
14.根据权利要求8至13任一项所述的装置,其特征在于,所述装置还包括:
呈现模块,用于呈现资源区配置界面;
划分模块,用于响应于用户在所述资源区配置界面上针对于资源区的配置操作,在所述计算机系统中划分得到所述第一资源区以及所述第二资源区。
15.一种计算装置,其特征在于,所述装置包括存储器和处理器,所述存储器,用于存储指令;所述处理器调用所述指令,以执行上述权利要求1至7中任一所述的方法。
CN202110089298.8A 2020-10-20 2021-01-22 一种功耗管理方法、装置 Pending CN114384995A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP21881889.6A EP4227769A4 (en) 2020-10-20 2021-10-11 METHOD AND DEVICE FOR MANAGING ELECTRICITY CONSUMPTION
PCT/CN2021/123128 WO2022083471A1 (zh) 2020-10-20 2021-10-11 一种功耗管理方法、装置
US18/304,100 US20230259186A1 (en) 2020-10-20 2023-04-20 Power consumption management method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2020111241308 2020-10-20
CN202011124130 2020-10-20

Publications (1)

Publication Number Publication Date
CN114384995A true CN114384995A (zh) 2022-04-22

Family

ID=81194785

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110089298.8A Pending CN114384995A (zh) 2020-10-20 2021-01-22 一种功耗管理方法、装置

Country Status (4)

Country Link
US (1) US20230259186A1 (zh)
EP (1) EP4227769A4 (zh)
CN (1) CN114384995A (zh)
WO (1) WO2022083471A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220125A (zh) * 2017-05-27 2017-09-29 郑州云海信息技术有限公司 一种云资源调度方法及装置
CN109062668A (zh) * 2018-08-01 2018-12-21 重庆邮电大学 一种基于5g接入网络的多优先级的虚拟网络功能迁移方法
CN109766190A (zh) * 2019-01-15 2019-05-17 无锡华云数据技术服务有限公司 云资源调度方法、装置、设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215597A (ja) * 2001-01-15 2002-08-02 Mitsubishi Electric Corp マルチプロセッサ装置
US7093147B2 (en) * 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
US9128766B1 (en) * 2006-04-24 2015-09-08 Hewlett-Packard Development Company, L.P. Computer workload redistribution schedule
US20100229175A1 (en) * 2009-03-05 2010-09-09 International Business Machines Corporation Moving Resources In a Computing Environment Having Multiple Logically-Partitioned Computer Systems
US8505020B2 (en) * 2010-08-29 2013-08-06 Hewlett-Packard Development Company, L.P. Computer workload migration using processor pooling
US9301198B2 (en) * 2012-02-24 2016-03-29 Intel Corporation Cooperative radio access network with centralized base station baseband unit (BBU) processing pool
US20140297001A1 (en) * 2013-03-28 2014-10-02 Kaspar Llc System and method for adaptive automated resource management and conservation
US9674105B2 (en) * 2013-06-19 2017-06-06 International Business Machines Corporation Applying a platform code level update to an operational node
US9459904B2 (en) * 2014-09-30 2016-10-04 Vmware, Inc. NUMA I/O aware network queue assignments
US11573838B2 (en) * 2018-04-20 2023-02-07 Vmware, Inc. Methods and apparatus to improve workload domain management in virtualized server systems using a free pool of virtualized servers
CN110012508B (zh) * 2019-04-10 2022-02-11 中南大学 一种面向超密集网络的边缘计算的资源分配方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220125A (zh) * 2017-05-27 2017-09-29 郑州云海信息技术有限公司 一种云资源调度方法及装置
CN109062668A (zh) * 2018-08-01 2018-12-21 重庆邮电大学 一种基于5g接入网络的多优先级的虚拟网络功能迁移方法
CN109766190A (zh) * 2019-01-15 2019-05-17 无锡华云数据技术服务有限公司 云资源调度方法、装置、设备及存储介质

Also Published As

Publication number Publication date
EP4227769A1 (en) 2023-08-16
EP4227769A4 (en) 2024-04-24
WO2022083471A1 (zh) 2022-04-28
US20230259186A1 (en) 2023-08-17

Similar Documents

Publication Publication Date Title
US9600330B2 (en) Method and system for regulation and control of a multi-core central processing unit
JP5564564B2 (ja) 計算ユニットの性能を性能感度に従い不均等に変化させる方法及び装置
US9152200B2 (en) Resource and power management using nested heterogeneous hypervisors
KR102082859B1 (ko) 복수의 이종 코어들을 포함하는 시스템 온 칩 및 그 동작 방법
TWI464570B (zh) 用於平衡具有多核心之計算裝置的效能與電力節省的方法、電腦可讀儲存媒體與多邏輯處理器系統
CN102103516B (zh) 基于虚拟cpu的频率和电压调节
KR102490908B1 (ko) 자원 스케줄링 방법 및 단말 장치
EP3467651B1 (en) Method, device and terminal for allocating computational resources of processor
US20130339956A1 (en) Computer system and optimal arrangement method of virtual machine in computer system
US20070294689A1 (en) Sharing resources of a partitioned system
CN108549574B (zh) 线程调度管理方法、装置、计算机设备和存储介质
CN112000463B (zh) 一种基于cuda的gpu资源分配方法、系统、终端及存储介质
CN104111897A (zh) 一种数据处理方法、装置及计算机系统
US11150933B2 (en) Optimizing host CPU usage based on virtual machine guest OS power and performance management
US20130063450A1 (en) Smart power management in graphics processing unit (gpu) based cluster computing during predictably occurring idle time
US9772677B2 (en) Event-driven reoptimization of logically-partitioned environment for power management
CN115421924A (zh) 一种内存分配方法、装置及设备
CN110806918A (zh) 基于深度学习神经网络的虚拟机运行方法和装置
US10157066B2 (en) Method for optimizing performance of computationally intensive applications
CN115686800B (zh) 用于多核系统的动态核心调度方法和装置
CN114384995A (zh) 一种功耗管理方法、装置
CN110908783A (zh) 一种云数据中心虚拟机的管控方法、系统及设备
CN115981819A (zh) 用于多核系统的核心调度方法和装置
Alqudah et al. Energy reduction through memory aware real-time scheduling on virtual machine in multi-cores server
CN114780033A (zh) Jbod级联系统、存储资源分配方法及装置

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