CN102812439A - 多处理器计算机系统中的功率管理 - Google Patents

多处理器计算机系统中的功率管理 Download PDF

Info

Publication number
CN102812439A
CN102812439A CN201080065642XA CN201080065642A CN102812439A CN 102812439 A CN102812439 A CN 102812439A CN 201080065642X A CN201080065642X A CN 201080065642XA CN 201080065642 A CN201080065642 A CN 201080065642A CN 102812439 A CN102812439 A CN 102812439A
Authority
CN
China
Prior art keywords
processor
power state
high power
task
response
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.)
Granted
Application number
CN201080065642XA
Other languages
English (en)
Other versions
CN102812439B (zh
Inventor
T·小赫勒
W·T·博伊德
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.)
MediaTek Inc
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN102812439A publication Critical patent/CN102812439A/zh
Application granted granted Critical
Publication of CN102812439B publication Critical patent/CN102812439B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)

Abstract

多处理器计算机系统中的功率管理包括一种计算机程序产品,所述计算机程序产品用于促进接收用于在高功率状态下执行的任务,及判定多处理器系统中的处理器的当前功率状态,所述系统具有指定的功率极限。如果所述处理器的所述当前功率状态是所述高功率状态,则将所述任务分派至所述处理器。如果所述处理器未处于所述高功率状态,则判定使所述处理器进入所述高功率状态是否将导致所述多处理器系统超过所述指定的功率极限。响应于判定使所述处理器进入所述高功率状态将不会导致所述多处理器系统超过所述指定的功率极限而使所述处理器进入所述高功率状态。响应于使所述处理器进入所述高功率状态而将所述任务分派至所述处理器。

Description

多处理器计算机系统中的功率管理
背景技术
本发明一般地涉及计算环境中的处理,更具体地说,涉及多处理器计算机系统中的功率管理。
计算机结构的关键组件中的每一个(包括处理器的性能/结构、任何存储器缓存、输入/输出(I/O)子系统、存储器控制功能的效率、主要存储器件,及互连接口的类型及结构)均会影响整体计算机系统性能。
业界正在投入大量的研究及开发努力来产生改进和/或创新的解决方案,以通过改进系统/子系统的设计和/或结构来最大化整体计算机系统性能及密度。归因于客户期待新计算机系统除了提供额外功能、增加的性能、增加的存储、较低的操作成本等以外还将在平均故障时间(MTBF)方面显著地胜过现有系统,高可用性系统进一步提出关于整体系统可靠性的挑战。其它常见客户需求进一步加剧计算机系统设计挑战,且包括诸如易于升级及减少系统环境影响(诸如空间、功率及冷却)之类的项目。
随着处理器的性能继续增加,处理器所消耗的功率量亦可能继续增加。给定处理器可消耗的功率量常常受多种因素(诸如处理器的操作环境)限制。因而,处理器实施改进所需的额外功率将约束(gated)处理器性能的改进。
2005年9月30日申请的名为“Dynamic Core Swapping”的美国专利第7,461,275号涉及一种动态交换处理器核心的技术。第一核心具有第一指令集。所述第一核心以第一性能级别执行程序。当触发事件发生时,所述第一核心停止执行所述程序。第二核心具有与所述第一指令集兼容的第二指令集且具有不同于所述第一性能级别的第二性能级别。当所述第一核心正在执行所述程序时,所述第二核心处于断电状态。在所述第一核心停止执行所述程序后,电路向所述第二核心供电,使得所述第二核心继续以所述第二性能级别执行所述程序。
2003年4月25日申请的名为“Dynamically Selecting Processor Coresfor Overall Power Efficiency”的美国专利第7,093,147号涉及一种用于节省操作功率的计算机系统,所述计算机系统包括若干计算机硬件处理器核心,所述计算机硬件处理器核心自身之间至少在其各自操作功率需求及处理能力方面不同。监视器从所述计算机硬件处理器核心中的每一个收集性能量度信息,此信息专门针对接下来执行的应用软件的特定运行。工作负荷转移机制为了减少操作功率而将正在执行的应用软件转移至第二计算机硬件处理器核心。连接转移延迟机制以延迟正在执行的应用软件的随后转移(如果通过此类延迟可节省系统操作功率)。
2004年12月2日申请的名为“Performance State-Based ThreadManagement”的美国专利第7,526,661号涉及管理线程以提供选择用于执行的线程且基于该线程而识别处理器核心的目标性能状态的系统及方法。识别所述目标性能状态可包括将线程的优先级应用于映射策略以获得所述目标性能状态。在一个实施例中,可启动所述选定核心至目标性能状态的转变且所述线程可被调度以供所述处理器核心执行。
发明内容
一个示例性实施例是一种用于在计算机系统中分派任务的计算机程序产品。所述计算机程序产品包括有形存储介质,所述有形存储介质可由处理电路读取且存储供所述处理电路执行以用于执行方法的指令。所述方法包括:接收用于在高功率状态下执行的任务,及判定处理器的当前功率状态。所述处理器为多处理器系统中的多个处理器之一,且所述多处理器系统具有指定的功率极限。响应于判定所述处理器的所述当前功率状态为所述高功率状态而将所述任务分派至所述处理器。响应于判定所述处理器的当前功率状态不是所述高功率状态,判定使所述处理器进入所述高功率状态是否将导致所述多处理器系统超过所述指定的功率极限。所述判定响应于所述指定的功率极限及所述多处理器系统中的所述多个处理器的当前功率状态。响应于判定使所述处理器进入所述高功率状态将不会导致所述多处理器系统超过所述指定的功率极限而使所述处理器进入所述高功率状态。响应于使所述处理器进入所述高功率状态而将所述任务分派至所述处理器。
另一个示例性实施例是一种用于在计算机系统中分派任务的系统。所述系统包括计算机存储器及与所述计算机存储器通信的处理器。所述处理器包括用于自存储器取回指令的指令取回组件及用于执行所取回的指令的一个或多个执行组件。计算机系统被配置为执行一种方法,所述方法包括:接收用于在高功率状态下执行的任务,及判定处理器的当前功率状态。所述处理器是多处理器系统中的多个处理器之一,且所述多处理器系统具有指定的功率极限。响应于判定所述处理器的当前功率状态为高功率状态而将所述任务分派至所述处理器。响应于判定所述处理器的当前功率状态不是高功率状态,判定使所述处理器进入所述高功率状态是否将导致所述多处理器系统超过所述指定的功率极限。所述判定响应于所述指定的功率极限及所述多处理器系统中的所述多个处理器的当前功率状态。响应于判定使所述处理器进入所述高功率状态将不会导致所述多处理器系统超过所述指定的功率极限而使所述处理器进入所述高功率状态。响应于使所述处理器进入所述高功率状态而将所述任务分派至所述处理器。
另一个示例性实施例是一种用于在计算机系统中分派任务的计算机实现的方法。所述方法包括:接收用于在高功率状态下执行的任务,及判定处理器的当前功率状态。所述处理器是多处理器系统中的多个处理器之一,且所述多处理器系统具有指定的功率极限。响应于判定所述处理器的当前功率状态为高功率状态而将所述任务分派至所述处理器。响应于判定处理器的当前功率状态不是高功率状态,判定使所述处理器进入高功率状态是否将导致所述多处理器系统超过所述指定的功率极限。所述判定响应于所述指定的功率极限及所述多处理器系统中的所述多个处理器的当前功率状态。响应于判定使所述处理器进入高功率状态将不会导致所述多处理器系统超过所述指定的功率极限而使所述处理器进入高功率状态。响应于使所述处理器进入高功率状态而将所述任务分派至所述处理器。
另一个示例性实施例是一种用于在计算机系统中分派任务的计算机程序产品。所述计算机程序产品包括有形存储介质,所述有形存储介质可由处理电路读取且存储供处理电路执行以用于执行方法的指令。所述方法包括:接收用于在低功率状态下执行的任务,及判定处理器的当前功率状态。所述处理器是多处理器系统中的多个处理器之一,且所述多处理器系统具有指定的功率极限。响应于判定所述处理器的当前功率状态为低功率状态而将所述任务分派至所述处理器。响应于判定所述处理器的当前功率状态不是低功率状态,使所述处理器进入低功率状态,且响应于使所述处理器进入低功率状态而将所述任务分派至所述处理器。
经由本发明的技术实现额外特征及优点。本文中详细描述本发明的其它实施例及方面且将其视为所要求保护的本发明的一部分。为了更好地理解本发明的优点及特征,参看实施方式及附图。
附图说明
现参看附图,其中相同组件在图中以相同方式编号,这些附图是:
图1描绘可通过一个示例性实施例实现的数据处理系统的方块图;
图2描绘可通过一个示例性实施例实现的分派算法的处理流程;
图3描绘可通过一个示例性实施例实现的多处理器系统的方块图;
图4描绘可通过一个示例性实施例实现的分派算法的处理流程;
图5描绘可通过一个示例性实施例实现的分派算法的处理流程的额外细节;
图6描绘响应于环境变化而跨系统调整最大功率标志的过程的处理流程;及
图7描绘可通过本发明的一个示例性实施例实现的计算机程序产品。
具体实施方式
本发明的一个示例性实施例提供在具有多个处理器的计算机系统(即,“多处理器系统”)中分派任务时优化功率性能的能力。在一个示例性实施例中,多个处理器可具有不同性能点(例如,支持不同功率级别)。在一个示例性实施例中,分派算法在多处理器系统中分派任务时利用所述处理器之间的性能差别。
在一个示例性实施例中,优化基于多处理器系统中的处理器中的每一个的当前功率性能状态(实时收集)及多处理器系统中的功率极限。在一个示例性实施例中,所述处理器中的每一个具有指示该处理器当前是否处于高功率状态的最大功率标志。最大功率标志亦可指示是否能够使该处理器进入高功率状态。另外,每个多处理器系统包括寄存器,所述寄存器用于存储指示多处理器系统中有多少处理器可同时处于最大功率状态的数目(功率极限)。在一个示例性实施例中,多处理器系统亦包括设置/追踪处理器的当前功率级别的中央功率控制模块。
本发明的一个示例性实施例通过跨多处理器系统优化功率使用而提供多处理器系统的功率/性能优化。在本文中使用时,术语“功率/性能”指在诸如多处理器系统的计算机系统中或在单个处理器中的功耗(例如,电功率消耗)的效率的测量。
通过当代软件及硬件来优化大型多处理器系统的每瓦特峰值性能常常很难。系统可包括具有多种功率/性能工作点(本文中亦称为“功率状态”)的多个处理组件,所述处理组件一起封装于单个封装中或经由多个封装之间的高速缓存一致性链路得以连接。当前分派算法用于基于获得峰值性能的目标而将进程分派至处理组件。一些当代系统在装载有所述系统的房间环境所允许的最高可能功率耗散方面受到严格限制。
当前多处理器计算系统可能并非总是针对给定的功率量提供最佳吞吐量。一些当代计算系统使用单个微处理器核心设计,且在执行应用时在各种时间周期期间使用动态电压缩放来改变每瓦特性能。其它当代系统包括具有不同指令集架构的多个核心以针对特定应用提供性能优点。这些系统未被优化以在跨许多微处理器核心(核心在本文中亦称为“处理器”)执行二进制兼容性应用代码时提供每瓦特最佳吞吐量。一个原因在于,分派器未利用系统中的核心之间的性能差别且未优化所述核心的利用。
本发明的各示例性实施例用于在运行多种工作负荷时优化系统的整体功率性能。在一个示例性实施例中,将多个多处理器系统一起用于提供一种优化每瓦特总系统吞吐量的计算系统。示例性实施例包括由跨越两个或两个以上芯片(本文中亦称为“集成电路”或“微处理器芯片”)的处理器组成的多处理器系统。这些芯片为不同类型且能够执行相同的二进制软件但在其每瓦特性能特性方面不同。诸如
Figure BDA00002170647300061
IA-32(Intel架构,32位)架构及
Figure BDA00002170647300062
Power
Figure BDA00002170647300063
之类的计算系统架构用于多种多样的计算系统。针对这些架构中的每一个已可获得许多二进制兼容性处理核心设计。这些核心设计中的每一个具有不同功率/性能特性。示例性实施例将在于单个多处理器服务器上运行多个程序时允许较佳的整体功率/性能。通过使用具有不同性能及功率优化的多个芯片,可增加每瓦特系统吞吐量。当代微处理器产品指示了以至多4.5至5倍功率/性能为代价的至多2倍性能的范围。通过额外硅调节、器件调节及电路选择,可进一步扩展此范围。假设有机会使用多个多处理器芯片及所述芯片的多个功率性能点,示例性实施例优化线程至核心的分派以便最大化系统的功率/性能能力。
在一个示例性实施例中,经由互连总线(可能经由节点控制器)连接多个芯片。所述芯片的子集通过以高功率为代价针对高速度而优化的硅工艺来实施,而多数芯片通过针对功率而优化的硅工艺来实施;这两种芯片类型皆能够运行相同的二进制。一个示例性实施例通过被定制以优化功率/性能的分派算法而将这些异构处理器组合成对称多处理(SMP)系统。如果可在不使用高性能高功率处理器的情况下满足进程的服务级别协议(SLA)需求(或其它系统需求),则使用由示例性实施例提供的功率门控控制来最小化处理器的活动功率及泄漏功率两者。
在需要时,经由功率门控控制对高性能高功率核心供电且将高优先级进程分派至此处理器(其处于高功率状态)。在一个示例性实施例中,经由使用SLA和/或多处理器系统的当前状态表的新颖系统管理程序或操作系统软件来完成此操作,所述当前状态表包括哪些核心为高性能-功率优化及哪些核心当前被供电的映射。在一种优化功率/性能状况下,所有高功率核心被断电且其仅根据需要被供电以满足SLA(或其它系统需求)。
作为一个实例,在功率优化后的核心上,线程完成其由定时器中断指示的当前时间片,且调用分派器。分派器代码包括对服务质量(或当前服务级别)的周期性检查。在此实例中,判定已出现潜在服务质量问题。此信息用于判定哪一线程应为下一个待分派的线程。可判定应使用高性能核心。分派器判定针对当前运行线程与此已遇到潜在服务质量问题的新线程的组合是否可获得足够的高性能硬件核心(且对其供电)。在一些状况下,分派器发信号通知系统控制代码,高性能核心应被供电,以便增加可用来满足系统中的所有线程的SLA的硬件。分派器可选择另一等待中的线程(如果可用)。在一个示例性实施例中,此线程在当前满足其服务质量级别的那些线程当中将为最高优先级。在一个备选示例性实施例中,可在若干核心上中断当前运行的低优先级线程,以便释放足够的热开销以使得系统能够接通额外的高功率核心。
一个示例性实施例使用由系统管理程序或操作系统控制的一组软件表,所述软件表包括对哪些线程正在等待被分派于高功率/高性能核心上的指示。其它信息可包括系统中的所有核心的当前状态;具体言之,哪些核心为高性能及其位置,及哪些核心当前被供电。所得到的系统将具有可由分派器获得的不同数目个硬件线程;系统管理程序和/或操作系统将动态地改变线程的此数目以便满足SLA需求。
图1为可实施本发明的一个示例性实施例的数据处理系统100的方块图。在一个示例性实施例中,系统100为SMP服务器计算机系统。图1中描绘的SMP服务器计算机系统100包括可映射至用户应用(即,由所述用户应用暂时拥有)以执行所述应用的物理硬件设备。
SMP服务器计算机系统100包括物理SMP服务器102,物理SMP服务器102包括诸如处理器104、存储器106及I/O适配器108的物理硬件设备。这些物理设备通过驻留于物理SMP服务器计算机系统100上的系统管理程序110来管理。如图1中所描绘,物理SMP服务器102通过一个或多个微处理器芯片126来实施。尽管物理SMP服务器中的微处理器芯片126在图1中展示为具有类似配置,但微处理器芯片126可具有不同配置(例如,不同数量的处理器104)。
在本文中使用时,术语“微处理器芯片”126指使用单片硅制造的器件。微处理器芯片126亦可称为芯片或集成电路。一个或多个硬件组件被制造于单个微处理器芯片上。所述硬件组件通常包括处理器104(或处理核心)、存储器106(例如,高速缓冲存储器)、I/O适配器108,但亦可包括诸如压缩引擎、加密引擎、协议处理引擎、架构仿真引擎及数据流处理引擎之类的特殊功能组件。
虚拟服务器是具有相同能力、接口及状态的物理服务器的代理(proxy)。系统管理程序100产生并管理虚拟服务器,且每一虚拟服务器在其用户(例如,在其上运行的操作系统、中间件及应用软件)看来像是物理SMP服务器。图1中描绘的SMP服务器计算机系统100包括诸如虚拟服务器112及虚拟服务器112a的一个或多个虚拟服务器。每一虚拟服务器112在其软件看来像是包括仅供该虚拟服务器112使用的其自身的处理器、存储器及I/O适配器。例如,虚拟服务器112包括虚拟处理器120、虚拟存储器122及虚拟I/O适配器124。虚拟服务器112a包括虚拟处理器120a、虚拟存储器122a及虚拟I/O适配器124a。
每一虚拟服务器112支持其自己的软件环境,软件环境包括操作系统、中间件及应用。每一虚拟服务器112的软件环境可不同于其它虚拟服务器的软件环境。在一个示例性实施例中,由每一虚拟服务器执行的操作系统可彼此不同。例如,虚拟服务器112支持操作系统114、中间件116及应用118。虚拟服务器112a支持操作系统114a、中间件116a及应用118a。操作系统114及114a可为相同或不同的操作系统。
虚拟服务器112是对服务器的逻辑描述,其定义在用户看来就好像物理服务器一样,以与物理服务器相同的方式被存取且提供信息的服务器环境。针对每一虚拟服务器所定义的虚拟处理器、虚拟存储器及虚拟I/O适配器是物理处理器、存储器及I/O适配器的逻辑替代物。
系统管理程序110管理具有虚拟处理器、虚拟存储器及虚拟I/O适配器的虚拟服务器与被选择以实施这些虚拟设备的物理硬件设备之间的映射。例如,在分派虚拟处理器时,系统管理程序110选择物理处理器(诸如物理处理器104之一)以用于执行且实施该虚拟处理器。系统管理程序110管理物理设备的选择及其向虚拟设备的暂时指派。
系统管理程序110负责动态地产生、管理及终结虚拟SMP服务器。系统管理程序110可移除或添加所有虚拟处理器、虚拟I/O适配器及虚拟存储器块。系统管理程序110亦负责动态资源分配、管理物理资源的时间共享及在不涉及操作系统的情况下改变映射至处理器的物理资源。系统管理程序110亦能够针对不需要共享的情形将物理资源专用于虚拟资源。系统管理程序110负责管理物理资源的添加或移除。系统管理程序110使这些添加及删除对于上层应用为透明的。
术语“处理核心”及“处理器”本文中可互换地用来指代同一器件。于本文中使用时,术语“物理处理器”指处理核心且可包括专用于该核心或由多个核心共享的其它硬件组件。因而,物理处理器是处理核心及专用于该处理核心或由该处理核心共享的硬件组件。
于本文中使用时,术语“当前功率状态”指处理器的当前功率状态。在一个示例性实施例中,当前功率状态为高功率状态或低功率状态。于本文中使用时,术语“高功率状态”指已处于高时钟频率模式的处理核心。于本文中使用时,术语“高功率核心”指在高功率状态下执行的处理核心。于本文中使用时,术语“低功率状态”指已处于低时钟频率模式的处理核心。一般而言,低功率状态为功率高效状态。一个示例性实施例使用核心时钟频率的变化作为调整系统中的各种处理核心的功率/性能的手段。应理解,可使用调整核心的功率/性能的任何其它方法来替代此时钟频率控制,或除此时钟频率控制外,亦可使用调整核心的功率/性能的任何其它方法。调整核心的功率/性能在本文中称为使处理器“进入”特定功率状态。使处理器自低功率状态进入高功率状态包括将频率控制逻辑中的操作频率设置改变成较高频率设置。可使用任何合适的时钟控制机制。示例性实施例利用两个设置:高(例如,4GHz)及低(例如,3GHz)。备选实施例包括若干可能的频率设置及用于确定在频率尺度上将要增加的步幅数的额外逻辑。类似地,使处理器自高功率状态进入低功率状态包括将频率控制逻辑中的操作频率设置改变成较低频率设置。
图2描绘可由一个示例性实施例实现的分派算法的处理流程。在一个示例性实施例中,所述算法由负责实施数据处理系统中的虚拟服务器(包括管理物理处理器在许多不同虚拟处理器之间的时间共享)的系统管理程序110执行。在一个示例性实施例中,系统管理程序110中的分派算法启动任务的执行。
在方块202处,接收待在处理器上执行的任务。所述任务为需要在处于高功率状态的处理器上执行的高功率状态任务。于本文中使用时,术语“任务”指线程或线程组。在方块204处,判定处理器是否处于高功率状态。如果处理器处于高功率状态,则执行方块206以启动在所述处理器上执行所述任务。如果处理器未处于高功率状态,则执行方块208以判定处理器所在的芯片(或多处理器系统)是否可支持使处理器进入高功率状态。如果多处理器系统可支持使处理器进入高功率状态,则执行方块210且使处理器进入高功率状态。在一个示例性实施例中,分派进程检查处理器是否能够进入高功率状态。一旦已使处理器进入高功率状态,便执行方块212以启动在所述处理器上执行所述任务。如果多处理器系统不能支持使处理器进入高功率状态,则执行方块214以启动在位于另一芯片上(或另一多处理器系统中)的处理器上执行所述任务。
图3描绘由可通过一个示例性实施例实现的单个微处理器芯片(诸如微处理器芯片126)实施的多处理器芯片302的方块图。图3中描绘的多处理器芯片302包括多个处理器304、“#Max_Pwr_Flag”310及与处理器304中的每一个通信的可选中央功率控制模块308。#Max_Pwr_Flag 310指示可在任何给定时间处于高功率状态的位于多处理器芯片302上的处理器304的最大数目。可以以本领域中公知的任何方式来存储#Max_Pwr_Flag 310(诸如,但不限于,存储于寄存器或存储器中)以供分派进程迅速检索。图3中描绘的处理器304中的每一个包括指示处理器304是否处于高功率状态的Spr_Max_Pwwr_Flag 306。另外,Spr_Max_Pwr_Flag 306可指示处理器304是否能够进入高功率状态。在一个选示例性实施例中,每一处理器304进入高功率状态的能力存储于中央功率控制模块308中或在处理器304外部的另一位置中,且可由分派进程存取。应理解,多个芯片302可一起用于大型多处理器系统中,且系统管理程序110可跨该多处理器系统协调MAX_PWR FLAG 310。
在图3中所描绘的示例性实施例中,利用新的专用寄存器Spr_Max_Pwr_Flag 306来指示何时允许处理器304的最高功率设置。允许最大数目(如#Max_Pwr_Flag 310所指示)个处理器304使其Spr_Max_Pwr_Flag 306被设置。在一个示例性实施例中,提供新的分派代码以监视多处理器系统302的估计功率及温度,并且提供专用寄存器,来自多处理器操作条件的反馈保存于该专用寄存器中。这些额外专用寄存器可由系统管理程序读取以便优化分派算法,以实现在优化功耗的同时满足SLA的整体目标。
尽管多处理器系统在图3中示为在单个集成电路上,但多处理器系统可跨越多个集成电路。
图4描绘可由一个示例性实施例实现的分派算法的处理流程。在一个示例性实施例中,所述算法由负责实施数据处理系统中的虚拟服务器(包括管理物理处理器在许多不同虚拟处理器之间的时间共享)的系统管理程序110执行。在一个示例性实施例中,系统管理程序110中的分派算法启动任务的执行。
在方块402处,接收需要在高功率状态处理器上执行的任务。在一个示例性实施例中,通过追踪在就绪队列中的进程的状态的软件(例如,在系统管理程序和/或操作系统中)来识别该任务。在一个示例性实施例中,就绪队列包括任务及优先级的列表以及每一任务相对于相应SLA如何执行的状态。在一个示例性实施例中,将具有高优先级和/或有不满足SLA的危险的任务作为需要在高功率状态下执行的任务发送至分派进程。
在方块404处,判定处理器是否能够在高功率状态下执行(如Spr_Max_Pwr_Flag 306所指示)。如果处理器能够在高功率状态下执行,则处理在方块406处继续,在此方块中执行常规分派算法。在此示例性实施例中,假定如果处理器能够在高功率状态下执行,则处理器当前正在高功率状态下执行。在一个备选示例性实施例中,可能必须使处理器进入高功率状态,然后处理器才能执行任务。处理接着在方块408处继续,在此方块中运行时间片以执行任务。
如果在方块404处判定处理器不能够在高功率状态下执行,则执行方块410。在方块410至414处,判定多处理器系统是否可支持使处理器进入高功率状态。在方块410处,读取当前#Max_Pwr_Flag_310以判定可在高功率状态下执行的处理器的最大数目(即,指定的功率极限)。在方块412处,读取多处理器系统302中的处理器304中的每一个中的当前Spr_Max_Pwr_Flag 306。在另一个示例性实施例中,周期性地读取且存储pr_Max_Pwr_Flag 306。在另一个示例性实施例中,Spr_Max_Pwr_Flag306由系统管理程序(当其变化时)存储于可由分派器存取的公共存储区域中,以避免必须存取每一处理器来判定当前功率状态。在方块414处,将当前能够进入高功率状态(如Spr_Max_Pwr_Flag 306所指示)的处理器的数目与#Max_Pwr_Flag 310中所指定的数目相比较。
如果当前能够进入高功率状态的处理器的数目小于#Max_Pwr_Flag310中的数目,则执行方块420。在方块420处,将处理器304中的Spr_Max_Pwr_Flag 306设置为1。在一个示例性实施例中,这导致处理器304进入高功率状态。在一个备选示例性实施例中,这导致执行检查以判定处理器304是否能够在高功率状态下执行。在方块422处分派任务,且处理在方块408处继续。
如果当前能够进入高功率状态的处理器的数目等于#Max_Pwr_Flag310中的数目,则执行方块416。在方块416处,将一个中断发送至位于另一芯片或多处理器系统上的处理器。在一个示例性实施例中,在发送该中断之前,分派器验证所述另一芯片可支持使处理器进入高功率状态。处理接着在方块418处继续,在此方块中将另一任务(例如,不需要高功率状态的任务)分派于该处理器上。处理接着在方块408处继续。
能够同时在高功率状态下执行的处理器的最大数目(如存储在#Max_Pwr_Flag 310中)是可由一个示例性实施例实现的指定的功率极限的一个实例。
在一个示例性实施例中,响应于当前环境条件(例如,处理器、芯片和/或系统所在的房间的温度、其它系统组件的功耗)而周期性地更新指定的功率极限。在另一个示例性实施例中,基于其它多处理器系统的特性(诸如,当前功率、温度、指定的功率极限)而更新指定的功率极限。
图5描绘可由一个示例性实施例实现的分派算法的处理流程的额外细节。在方块502处,接收不需要使用高功率处理器的任务。在方块504处,判定处理器是否能够在高功率状态下执行(如SPR_MAX_PWR_FLAG306所指示)。如果处理器不能在高功率状态下执行,则处理在方块506处继续,在此方块中执行正常分派算法,接着在方块512处执行时间片。
如果在方块504处判定处理器能够在高功率状态下执行(如SPR_MAX_PWR_FLAG 306所指示),则处理在方块508处继续,在此方块中,因为不需要高功率状态,所以将SPR_MAX_PWR_FLAG_306设置为0(设置成低功率状态)。接着在方块510处分派任务,接着在方块512处执行时间片。
图6描绘由系统用于响应于环境变化而跨系统的所有组件调整#MAX_PWR_FLAG 310的处理流程的额外细节。图6中描绘的处理流程可通过特定硬件或在系统管理程序中的程序代码的周期性执行,或通过某一其它合适的系统级软件来执行。
在方块602处,判定系统的环境条件已改变,从而需要对系统内的某(些)芯片上的#MAX_PWR_FLAG 310的更新。在方块604处,读取系统中的所有#MAX_PWR_FLAG 310。接着在方块606中分析这些标志且确定新的最佳设置。在另一个示例性实施例中,此概要信息存储于寄存器或存储器中且可由硬件与软件的任何合适组合周期性地更新。新的优化设置包括:减小#MAX_PWR_FLAG 310,及针对处理器之一将SPR_MAX_PWR_FLAG 306设置为等于0;在图6的方块608至方块610中执行此操作。在方块608中,将选定芯片的#MAX_PWR_FLAG 310减小1。在方块610中,重设具有SPR_MAX_PWR_FLAG=1的同一芯片上的处理器之一,使得SPR_MAX_PWR_FLAG=0。
在另一个示例性实施例中,支持两个以上功率状态。例如,可存在三个不同功率状态:高、中及低功率状态。
技术效果及益处包括跨多处理器系统中的多个处理器管理功率使用的能力。这可导致多处理器系统中的功率使用的减少和/或可由多处理器系统执行的处理量的增加,同时仍保持在功率使用阈值内。
本文中所用的术语,仅仅是为了描述特定的实施例,而不意图限定本发明。本文中所用的单数形式的“一”和“该”,旨在也包括复数形式,除非上下文中明确地另行指出。还要知道,  “包含”和/或“包括”一词在本说明书中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件,以及/或者它们的组合。
以下的权利要求中的对应结构、材料、操作以及所有功能性限定的装置或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它单元相组合地执行该功能的结构、材料或操作。所给出的对本发明的描述其目的在于示意和描述,并非是穷尽性的,也并非是要把本发明限定到所表述的形式。对于所属技术领域的普通技术人员来说,在不偏离本发明范围和精神的情况下,显然可以作出许多修改和变型。对实施例的选择和说明,是为了最好地解释本发明的原理和实际应用,使所属技术领域的普通技术人员能够明了,本发明可以有适合所要的特定用途的具有各种改变的各种实施方式。
所属技术领域的技术人员知道,本发明的各方面可以体现为系统、方法或计算机程序产品。因此,本发明的各方面可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、  “模块”或“系统”的软件部分与硬件部分的组合。此外,本发明的各方面还可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,该介质中包含计算机可都程序码。
可利用一个或多个计算机可读介质的任何组合。计算机可读介质可为计算机可读信号介质或计算机可读存储介质。例如,计算机可读存储介质可为(但不限于)电子、磁性、光学、电磁、红外线或半导体系统、装置或器件,或前述系统、装置或器件的任何合适组合。计算机可读存储介质的较具体实例(非详尽列表)将包括以下项:具有一条或多条导线的电连接件、便携型计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携型光盘只读存储器(CD-ROM)、光学存储器件、磁性存储器件,或前述各者的任何合适组合。在本文档的上下文中,计算机可读存储介质可为可含有或存储供指令执行系统、装置或器件使用或结合指令执行系统、装置或器件而使用的程序的任何有形介质。
计算机可读信号介质可包括传播数据信号,所述传播数据信号具有体现于其中(例如,在基带中或作为载波的一部分)的计算机可读程序代码。此类传播信号可采取多种形式中的任一者,包括但不限于电磁形式、光学形式或其任何合适组合。计算机可读信号介质可为并非计算机可读存储介质且可传达、传播或传送供指令执行系统、装置或器件使用或结合指令执行系统、装置或器件而使用的程序的任何计算机可读介质。
可使用任何适当介质来传输体现于计算机可读介质上的程序代码,适当介质包括(但不限于)无线、有线、光缆、RF等或前述各者的任何合适组合。
可以以一种或多种编程语言的任何组合来撰写用于执行本发明的各方面的操作的计算机程序码,所述一种或多种编程语言包括诸如Java、Smalltalk、C++或其类似者的面向对象的编程语言及诸如“C”编程语言或类似编程语言的常规过程编程语言。程序代码可完全在用户计算机上执行,部分地在用户计算机上执行,作为独立软件包而执行,部分地在用户计算机上执行且部分地在远程计算机上执行,或完全在远程计算机或服务器上执行。在完全在远程计算机或服务器上执行的情形中,远程计算机可经由任何类型的网络(包括局域网络(LAN)或广域网络(WAN))连接至用户计算机,或可连接至外部计算机(例如,使用因特网服务提供者,经由因特网)。
下文参考根据本发明的各实施例的方法、装置(系统)及计算机程序产品的流程图说明和/或方块图来描述本发明的各方面。应理解,可通过计算机程序指令来实施所述流程图说明和/或方块图的每一方块及所述流程图说明和/或方块图中的方块的组合。可将这些计算机程序指令提供至通用计算机、专用计算机或其它可编程数据处理装置的处理器以产生一种机器,以使得经由所述计算机或其它可编程数据处理装置的处理器而执行的指令产生用于实施在所述流程图和/或方块图方块中指定的功能/操作的部件。
亦可将这些计算机程序指令存储于计算机可读介质中,其可引导计算机、其它可编程数据处理装置或其它设备以特定方式工作,使得存储于所述计算机可读介质中的指令产生一件制品,所述制品包括实施在所述流程图和/或方块图方块中所指定的功能/操作的指令。
亦可将所述计算机程序指令加载至计算机、其它可编程数据处理装置或其它设备上,以使一系列操作步骤在所述计算机、其它可编程装置或其它设备上执行以产生计算机实现的过程,使得在所述计算机或其它可编程装置上执行的指令提供用于实施在所述流程图和/或方块图方块中所指定的功能/操作的规程。
如上所述,各实施例可以以计算机实现的过程和用于实现这些过程的装置的形式来体现。在各示例性实施例中,本发明体现于由一个或多个网络组件执行的计算机程序码中。各实施例包括如图7中所描绘的在计算机可用介质702上的计算机程序产品700,其具有计算机程序码逻辑704,计算机程序码逻辑704含有在有形介质中体现为制品的指令。计算机可用介质702的示例性制品可包括软盘、CD-ROM、硬盘驱动器、通用串行总线(USB)快闪驱动器或任何其它计算机可读存储介质,其中当计算机程序码逻辑704被加载至计算机中且由计算机执行时,该计算机成为用于实现本发明的装置。各实施例包括计算机程序码逻辑704,例如,其存储于存储介质中,被加载至计算机中和/或由计算机执行,或是经由一些传输介质(诸如,经由电布线或布缆、经由光纤、或经由电磁辐射)传输,其中当计算机程序码逻辑704被加载至计算机中且由计算机执行时,该计算机成为用于实现本发明的装置。当在通用微处理器上实现时,计算机程序码逻辑704段配置所述微处理器以产生特定逻辑电路。
图中的流程图及方块图说明根据本发明的各实施例的系统、方法及计算机程序产品的可能实施方式的架构、功能性及操作。就此而言,流程图或方块图中的每一方块可表示代码的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。亦应注意,在一些备选实施方式中,方块中所述的功能可不按图中所述的次序发生。例如,实际上,取决于所涉及的功能性,连续展示的两个方块可大体上同时执行,或有时可按相反次序执行。亦应注意,可通过执行指定的功能或操作的基于专用硬件的系统或专用硬件和计算机指令的组合来实施方块图和/或流程图说明的每一方块及方块图和/或流程图说明中的方块的组合。

Claims (10)

1.一种在计算机系统中分派任务的方法,所述方法包括:
接收用于在高功率状态下执行的任务;
判定处理器的当前功率状态,所述处理器是多处理器系统中的多个处理器之一,所述多处理器系统具有指定的功率极限;
响应于判定所述处理器的所述当前功率状态是所述高功率状态而将所述任务分派至所述处理器;及
响应于判定所述处理器的所述当前功率状态不是所述高功率状态,进行以下操作:
判定使所述处理器进入所述高功率状态是否将导致所述多处理器系统超过所述指定的功率极限,所述判定响应于所述指定的功率极限及所述多处理器系统中的所述多个处理器的当前功率状态;
响应于判定使所述处理器进入所述高功率状态将不会导致所述多处理器系统超过所述指定的功率极限而使所述处理器进入所述高功率状态;及
响应于使所述处理器进入所述高功率状态而将所述任务分派至所述处理器。
2.如权利要求1的方法,其中所述方法还包括:响应于判定使所述处理器进入所述高功率状态将导致所述多处理器系统超过所述指定的功率极限而将中断传输至另一处理器。
3.如权利要求2的方法,其中所述方法还包括:在将所述中断传输至所述另一处理器之前验证所述另一处理器正在所述高功率状态下执行。
4.如权利要求1的方法,其中所述方法还包括:响应于判定使所述处理器进入所述高功率状态将导致所述多处理器系统超过所述指定的功率极限而将备选任务分派至所述处理器,其中所述备选任务是低功率状态任务。
5.如权利要求1的方法,其中所述多处理器系统中的所述多个处理器包括两个或两个以上不同功率特性,且所述多个处理器并非均具有在所述高功率状态下执行的能力,且所述方法还包括:在判定使所述处理器进入所述高功率状态是否将导致所述多处理器系统超过所述指定的功率极限之前验证所述处理器可支持所述高功率状态。
6.如权利要求1的方法,其中响应于当前环境条件而周期性地更新所述指定的功率极限。
7.如权利要求1的方法,其中周期性地收集所述多个处理器中的每个处理器的当前功率状态。
8.如权利要求1的方法,其中所述方法还包括:判定应在所述高功率状态下执行所述任务,所述判定响应于所述任务的当前服务级别及与所述任务相关联的服务级别协议。
9.一种系统,包括适于执行根据任一先前方法权利要求的方法的全部步骤的部件。
10.一种计算机程序,包括特别适于执行根据任一先前方法权利要求的方法的各步骤的指令,其中所述计算机程序在数据处理设备上执行。
CN201080065642.XA 2010-03-25 2010-11-08 用于在多处理器计算机系统中分派任务的方法和系统 Active CN102812439B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/731,505 2010-03-25
US12/731,505 US8484495B2 (en) 2010-03-25 2010-03-25 Power management in a multi-processor computer system
PCT/EP2010/067026 WO2011116841A1 (en) 2010-03-25 2010-11-08 Power management in a multi-processor computer system

Publications (2)

Publication Number Publication Date
CN102812439A true CN102812439A (zh) 2012-12-05
CN102812439B CN102812439B (zh) 2015-12-09

Family

ID=43719515

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080065642.XA Active CN102812439B (zh) 2010-03-25 2010-11-08 用于在多处理器计算机系统中分派任务的方法和系统

Country Status (6)

Country Link
US (1) US8484495B2 (zh)
EP (1) EP2430541B1 (zh)
JP (1) JP5648939B2 (zh)
CN (1) CN102812439B (zh)
TW (1) TWI505080B (zh)
WO (1) WO2011116841A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105917313A (zh) * 2013-12-02 2016-08-31 英特尔公司 优化平台仿真资源消耗的方法和装置
CN106844258A (zh) * 2015-12-03 2017-06-13 华为技术有限公司 热添加CPU使能x2APIC的方法和服务器系统
CN110928657A (zh) * 2019-11-18 2020-03-27 西北工业大学 嵌入式系统确定性分析方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8862786B2 (en) * 2009-08-31 2014-10-14 International Business Machines Corporation Program execution with improved power efficiency
WO2013075012A2 (en) * 2011-11-18 2013-05-23 The Regents Of The University Of Michigan Computational sprinting using multiple cores
CN108509021B (zh) * 2011-11-21 2021-11-09 英特尔公司 用于性能改善的可重配置图形处理器
GB2500434A (en) * 2012-03-23 2013-09-25 Cognovo Ltd Scheduling actions based on the state of the resources needed to execute the actions
JP2013222321A (ja) * 2012-04-17 2013-10-28 Sony Corp メモリ制御装置、メモリ制御方法、情報処理装置、およびプログラム
CN103455469B (zh) * 2012-05-30 2016-06-08 华为技术有限公司 一种控制处理器频率的方法、装置及系统
US10242652B2 (en) 2013-06-13 2019-03-26 Intel Corporation Reconfigurable graphics processor for performance improvement
JP6103060B2 (ja) * 2013-07-11 2017-03-29 富士通株式会社 管理装置、管理方法及びプログラム
US10261875B2 (en) 2013-12-18 2019-04-16 Qualcomm Incorporated Runtime optimization of multi-core system designs for increased operating life and maximized performance
US9606843B2 (en) 2013-12-18 2017-03-28 Qualcomm Incorporated Runtime optimization of multi-core system designs for increased operating life and maximized performance
US20150169363A1 (en) * 2013-12-18 2015-06-18 Qualcomm Incorporated Runtime Optimization of Multi-core System Designs for Increased Operating Life and Maximized Performance
US9323574B2 (en) 2014-02-21 2016-04-26 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Processor power optimization with response time assurance
US9372814B2 (en) 2014-08-11 2016-06-21 Dell Products, Lp System and method for transferring an active state between a powerful processor and a less powerful processor
US9471137B2 (en) 2014-08-11 2016-10-18 International Business Machines Corporation Managing power savings in a high availability system at a redundant component level of granularity
KR102468286B1 (ko) * 2016-01-04 2022-11-21 한국전자통신연구원 대칭형 다중 처리 시스템에서의 전력 제한 장치 및 방법
US11514551B2 (en) 2020-09-25 2022-11-29 Intel Corporation Configuration profiles for graphics processing unit

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060123251A1 (en) * 2004-12-02 2006-06-08 Intel Corporation Performance state-based thread management
CN1885232A (zh) * 2005-06-24 2006-12-27 戴尔产品有限公司 多处理器的电源管理
US20090007120A1 (en) * 2007-06-28 2009-01-01 Fenger Russell J System and method to optimize os scheduling decisions for power savings based on temporal characteristics of the scheduled entity and system workload

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142684A (en) * 1989-06-23 1992-08-25 Hand Held Products, Inc. Power conservation in microprocessor controlled devices
ATE492840T1 (de) 2000-10-31 2011-01-15 Millennial Net Inc Vernetztes verarbeitungssystem mit optimiertem leistungswirkungsgrad
EP1351117A1 (en) 2002-04-03 2003-10-08 Hewlett-Packard Company Data processing system and method
US7100056B2 (en) * 2002-08-12 2006-08-29 Hewlett-Packard Development Company, L.P. System and method for managing processor voltage in a multi-processor computer system for optimized performance
US7093147B2 (en) * 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
US20050132239A1 (en) * 2003-12-16 2005-06-16 Athas William C. Almost-symmetric multiprocessor that supports high-performance and energy-efficient execution
US8224639B2 (en) * 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
US7249268B2 (en) * 2004-06-29 2007-07-24 Intel Corporation Method for performing performance optimization operations for a processor having a plurality of processor cores in response to a stall condition
US7308591B2 (en) * 2004-12-16 2007-12-11 International Business Machines Corporation Power management of multi-processor servers
US7461275B2 (en) * 2005-09-30 2008-12-02 Intel Corporation Dynamic core swapping
JP2007133723A (ja) * 2005-11-11 2007-05-31 Hitachi Ltd マルチプロセッサ、タスクスケジューリング方法、及びコンパイラ
JP2007148952A (ja) * 2005-11-30 2007-06-14 Renesas Technology Corp 半導体集積回路
US7263457B2 (en) * 2006-01-03 2007-08-28 Advanced Micro Devices, Inc. System and method for operating components of an integrated circuit at independent frequencies and/or voltages
EP2031510A4 (en) * 2006-06-07 2011-07-06 Hitachi Ltd INTEGRATED SEMICONDUCTOR SWITCHING
US20080263324A1 (en) * 2006-08-10 2008-10-23 Sehat Sutardja Dynamic core switching
JP2008090546A (ja) * 2006-09-29 2008-04-17 Toshiba Corp マルチプロセッサシステム
US20080184044A1 (en) * 2007-01-31 2008-07-31 Leech Phillip A Method of managing power consumption for collections of computer systems
US8161314B2 (en) * 2007-04-12 2012-04-17 International Business Machines Corporation Method and system for analog frequency clocking in processor cores
US8381215B2 (en) * 2007-09-27 2013-02-19 Oracle America, Inc. Method and system for power-management aware dispatcher
EP2243080B1 (en) * 2007-12-13 2016-09-21 Advanced Micro Devices, Inc. Driver architecture for computing device having multiple graphics subsystems, reduced power consumption modes, software and methods
US8112648B2 (en) * 2008-03-11 2012-02-07 Globalfoundries Inc. Enhanced control of CPU parking and thread rescheduling for maximizing the benefits of low-power state

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060123251A1 (en) * 2004-12-02 2006-06-08 Intel Corporation Performance state-based thread management
CN1885232A (zh) * 2005-06-24 2006-12-27 戴尔产品有限公司 多处理器的电源管理
US20090007120A1 (en) * 2007-06-28 2009-01-01 Fenger Russell J System and method to optimize os scheduling decisions for power savings based on temporal characteristics of the scheduled entity and system workload

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105917313A (zh) * 2013-12-02 2016-08-31 英特尔公司 优化平台仿真资源消耗的方法和装置
CN106844258A (zh) * 2015-12-03 2017-06-13 华为技术有限公司 热添加CPU使能x2APIC的方法和服务器系统
CN110928657A (zh) * 2019-11-18 2020-03-27 西北工业大学 嵌入式系统确定性分析方法

Also Published As

Publication number Publication date
US20110239016A1 (en) 2011-09-29
CN102812439B (zh) 2015-12-09
JP5648939B2 (ja) 2015-01-07
WO2011116841A1 (en) 2011-09-29
EP2430541A1 (en) 2012-03-21
EP2430541B1 (en) 2018-07-04
TWI505080B (zh) 2015-10-21
TW201217954A (en) 2012-05-01
US8484495B2 (en) 2013-07-09
JP2013527948A (ja) 2013-07-04

Similar Documents

Publication Publication Date Title
CN102812439A (zh) 多处理器计算机系统中的功率管理
CN102822801B (zh) 响应于服务水平协议而分配计算系统功率水平
Nesmachnow et al. Energy-aware scheduling on multicore heterogeneous grid computing systems
CN104991830B (zh) 基于服务等级协议的yarn资源分配和节能调度方法及系统
CN103119580B (zh) 异构多处理器计算平台中的应用调度
US8776066B2 (en) Managing task execution on accelerators
Sridharan et al. Holistic run-time parallelism management for time and energy efficiency
CN104049712B (zh) 用于计算机系统的功率管理方法和系统
Kessaci et al. A multi-start local search heuristic for an energy efficient VMs assignment on top of the OpenNebula cloud manager
Kao et al. Magma: An optimization framework for mapping multiple dnns on multiple accelerator cores
US20130167152A1 (en) Multi-core-based computing apparatus having hierarchical scheduler and hierarchical scheduling method
Zhang et al. CloudFreq: Elastic energy-efficient bag-of-tasks scheduling in DVFS-enabled clouds
March et al. Power‐aware scheduling with effective task migration for real‐time multicore embedded systems
Tang et al. CPU–GPU utilization aware energy-efficient scheduling algorithm on heterogeneous computing systems
Hao et al. An adaptive algorithm for scheduling parallel jobs in meteorological Cloud
Song et al. Energy efficiency optimization in big data processing platform by improving resources utilization
Kumbhare et al. A value-oriented job scheduling approach for power-constrained and oversubscribed HPC systems
DelValle et al. Electron: Towards efficient resource management on heterogeneous clusters with apache mesos
Ciesielczyk et al. An approach to reduce energy consumption and performance losses on heterogeneous servers using power capping
Maroulis et al. A framework for efficient energy scheduling of spark workloads
Singh et al. Value and energy optimizing dynamic resource allocation in many-core HPC systems
Zhang et al. GreenDRL: managing green datacenters using deep reinforcement learning
Sharma et al. Reliable and energy efficient resource provisioning and allocation in cloud computing
Khaitan et al. Proactive task scheduling and stealing in master-slave based load balancing for parallel contingency analysis
Lammie et al. Scheduling grid workloads on multicore clusters to minimize energy and maximize performance

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200825

Address after: China Taiwan Hsinchu Science Park Hsinchu city Dusing Road No. 1

Patentee after: MEDIATEK Inc.

Address before: New York, USA

Patentee before: International Business Machines Corp.