CN104850209A - 用于提高事件处理的涡轮加速性能的方法和装置 - Google Patents

用于提高事件处理的涡轮加速性能的方法和装置 Download PDF

Info

Publication number
CN104850209A
CN104850209A CN201510202019.9A CN201510202019A CN104850209A CN 104850209 A CN104850209 A CN 104850209A CN 201510202019 A CN201510202019 A CN 201510202019A CN 104850209 A CN104850209 A CN 104850209A
Authority
CN
China
Prior art keywords
process kernel
kernel
task
event
wpl
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
CN201510202019.9A
Other languages
English (en)
Other versions
CN104850209B (zh
Inventor
R·D·韦尔斯
O·法利克
J·P·阿拉雷
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN104850209A publication Critical patent/CN104850209A/zh
Application granted granted Critical
Publication of CN104850209B publication Critical patent/CN104850209B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/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
    • 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/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
    • 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/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • 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/3246Power saving characterised by the action undertaken by software initiated power-off
    • 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/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
    • 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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

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)
  • Hardware Redundancy (AREA)

Abstract

介绍了用于提高事件处理的性能的装置的实施例。在一个实施例中,该装置包括多个处理元件和任务路由逻辑。如果处理元件中的至少一个处理元件处于涡轮加速模式,那么任务路由逻辑至少基于性能损失的比较来选择用于执行任务的处理元件。

Description

用于提高事件处理的涡轮加速性能的方法和装置
本申请是2010年9月26日提交的,申请号为201010293325.5的同名专利申请的分案申请。
技术领域
本发明的实施例涉及中断事件处理;更具体地,本发明的实施例涉及提高事件处理的性能。
背景技术
在多内核处理器中,控制处理内核以使用可用的功率余量来最大化性能是令人期望的。在不是所有的处理内核都必须用于处理特定的工作负荷的情况下,关闭空闲的内核并将功率引导到其他活动的内核。通常通过以更高的频率操作活动的内核来将活动的内核转换到涡轮加速模式(turbomode)。
多内核处理器中的任务和事件处理算法通常是伪随机的并且不考虑当内核操作于涡轮加速模式时的影响。因此,影响了系统的整体性能。
附图说明
根据下面给出的详细描述以及本发明的各个实施例的附图可以更充分地理解本发明的实施例,然而,其不应被用于将本发明限制到特定的实施例,而只是用于解释和理解。
图1示出了计算机系统的实施例,该计算机系统包括用于响应于中断事件来选择处理元件以执行任务的装置。
图2是用于响应于中断事件来选择处理元件以执行任务的处理的一个实施例的流程图。
图3说明了与本发明的一个实施例一起使用的计算机系统。
图4说明了与本发明的一个实施例一起使用的点对点计算机系统。
具体实施方式
介绍了用于提高事件处理的性能的装置的实施例。在一个实施例中,装置包括多个处理元件和任务路由逻辑。如果处理元件中的至少一个处理元件处于涡轮加速模式,那么任务路由逻辑至少基于性能损失的比较来选择用于执行任务的处理元件。
在以下描述中,阐述了大量细节以提供对本发明的实施例的更透彻的解释。然而,对本领域技术人员显而易见的是,可以在没有这些具体细节的情况下实施本发明的实施例。在其他示例中,以框图的形式而非细节的形式示出了公知的结构和设备,以避免模糊本发明的实施例。
在其他示例中,没有详细地描述公知的部件或方法,例如,微处理器架构、虚拟机监视器、功率控制、时钟门控、以及已知逻辑的操作细节,以避免不必要地模糊本发明。
但是,应当牢记,所有这些以及类似的术语应与合适的物理量相关联,并且仅仅是应用到这些量的方便的标记。除非明确地声明,否则根据以下讨论显而易见的是,应该意识到,贯穿本说明书的使用诸如“处理”或“计算”或“运算”或“确定”或“显示”等术语的讨论指代计算机系统或类似的电子计算设备的动作和处理过程,其对表示为计算机系统的寄存器和存储器内的物理(电子)量的数据进行操作,并将所述数据转换成类似地表示为计算机系统存储器或寄存器或其它这种信息存储、传输或显示设备内的物理量的其它数据。
本发明的实施例还涉及用于执行本文中的操作的装置。可以针对需要的目的特别地构造一些装置,或者它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。可以将这种计算机程序存储在计算机可读存储介质中,例如但不限于,任何类型的盘,其包括软盘、光盘、CD-ROM、DVD-ROM、以及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、NVRAM、磁或光卡,或适合用于存储电子指令的任何类型的介质,并且每一个都耦合到计算机系统总线。
本文描述的方法和装置用于选择用于事件处理的处理元件。更具体地说,参考多内核处理器计算机系统主要地讨论了选择用于事件处理的处理元件。然而,用于选择用于事件处理的处理元件的方法和装置并不限制于此,因为可以在任何集成电路设备或系统上或与任何集成电路设备或系统相关联地实现该方法和装置,所述集成电路设备或系统例如是蜂窝电话、个人数字助理、嵌入式控制器、移动平台、台式平台和服务器平台,以及结合任何类型的处理元件,例如内核、硬件线程、软件线程、或逻辑处理器、加速器内核、或其他处理资源。此外,选择用于事件处理的处理元件可以发生在任何硬件/软件环境中,例如操作系统或在硬件上执行的管理程序。
概述
介绍了用于提高事件处理的性能的装置的实施例。在一个实施例中,装置包括多个处理元件和任务路由逻辑。如果处理元件中的至少一个处理元件处于涡轮加速模式,那么任务路由逻辑至少基于性能损失的比较来选择用于执行任务的处理元件。
图1示出了计算机系统的实施例,该计算机系统包括用于响应于事件来选择处理元件以执行任务的装置。没有示出许多相关的部件(例如总线和外围设备)以避免模糊本发明。参考图1,在一个实施例中,处理器160包括性能计算逻辑110、任务路由逻辑130、涡轮加速模式逻辑140、以及多个处理元件,例如处理元件131-134。在一个实施例中,性能计算逻辑还包括存储器111。
在一个实施例中,处理元件包括线程、进程、上下文、逻辑处理器、硬件线程、内核、加速器内核或共享对处理器160的其他共享资源(例如,预留单元、执行单元、更高层高速缓存、存储器等)的访问的任何处理元件。在一个实施例中,处理元件是线程单元,即,能够具有由软件线程独立地调度以用于执行的指令的元件。在一个实施例中,物理处理器是集成电路,其包括任意数量的其他处理元件,例如内核或硬件线程。
在一个实施例中,内核是位于集成电路上的能够针对另一个内核保持独立架构状态的逻辑。每一个独立地保持的架构状态与至少某些专用的执行资源相关联。在一个实施例中,硬件线程是位于集成电路上的能够针对另一个硬件线程保持独立架构状态的逻辑。每一个独立地保持的硬件线程共享对执行资源的访问。在一些实施例中,可交换地使用内核和硬件线程。在一个实施例中,内核或硬件线程也被称为处理元件。
在一个实施例中,操作系统或管理软件将硬件线程、内核、或处理元件视为单独的逻辑处理器。软件程序能够在每一个逻辑处理器上单独地调度操作。此外,在一些实施例中,每一个内核包括用于执行多个软件线程的多个硬件线程。
在一个实施例中,管理程序(未示出)提供软件(例如,虚拟机)和硬件资源(例如,处理器160)之间的接口。在一个实施例中,管理程序对硬件进行抽象以使得多个虚拟机独立地并行运行。在一个实施例中,虚拟机提供程序的软件执行环境,所述程序例如是任务、用户级应用、客户机软件、操作系统、另一个虚拟机、虚拟机监视器、其他可执行代码、或它们的任何组合。在一个实施例中,管理程序将硬件资源(例如,内核、硬件线程、处理元件)分配给不同的程序。
在一个实施例中,计算机系统包括用于经由互连发送和接收信号的输入/输出(I/O)缓冲器。互连的示例包括射电收发机逻辑(GTL)(GunningTransceiver Logic)总线、GTL+总线、双倍数据速率(DDR)总线、泵式总线(pumped bus)、差分总线、高速缓存一致总线(cache coherent bus)、点对点总线、多点下传(multi-drop)总线或实现任何已知总线协议的其他已知互连。
在一个实施例中,计算机系统(具体地说,处理器160)根据高级配置和电源接口(ACPI)规范(参见,2006年10月10日发布的高级配置和电源接口规范3.0b版)支持不同的功率状态(例如,C2-状态和C3-状态)。在一个实施例中,休眠状态(例如,C2-状态和C3-状态)也被称为空闲状态。在一个实施例中,处于空闲状态的处理元件被称为休眠内核、空闲内核或非活动内核。在一个实施例中,功率门控关闭对空闲处理元件的功率供应。空闲处理元件必须被唤醒以便再次开始执行程序。
在一个实施例中,涡轮加速模式逻辑140控制处理元件131-134以使得如果至少另一个处理元件保持空闲那么至少一个活动处理元件以更高的频率操作。因此,由活动处理元件使用可用的功率和热余量以增加或提高系统的整体性能。在一个实施例中,这种操作模式在本文中被称为涡轮加速模式。当处于涡轮加速模式时,涡轮加速模式逻辑140将一个或多个空闲处理元件的功率和热余量重新分配给一个或多个活动处理元件以增加一个或多个处于活动状态的处理元件的操作频率。
在一个实施例中,使处理器转换到涡轮加速模式或从涡轮加速模式转换(例如,转换到较高的性能水平或转换到较低性能水平)的因素在本文中被称为事件。在一个实施例中,事件是可重新路由到处理元件131-134的中断事件。在一个实施例中,处理器160响应于事件而执行一些对应的任务或服务。在一个实施例中,中断事件来自设备,例如,盘驱动器、网卡和输入/输出设备。
在一个实施例中,性能计算逻辑110计算用于服务事件的性能损失。在一个实施例中,因为响应于处理事件而执行一个任务或若干任务,处理器160使用额外的时间来完成工作负荷。在一个实施例中,性能损失被表示为百分比。例如,如果工作负荷要花费10ms来执行,那么10%的性能损失将使得工作负荷花费11.1ms(即,10ms/(1-0.10))来完成。
在一个实施例中,当处理器160处于涡轮加速模式时,任务路由逻辑130接收任务101(作为事件的结果)。例如,在一个实施例中,处理元件131处于涡轮加速模式,而处理元件132处于空闲模式。在一个实施例中,涡轮加速路由逻辑130基于与在不同的处理元件(无论是活动处理元件还是休眠处理元件)之间进行选择相关联的性能损失,来选择处理元件中的一个以完成任务101。
在一个实施例中,如果空闲处理元件被用来执行任务101,其性能损失在本文中被称为唤醒性能损失(WPL)。在一个实施例中,将活动处理元件(处于涡轮加速模式)转换到较低操作频率以使得功率被引导以唤醒休眠处理元件。在一个实施例中,性能计算逻辑基于与活动处理元件相关联的操作频率的降低和正由活动处理元件执行的程序的频率缩放因子,来确定WPL。普通技术人员将意识到,可以使用其他因子和组合来确定WPL。
在一个实施例中,频率缩放因子是比率,其中,以该比率将频率增加(或降低)转换成针对特定工作负荷的性能增加(或降低)。例如,对于操作频率10%的增加导致性能10%的增加的工作负荷,等价于缩放因子为1。例如,操作频率1%的降低导致0.75%的性能降低等价于缩放因子为0.75。
在一个实施例中,存储器111存储关于正在由活动处理元件执行的程序的频率缩放因子的信息。在一个实施例中,存储器111存储关于当活动处理元件从涡轮加速模式转变到其它模式时操作频率的降低的信息。在一个实施例中,这些信息由监视逻辑(未示出)收集并且包括用于预测/估计当前值的平均历史值。
在一个实施例中,如果活动处理元件被用来执行任务101,其性能损失在本文中被称为活动性能损失(APL)。在一个实施例中,性能计算逻辑110基于用于执行任务101(响应于事件)的处理时间的量和与正在由活动处理元件执行的程序相关联的使用值来确定APL。在一个实施例中,基于用于服务事件的处理时间除以用于程序工作负荷的总的运行时间来确定APL。普通的技术人员将意识到,可以使用其他因子和组合来确定APL。
在一个实施例中,存储器111存储关于用于处理事件的处理时间的量的信息。在一个实施例中,这些信息由监视逻辑(未示出)收集并且包括用于预测/估计当前值的平均历史值。在一个实施例中,监视逻辑还提供与正在由活动处理元件执行的程序相关联的使用值。
在一个实施例中,如果处理器160处于涡轮加速模式,则任务路由逻辑130基于潜在的性能损失的比较来确定处理元件以服务事件。在一个实施例中,任务路由逻辑130基于来自涡轮加速模式逻辑140的信息来确定处理器160(或处理元件131-134中的任意一个)是否处于涡轮加速模式中。
在一个实施例中,如果WPL小于APL,那么任务路由逻辑130选择空闲处理元件来服务事件。否则,任务路由逻辑130将事件发送到活动处理元件(处于涡轮加速模式中)。
在一个实施例中,处理元件可以操作于不同的休眠状态下,其中所述不同的休眠状态的范围从具有较短退出时延和适度功率节省的浅度C-状态(例如,ACPI C1状态)到具有较长退出时延和较高功率节省的深度C-状态(例如,ACPI C3)。因此,取决于休眠内核所处的C-状态,包括WPL和APL的性能损失的确定是不同的。在一个实施例中,从深度C-状态唤醒处理元件比唤醒处于浅度C-状态的处理元件代价更高(导致更高的性能损失)。
图2是用于响应于中断事件来选择(处理器的)处理元件以执行任务的处理的一个实施例的流程图。由可以包括硬件(电路、专用逻辑等)、软件(例如在通用计算机系统或专用机器上运行的)、或上述二者的组合的处理逻辑来执行该处理。在一个实施例中,结合控制器(例如,参照图1的任务路由逻辑130)来执行该处理。在一个实施例中,由参照图3的计算机系统来执行该处理。
参考图2,在一个实施例中,处理逻辑以接收可重新路由的事件(处理框200)作为开始。响应于该事件,处理逻辑执行任务或服务。
在一个实施例中,处理逻辑确定是否有任何(处理器的)处理元件操作于涡轮加速模式中(处理框210)。在一个实施例中,如果没有处理元件操作于涡轮加速模式中,则处理逻辑选择任何处理元件以服务该事件(处理框241)。在另一个实施例中,如果没有处理元件操作于涡轮加速模式中,则处理逻辑选择处于功率节省模式的处理元件,例如休眠内核,以服务该事件。
否则,在一个实施例中,如果任何处理元件处于涡轮加速模式中,则处理逻辑确定潜在的性能损失。
在一个实施例中,处理逻辑确定在空闲处理元件被用来执行任务时的唤醒性能损失(WPL)(处理框220)。在一个实施例中,处理逻辑基于与活动处理元件相关联的操作频率的降低和正在由活动处理元件执行的程序的频率缩放因子来确定WPL。
在一个实施例中,处理逻辑确定在活动处理元件被用来执行任务时的活动性能损失(APL)(处理框221)。在一个实施例中,处理逻辑基于用于执行该任务的处理时间的量和与正在由活动处理元件执行的程序相关联的使用值来确定APL。
在一个实施例中,处理逻辑将WPL与APL进行比较(处理框230)。在一个实施例中,如果WPL小于APL,那么处理逻辑选择空闲处理元件来执行该任务(处理框242)。否则,处理逻辑选择处于涡轮加速模式的活动处理元件来执行该任务(处理框243)。
可以在各种电子设备和逻辑电路中实现本发明的实施例。此外,包括本发明的实施例的设备或电路可以被包括在各种计算机系统内。本发明的实施例还可以被包括在其他计算机系统拓扑和架构中。
例如,图3说明了结合本发明的一个实施例的计算机系统。处理器705访问来自1级(L1)高速缓冲存储器706、2级(L2)高速缓冲存储器710、以及主存储器715的数据。在本发明的其他实施例中,高速缓冲存储器706可以是多级高速缓冲存储器,其由L1高速缓冲存储器以及计算机系统存储器分层中的诸如L2高速缓冲存储器的其他存储器组成,并且高速缓冲存储器710是随后的更低级高速缓冲存储器,例如L3高速缓冲存储器或更多级高速缓冲存储器。此外,在其他实施例中,计算机系统可以具有作为不止一个处理器内核的共享高速缓冲存储器的高速缓冲存储器710。
处理器705可以具有任意数量的处理内核。然而,可以用硬件、软件、或它们的一些组合在系统内的其他设备中或者在分布于整个系统的其他设备中实现本发明的其他实施例。在一个实施例中,处理器705包括类似于部件的逻辑,例如,参照图1的任务路由逻辑130。
可以在各种存储器源中,例如,动态随机存取存储器(DRAM)、硬盘驱动器(HDD)720、基于NVRAM技术的固态盘725,或者包含各种存储设备和技术的、经由网络接口730或经由无线接口740位于远离计算机系统的存储器源,实现主存储器715。高速缓冲存储器可以位于处理器内或在与处理器接近的位置,例如在处理器的本地总线707上。此外,高速缓冲存储器可以包含相对快的存储器单元,例如六晶体管(6T)单元、或具有大约相等或更快的访问速度的其他存储器单元。
然而,本发明的其他实施例可以存在于图3的系统中的其他电路、逻辑单元、或设备中。此外,本发明的其他实施例可以分布于图3中说明的整个若干电路、逻辑单元、或设备中。
类似地,至少一个实施例可以实现在点对点计算机系统中。例如,图4说明了在点对点(PtP)配置中安排的计算机系统。特别地,图4示出了在其中通过多个点对点接口使处理器、存储器和输入/输出设备互连的系统。
图4的系统还可以包括若干处理器,为了清楚起见只示出了其中的两个:处理器870、880。处理器870、880中的每一个可以包括本地存储器控制器中心(MCH)811、821以与存储器850、851连接。处理器870、880可以使用PtP接口电路812、822经由点对点(PtP)接口853交换数据。处理器870、880中的每一个可以使用点对点接口电路813、823、860、861经由各自的PtP接口830、831与芯片组890交换数据。芯片组890也可以经由高性能图形接口862与高性能图形电路852交换数据。本发明的实施例可以耦合到计算机总线(834或835)、或在芯片组890中、或耦合到数据存储设备875、或耦合到图4的存储器850。
然而,本发明的其他实施例可以存在于图4的系统中的其他电路、逻辑单元或设备中。此外,本发明的其他实施例可以分布于图4中说明的整个若干电路、逻辑单元或设备中。
本发明并不限于所描述的实施例,并且可以在所附权利要求的精神和范围内使用修改和改变来进行实施。例如,应当意识到,本发明可适于与所有类型的半导体集成电路(“IC”)芯片一起使用。这些IC芯片的示例包括但不限于处理器、控制器、芯片组部件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片等。此外,应当意识到,可以给出示例性的尺寸/模型/值/范围,尽管本发明的实施例并不限定为是相同的。由于制造技术(例如,光刻术)随着时间变得成熟,所以可以预期能够制造出更小尺寸的设备。
虽然对于本领域的普通技术人员来说,在读完上述描述之后本发明的实施例的许多改变和修改将毋庸置疑地变得显而易见,但是可以理解,以说明的方式描述和示出的任何特定实施例决不旨在被认为是限制性的。所以,提到的各个实施例的细节并不旨在限制权利要求的范围,其中所述权利要求只在其本身中陈述被认为对本发明是必不可少的那些特征。

Claims (15)

1.一种用于执行任务的多内核处理器,包括:
多个处理内核;
涡轮加速模式逻辑,其用于控制所述多个处理内核,使得活动处理内核通过以更高的频率进行操作来转换到涡轮加速模式,而空闲处理内核保持空闲;
性能计算逻辑,其用于计算与在所述多个处理内核间进行选择以处理事件相关联的潜在的性能损失,其中,所述潜在的性能损失包括针对选择所述活动处理内核来处理所述事件的活动性能损失(APL)和针对选择所述空闲处理内核来处理所述事件的唤醒性能损失(WPL);以及
任务路由逻辑,其用于在所述活动处理内核和所述空闲处理内核之间进行选择以用于执行任务来处理所述事件,所述选择基于所述APL和所述WPL之间的比较,其中,功率被引导以唤醒所述空闲处理内核,除非所述比较表明所述APL小于所述WPL。
2.根据权利要求1所述的多内核处理器,其中,处于涡轮加速模式的所述活动处理内核转换到较低的操作频率,以便所述功率能够被引导以唤醒所述空闲处理内核。
3.根据权利要求1所述的多内核处理器,其中,所述WPL基于以下二者:与活动处理内核相关联的操作频率的降低,和正由所述活动处理内核执行的程序的频率缩放因子。
4.根据权利要求1所述的多内核处理器,其中,所述APL基于以下二者的比率:用于执行所述任务的时间段,和所述任务与正由所述活动处理内核执行的程序工作负荷二者的总运行时间。
5.根据权利要求1-4中的任意一项所述的多内核处理器,包括存储器,所述存储器耦合到所述性能计算逻辑,用于保存与正由所述活动处理内核执行的程序的频率缩放因子有关的信息。
6.根据权利要求1-4中的任意一项所述的多内核处理器,其中,所述任务能够由所述多个处理内核中的任意处理内核来执行以处理可重新路由的事件。
7.一种用于改善涡轮加速性能的方法,包括:
通过以更高的频率进行操作,将多个处理内核中的活动处理内核转换到涡轮加速模式,而所述多个处理内核中的空闲处理内核保持空闲;
计算与所述多个处理内核处理事件相关联的潜在的性能损失;
在所述活动处理内核和所述空闲处理内核之间进行选择以用于执行任务来处理所述事件,所述选择基于针对选择所述活动处理内核来执行所述任务的活动性能损失(APL)和针对选择所述空闲处理内核来执行所述任务的唤醒性能损失(WPL)的比较;以及
引导功率以唤醒所述空闲处理内核,除非所述比较表明所述APL小于所述WPL。
8.根据权利要求7所述的方法,还包括:基于与处于所述涡轮加速模式的所述活动处理内核相关联的操作频率的降低和正由所述活动处理内核执行的程序的频率缩放因子,来计算所述WPL。
9.根据权利要求7所述的方法,还包括:基于用于执行所述任务的时间段和所述任务与正由所述活动处理内核执行的程序工作负荷二者的总运行时间的比率,来计算所述APL。
10.根据权利要求7-9中的任意一项所述的方法,还包括:将处于所述涡轮加速模式的所述活动处理内核转换到较低的操作频率,以便所述功率能够被引导以唤醒所述空闲处理内核。
11.一种用于改善涡轮加速性能的系统,包括:
多个处理内核;
涡轮加速模式逻辑,其用于控制所述多个处理内核,使得如果空闲处理内核保持空闲,则活动处理内核能够通过以更高的频率进行操作来转换到涡轮加速模式;
性能计算逻辑,其用于计算与在所述多个处理内核间进行选择以处理事件相关联的潜在的性能损失,其中,所述潜在的性能损失包括针对选择所述活动处理内核来处理所述事件的活动性能损失(APL)和针对选择所述空闲处理内核来处理所述事件的唤醒性能损失(WPL);
任务路由逻辑,其用于在所述活动处理内核和所述空闲处理内核之间进行选择以用于执行任务来处理所述事件,所述选择基于所述APL和所述WPL之间的比较,其中,功率被引导以唤醒所述空闲处理内核,除非所述比较表明所述APL小于所述WPL;以及
存储器,其耦合到所述任务路由逻辑,用于保存要由所述多个处理内核中的一个或更多处理内核执行的程序的频率缩放因子。
12.根据权利要求11所述的系统,其中,所述WPL基于以下二者:与活动处理内核相关联的操作频率的降低,和所述程序在正由所述活动处理内核执行时的频率缩放因子。
13.根据权利要求11所述的系统,其中,所述APL基于以下二者的比率:用于执行所述任务的时间段,和所述任务与正由所述活动处理内核执行的程序工作负荷二者的总运行时间。
14.根据权利要求10-13中的任意一项所述的系统,其中,处于涡轮加速模式的所述活动处理内核转换到较低的操作频率,以便所述功率能够被引导以唤醒所述空闲处理内核。
15.根据权利要求10-13中的任意一项所述的系统,其中,所述任务能够由所述多个处理内核中的任意处理内核来执行以处理可重新路由的事件。
CN201510202019.9A 2009-12-03 2010-09-26 用于提高事件处理的涡轮加速性能的方法和装置 Active CN104850209B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/630,438 2009-12-03
US12/630,438 US9098274B2 (en) 2009-12-03 2009-12-03 Methods and apparatuses to improve turbo performance for events handling
CN201010293325.5A CN102087619B (zh) 2009-12-03 2010-09-26 用于提高事件处理的涡轮加速性能的方法和装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201010293325.5A Division CN102087619B (zh) 2009-12-03 2010-09-26 用于提高事件处理的涡轮加速性能的方法和装置

Publications (2)

Publication Number Publication Date
CN104850209A true CN104850209A (zh) 2015-08-19
CN104850209B CN104850209B (zh) 2018-03-13

Family

ID=43972569

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201110193655.1A Active CN102306111B (zh) 2009-12-03 2010-09-26 用于提高事件处理的涡轮加速性能的方法和装置
CN201510202019.9A Active CN104850209B (zh) 2009-12-03 2010-09-26 用于提高事件处理的涡轮加速性能的方法和装置
CN201410483636.6A Active CN104239152B (zh) 2009-12-03 2010-09-26 用于提高事件处理的涡轮加速性能的方法和装置
CN201010293325.5A Active CN102087619B (zh) 2009-12-03 2010-09-26 用于提高事件处理的涡轮加速性能的方法和装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201110193655.1A Active CN102306111B (zh) 2009-12-03 2010-09-26 用于提高事件处理的涡轮加速性能的方法和装置

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201410483636.6A Active CN104239152B (zh) 2009-12-03 2010-09-26 用于提高事件处理的涡轮加速性能的方法和装置
CN201010293325.5A Active CN102087619B (zh) 2009-12-03 2010-09-26 用于提高事件处理的涡轮加速性能的方法和装置

Country Status (5)

Country Link
US (3) US9098274B2 (zh)
JP (2) JP5406149B2 (zh)
CN (4) CN102306111B (zh)
DE (1) DE102010045743B4 (zh)
TW (3) TWI514284B (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9098274B2 (en) * 2009-12-03 2015-08-04 Intel Corporation Methods and apparatuses to improve turbo performance for events handling
US20120144218A1 (en) * 2010-12-03 2012-06-07 International Business Machines Corporation Transferring Power and Speed from a Lock Requester to a Lock Holder on a System with Multiple Processors
US8862918B2 (en) * 2011-07-01 2014-10-14 Intel Corporation Efficient frequency boost operation
KR101889756B1 (ko) * 2011-09-06 2018-08-21 인텔 코포레이션 전력 효율적 프로세서 아키텍처
EP3483771A1 (en) * 2011-12-30 2019-05-15 Intel Corporation Multi-level cpu high current protection
WO2013137859A1 (en) * 2012-03-13 2013-09-19 Intel Corporation Providing energy efficient turbo operation of a processor
US9436245B2 (en) 2012-03-13 2016-09-06 Intel Corporation Dynamically computing an electrical design point (EDP) for a multicore processor
US9323316B2 (en) 2012-03-13 2016-04-26 Intel Corporation Dynamically controlling interconnect frequency in a processor
US9250869B1 (en) * 2012-03-30 2016-02-02 Emc Corporation Synchronous business process execution engine for action orchestration in a single execution transaction context
US9213381B2 (en) * 2012-05-24 2015-12-15 Ati Technologies Ulc Voltage regulator dynamically determining whether requested power transition can be supported
US9218045B2 (en) * 2012-06-30 2015-12-22 Intel Corporation Operating processor element based on maximum sustainable dynamic capacitance associated with the processor
US9460304B1 (en) * 2012-09-28 2016-10-04 Emc Corporation Data services generation
US9164931B2 (en) 2012-09-29 2015-10-20 Intel Corporation Clamping of dynamic capacitance for graphics
US9336057B2 (en) 2012-12-21 2016-05-10 Microsoft Technology Licensing, Llc Assigning jobs to heterogeneous processing modules
US9110735B2 (en) * 2012-12-27 2015-08-18 Intel Corporation Managing performance policies based on workload scalability
US9348401B2 (en) * 2013-06-25 2016-05-24 Intel Corporation Mapping a performance request to an operating frequency in a processor
US9250910B2 (en) 2013-09-27 2016-02-02 Intel Corporation Current change mitigation policy for limiting voltage droop in graphics logic
US10079019B2 (en) 2013-11-12 2018-09-18 Apple Inc. Always-on audio control for mobile device
US9514715B2 (en) 2013-12-23 2016-12-06 Intel Corporation Graphics voltage reduction for load line optimization
US10031000B2 (en) * 2014-05-29 2018-07-24 Apple Inc. System on a chip with always-on processor
US9778728B2 (en) 2014-05-29 2017-10-03 Apple Inc. System on a chip with fast wake from sleep
US20160117199A1 (en) * 2014-10-28 2016-04-28 Samsung Electronics Co., Ltd. Computing system with thermal mechanism and method of operation thereof
KR20160054850A (ko) * 2014-11-07 2016-05-17 삼성전자주식회사 다수의 프로세서들을 운용하는 장치 및 방법
US9652027B2 (en) 2015-04-01 2017-05-16 Microsoft Technology Licensing, Llc Thread scheduling based on performance state and idle state of processing units
JP2017016250A (ja) * 2015-06-29 2017-01-19 日本電気株式会社 バリア同期装置、バリア同期方法及びプログラム
US10296067B2 (en) * 2016-04-08 2019-05-21 Qualcomm Incorporated Enhanced dynamic clock and voltage scaling (DCVS) scheme
US10565079B2 (en) 2017-09-28 2020-02-18 Intel Corporation Determination of idle power state
US10996725B2 (en) * 2018-08-21 2021-05-04 Nvidia Corporation Power management in a multiple-processor computing device
KR20200084987A (ko) * 2019-01-03 2020-07-14 삼성전자주식회사 전력을 제어하기 위한 전자 회로

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001065357A1 (en) * 2000-03-01 2001-09-07 Interactive Intelligence, Inc. Processing load distribution techniques for call centers and other processing systems
US20030177241A1 (en) * 2002-03-14 2003-09-18 Takeshi Katayama Distributed processing control apparatus, distributed processing system, computer readable medium storing program for distributed processing control, distributed processing control method, and program transmitting method
US20080005592A1 (en) * 2006-06-28 2008-01-03 Jose Allarey Method, apparatus, and system for increasing single core performance in a multi-core microprocessor
CN101154169A (zh) * 2006-09-27 2008-04-02 株式会社东芝 多处理器系统
US20090172423A1 (en) * 2007-12-31 2009-07-02 Justin Song Method, system, and apparatus for rerouting interrupts in a multi-core processor

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6865684B2 (en) 1993-12-13 2005-03-08 Hewlett-Packard Development Company, L.P. Utilization-based power management of a clocked device
US5860024A (en) * 1996-04-15 1999-01-12 Advanced Micro Devices, Inc. Microprocessor with automatic name generation including performance indication
US6041400A (en) 1998-10-26 2000-03-21 Sony Corporation Distributed extensible processing architecture for digital signal processing applications
US20070192863A1 (en) 2005-07-01 2007-08-16 Harsh Kapoor Systems and methods for processing data flows
US6988211B2 (en) 2000-12-29 2006-01-17 Intel Corporation System and method for selecting a frequency and voltage combination from a table using a selection field and a read-only limit field
US7017060B2 (en) 2001-03-19 2006-03-21 Intel Corporation Power management system that changes processor level if processor utilization crosses threshold over a period that is different for switching up or down
US6845456B1 (en) * 2001-05-01 2005-01-18 Advanced Micro Devices, Inc. CPU utilization measurement techniques for use in power management
US7058824B2 (en) 2001-06-15 2006-06-06 Microsoft Corporation Method and system for using idle threads to adaptively throttle a computer
US7830934B2 (en) 2001-08-29 2010-11-09 Cymer, Inc. Multi-chamber gas discharge laser bandwidth control through discharge timing
US7111178B2 (en) * 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US7171570B2 (en) 2001-11-16 2007-01-30 Apple Computer, Inc. Method and apparatus for selectively increasing the operating speed of an electronic circuit
US6813719B2 (en) 2001-11-16 2004-11-02 Apple Computer, Inc. Method and apparatus for increasing the operating frequency of an electronic circuit
US6804632B2 (en) 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US8645954B2 (en) 2001-12-13 2014-02-04 Intel Corporation Computing system capable of reducing power consumption by distributing execution of instruction across multiple processors and method therefore
US7089430B2 (en) 2001-12-21 2006-08-08 Intel Corporation Managing multiple processor performance states
US7036030B1 (en) * 2002-02-07 2006-04-25 Advanced Micro Devices, Inc. Computer system and method of using temperature measurement readings to detect user activity and to adjust processor performance
US6556160B1 (en) 2002-04-17 2003-04-29 Delphi Technologies, Inc. Circuit for converting an analog signal to a PWM signal
US6959297B2 (en) 2002-04-25 2005-10-25 Winnow Technology, Llc System and process for searching within a data stream using a pointer matrix and a trap matrix
JP3825722B2 (ja) 2002-07-02 2006-09-27 東芝エルエスアイシステムサポート株式会社 半導体回路装置
US7076672B2 (en) 2002-10-14 2006-07-11 Intel Corporation Method and apparatus for performance effective power throttling
US7002900B2 (en) 2002-10-25 2006-02-21 Qualcomm Incorporated Transmit diversity processing for a multi-antenna communication system
US7093147B2 (en) * 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
US7240223B2 (en) 2003-05-07 2007-07-03 Apple Inc. Method and apparatus for dynamic power management in a processor system
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
US8190863B2 (en) * 2004-07-02 2012-05-29 Intel Corporation Apparatus and method for heterogeneous chip multiprocessors via resource allocation and restriction
US7219252B1 (en) 2004-07-09 2007-05-15 Cypress Semiconductor Corp. Apparatus and method for dynamic overclocking
US7966511B2 (en) 2004-07-27 2011-06-21 Intel Corporation Power management coordination in multi-core processors
US7451333B2 (en) 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
US7594128B2 (en) 2004-08-04 2009-09-22 Hewlett-Packard Development Company, L.P. Systems and methods to determine processor utilization
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
US7788670B2 (en) * 2004-10-26 2010-08-31 Intel Corporation Performance-based workload scheduling in multi-core architectures
US20060109468A1 (en) 2004-11-24 2006-05-25 Evans Richard W Devices, methods, and systems for measuring an optical property of a sample
US7502948B2 (en) 2004-12-30 2009-03-10 Intel Corporation Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores
US8279886B2 (en) * 2004-12-30 2012-10-02 Intel Corporation Dataport and methods thereof
US20060168571A1 (en) * 2005-01-27 2006-07-27 International Business Machines Corporation System and method for optimized task scheduling in a heterogeneous data processing system
US7698417B2 (en) 2005-06-15 2010-04-13 Microsoft Corporation Optimized performance counter monitoring
US7490254B2 (en) 2005-08-02 2009-02-10 Advanced Micro Devices, Inc. Increasing workload performance of one or more cores on multiple core processors
JP5202315B2 (ja) * 2005-08-09 2013-06-05 サイマー インコーポレイテッド 放電タイミングによる多室ガス放電レーザの帯域幅制御
CN1971523A (zh) 2005-11-26 2007-05-30 鸿富锦精密工业(深圳)有限公司 中央处理器超频控制系统及方法
TW200805047A (en) 2005-12-23 2008-01-16 Koninkl Philips Electronics Nv Performance analysis based system level power management
JP2007328461A (ja) 2006-06-06 2007-12-20 Matsushita Electric Ind Co Ltd 非対称マルチプロセッサ
US7617403B2 (en) 2006-07-26 2009-11-10 International Business Machines Corporation Method and apparatus for controlling heat generation in a multi-core processor
US7584369B2 (en) 2006-07-26 2009-09-01 International Business Machines Corporation Method and apparatus for monitoring and controlling heat generation in a multi-core processor
US7818596B2 (en) 2006-12-14 2010-10-19 Intel Corporation Method and apparatus of power management of processor
DE112007003007T5 (de) 2006-12-14 2009-10-15 Intel Corporation, Santa Clara Verfahren und Vorrichtung für die Energieverwaltung bei einem Prozessor
US7930578B2 (en) 2007-09-27 2011-04-19 International Business Machines Corporation Method and system of peak power enforcement via autonomous token-based control and management
US8284205B2 (en) * 2007-10-24 2012-10-09 Apple Inc. Methods and apparatuses for load balancing between multiple processing units
US8032772B2 (en) 2007-11-15 2011-10-04 Intel Corporation Method, apparatus, and system for optimizing frequency and performance in a multi-die microprocessor
US8578193B2 (en) * 2007-11-28 2013-11-05 International Business Machines Corporation Apparatus, method and program product for adaptive real-time power and perfomance optimization of multi-core processors
US8219993B2 (en) * 2008-02-27 2012-07-10 Oracle America, Inc. Frequency scaling of processing unit based on aggregate thread CPI metric
US8156362B2 (en) * 2008-03-11 2012-04-10 Globalfoundries Inc. Hardware monitoring and decision making for transitioning in and out of low-power state
US20090248988A1 (en) 2008-03-28 2009-10-01 Mips Technologies, Inc. Mechanism for maintaining consistency of data written by io devices
US8010822B2 (en) 2008-03-28 2011-08-30 Microsoft Corporation Power-aware thread scheduling and dynamic use of processors
US8281295B2 (en) 2008-05-23 2012-10-02 International Business Machines Corporation Computer analysis and runtime coherency checking
US9032223B2 (en) * 2008-09-05 2015-05-12 Intel Corporation Techniques to manage operational parameters for a processor
US8219994B2 (en) * 2008-10-23 2012-07-10 Globalfoundries Inc. Work balancing scheduler for processor cores and methods thereof
US8261112B2 (en) * 2008-12-08 2012-09-04 International Business Machines Corporation Optimizing power consumption by tracking how program runtime performance metrics respond to changes in operating frequency
US8230245B2 (en) * 2009-01-23 2012-07-24 Dell Products, L.P. Method and system for operating-system-independent power management using performance verifications
US9098274B2 (en) * 2009-12-03 2015-08-04 Intel Corporation Methods and apparatuses to improve turbo performance for events handling

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001065357A1 (en) * 2000-03-01 2001-09-07 Interactive Intelligence, Inc. Processing load distribution techniques for call centers and other processing systems
US20030177241A1 (en) * 2002-03-14 2003-09-18 Takeshi Katayama Distributed processing control apparatus, distributed processing system, computer readable medium storing program for distributed processing control, distributed processing control method, and program transmitting method
US20080005592A1 (en) * 2006-06-28 2008-01-03 Jose Allarey Method, apparatus, and system for increasing single core performance in a multi-core microprocessor
CN101154169A (zh) * 2006-09-27 2008-04-02 株式会社东芝 多处理器系统
US20090172423A1 (en) * 2007-12-31 2009-07-02 Justin Song Method, system, and apparatus for rerouting interrupts in a multi-core processor

Also Published As

Publication number Publication date
JP2011118871A (ja) 2011-06-16
CN104850209B (zh) 2018-03-13
US20150253833A1 (en) 2015-09-10
TW201137753A (en) 2011-11-01
TW201407481A (zh) 2014-02-16
JP2014056594A (ja) 2014-03-27
DE102010045743B4 (de) 2022-10-13
TWI564806B (zh) 2017-01-01
CN102087619B (zh) 2017-06-13
TW201626221A (zh) 2016-07-16
US9098274B2 (en) 2015-08-04
US9904346B2 (en) 2018-02-27
CN102306111B (zh) 2017-12-19
DE102010045743A1 (de) 2011-06-09
JP6074351B2 (ja) 2017-02-01
US20110138388A1 (en) 2011-06-09
CN102087619A (zh) 2011-06-08
CN104239152A (zh) 2014-12-24
US20110238974A1 (en) 2011-09-29
CN102306111A (zh) 2012-01-04
US9092218B2 (en) 2015-07-28
TWI420393B (zh) 2013-12-21
CN104239152B (zh) 2019-05-10
TWI514284B (zh) 2015-12-21
JP5406149B2 (ja) 2014-02-05

Similar Documents

Publication Publication Date Title
CN104850209A (zh) 用于提高事件处理的涡轮加速性能的方法和装置
US9864427B2 (en) Power efficient processor architecture
US9618997B2 (en) Controlling a turbo mode frequency of a processor
US8402140B2 (en) Methods and apparatus for coordinated energy management in virtualized data centers
US20140089699A1 (en) Power management system and method for a processor
US20070234077A1 (en) Reducing power consumption by load imbalancing
US10528119B2 (en) Dynamic power routing to hardware accelerators
WO2017172027A1 (en) Systems, methods and devices for dynamic power management of devices using game theory
US9652027B2 (en) Thread scheduling based on performance state and idle state of processing units
EP3295276B1 (en) Reducing power by vacating subsets of cpus and memory
Wu et al. Energy-efficient task allocation for VFI-based real-time multi-core systems
JP2009070389A (ja) 処理装置のためのコントローラ
Lenhardt et al. Interplay of power management at core and server level
GB2536825A (en) Power efficient processor architecture
Lenhardt et al. Trends in static power consumption
Staaf et al. Distributed sleep mode handling and task processing in massive multi-core processors

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant