CN102033596A - 用于多核心处理器的低功率操作的方法和装置 - Google Patents

用于多核心处理器的低功率操作的方法和装置 Download PDF

Info

Publication number
CN102033596A
CN102033596A CN201010293647XA CN201010293647A CN102033596A CN 102033596 A CN102033596 A CN 102033596A CN 201010293647X A CN201010293647X A CN 201010293647XA CN 201010293647 A CN201010293647 A CN 201010293647A CN 102033596 A CN102033596 A CN 102033596A
Authority
CN
China
Prior art keywords
processor
core
processor core
group
heart
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
CN201010293647XA
Other languages
English (en)
Other versions
CN102033596B (zh
Inventor
G·M·塞里恩
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 CN102033596A publication Critical patent/CN102033596A/zh
Application granted granted Critical
Publication of CN102033596B publication Critical patent/CN102033596B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

Abstract

描述了用于多核心处理系统的低功率操作的装置、系统和方法的实施例。装置可以包括例如功率管理模块,该功率管理模块可操作来初始化低功率模式,检测一个或多个未聚合的软件线程,并且聚合所述一个或多个未聚合的软件线程以在多核心处理器的一组处理器核心上运行,其中,所述一组处理器核心包括少于所述多核心处理器的处理器核心总数的处理器核心。描述了并要求保护其他实施例。

Description

用于多核心处理器的低功率操作的方法和装置
背景技术
近些年来,现代计算系统的性能已经迅速地提高。性能已经演进出的一个具体领域是处理器技术。当今的计算系统中的许多处理器包括多个核心。对于大小不断减小的计算系统而言,由多核心处理器提供的处理能力的提高也导致了功耗和生热的提高。随着多核心处理器中的处理能力和核心数量不断提高,减小功耗和生热成为着重考虑的问题。因此,期望当可能时适配多核心处理器以节能和减少生热。因此,对调整多核心处理器系统的功耗和生热的技术有实际需要。
附图说明
图1说明了装置的一个实施例。
图2说明了第一逻辑图的一个实施例。
图3说明了第二逻辑图的一个实施例。
图4说明了系统的一个实施例。
具体实施方式
实施例一般地涉及被设计来减小在使用多核心处理器的计算系统中的功耗和生热的技术。各个实施例提供了包括功率管理模块的技术,用于初始化计算系统的低功率模式,检测一个或多个未聚合(un-affinitized)的软件线程,并且聚合(affinitize)该一个或多个未聚合的软件线程,以在多核心处理器的一组处理器核心上运行,其中,该组处理器核心包括的处理器核心数量少于多核心处理器的处理器核心的总数。描述了并要求保护其他实施例。
随着向多核心处理器的使用的不断推进,运行活动工作负载时的功耗已经在稳步升高。虽然多核心处理器已经提供了显著的性能优势,但是,运行活动工作负载时的相关功耗已经使得计算系统在更高的温度下工作,并且由于在工作期间使用风扇和其他冷却设备而导致产生更多的噪声。另外,许多流行的现代操作系统未提供用于在运行中添加和移除处理器核心的手段。此外,处理器的添加和移除通常包括高开销操作,而强制聚合例如通常包括较低开销操作。
在传统的计算系统中,当前可用于减小功耗的仅有手段可以是强制多核心处理器的所有核心降低性能状态(例如,P状态),然后抑制这些核心以试图并维持功率和/或温度在特定水平以下。对于多核心操作,可获得的最大抑制量通常不足以将功耗减小为达到冷却和安静阈值,因为时控核心泄露可能是显著的。在传统的计算系统中,可用于减小功率的仅有手段还可以是将核心布置在低功率或未时控状态中。就这一点而言,当今并没有有效的手段来限制在执行活动工作负载的多核心处理器的功耗。因此,本文描述的各种实施例提供了当执行活动工作负载时减小多核心处理器功耗和生热的有效手段,由此实现多核心处理器系统的冷却和安静工作。
实施例可以包括一个或多个部件。部件可以包括被布置来执行特定操作的任何结构。每一个部件可以如给定的一组设计参数或性能约束所期望的被实现为硬件、软件或其任何组合。虽然通过示例以具有特定布置的特定部件描述了实施例,但是实施例可以包括具有替代布置的部件的其他组合。
值得注意的是,对于“一个实施例”或“实施例”的任何引用表示结合实施例描述的特定特征、结构或特性被包括在至少一个实施例中。在说明书中各处出现的短语“在一个实施例中”和“在实施例中”并不一定全都指同一实施例。
图1说明了装置的一个实施例。图1说明了装置100的框图。在一些实施例中,装置100可以包括计算系统。如图1中所示,装置100包括多个部件,诸如功率管理模块102、存储器104、操作系统106和多核心处理器108,多核心处理器108包括核心108-1-m。然而,实施例不限于在此图中所示的部件或配置。
在各个实施例中,多核心处理器108可以包括中央处理单元,该中央处理单元包括一个或多个处理器核心108-1-m。处理器108可以包括任何类型的处理单元,诸如CPU、多处理单元、精简指令集计算机(RISC)、具有流水线的处理器、复杂指令集计算机(CISC)和数字信号处理器(DSP)等。
在各个实施例中,存储器104可以包括任意合适类型的存储器单元、存储器设备、存储器制品、存储器介质、存储设备、存储制品、存储介质和/或存储单元,例如,存储器,可移动或不可移动介质、、易失性或非易失性存储器或介质、可擦除或不可擦除介质、可写或可重写介质、数字或模拟介质、硬盘、软盘、光盘只读存储器(CD-ROM)、可记录光盘(CD-R)、可重写光盘(CD-RW)、光学盘、磁介质、磁-光介质、可移动存储器卡或盘、各种类型数字通用盘(DVD)、磁带、卡带等等。
在一些实施例中,操作系统(OS)106可以包括在装置100的各个硬件组件和用户之间的接口。在各个实施例中,OS 106可以负责活动的管理和协调以及计算系统100的资源的共享。在一些实施例中,OS 106可以作为在计算系统100上运行的各种计算应用的宿主。例如,在一些实施例中,OS 106可以包括在华盛顿雷德蒙德的Microsoft 
Figure BSA00000285870300032
操作系统。描述了并要求保护其他实施例。
在各个实施例中,功率管理模块102可以包括软件驱动程序或应用,用于管理计算系统100的功率和生热。在一些实施例中,功率管理模块102可以包括在OS 106下运行的软件驱动程序,该软件驱动程序控制特定功率方案(诸如冷却和安静功率方案或低功率方案)的进入和管理。在各个实施例中,低功率方案可以包括可配置的方案,该可配置的方案减小在活动工作负载期间的处理器功耗。应当明白,虽然功率管理模块102被示出为在计算系统100中的独立组件,但是其可以作为OS 106的一部分被包括在存储器104中,或包括在任何其他位置或配置中,并且仍然落入所描述的实施例内。描述了并要求保护其他实施例。
在一些实施例中,功率管理模块102可操作来初始化计算系统100的低功率模式。与正常或传统的操作模式相比较,低功率模式(或冷却和安静模式)可以包括可配置的功率方案,该可配置的功率方案被适配来使得计算系统100以减小的功耗、减小的生热和减小的噪声来工作。
可以通过用户按下按钮或基于检测的系统性能和/或系统或组件状况而进入特定功率方案,来使得进行低功率模式的初始化。例如,在一些实施例中,功率管理模块102可以接收与功耗和/或当前由计算系统100的各个组件产生的热量或噪声水平相关的信息,并且可以自动地进入低功率模式内。在一些实施例中,用户可以通过下述方式来手动地启动低功率模式:在硬件或软件中按下按钮以使能低功率模式,或者使能或激活低功率模式系统偏好。描述了并要求保护其他实施例。
在各个实施例中,功率管理模块102可以监控活动工作负载,并且在进入低功率模式后重新分配特定的工作负载。例如,功率管理模块102可以监控与在计算系统100上运行的一个或多个活动应用相关的软件线程。软件线程可以包括例如被执行来执行任务的指令。在一些实施例中,在诸如计算系统100的多核心系统中,线程或任务可以同时(例如,并行)运行,其中每一个处理器108或每一个处理器核心108-1-m运行一个特定的线程或任务。虽然一些传统的计算系统的确包含聚合线程的能力,但是通常并未实现这个能力,因为要获得任何实质的益处通常需要专门的系统知识。在许多传统系统中,大多数应用不将它们的任务聚合到特定的处理器。例如,在传统系统中,OS调度器可以简单地以它的判断在逻辑处理器上运行软件线程。换句话说,在传统计算系统中的OS调度器可以调度线程在所有可用的逻辑处理器(例如,处理器核心108-1-m)上运行。
在一些实施例中,功率管理模块102可操作来检测一个或多个未聚合的软件线程。例如,功率管理模块102可以例如针对线程创建、删除和/或模式改变而持续监控诸如OS 106的OS环境,并且可以识别未聚合并且未免除聚合或排除聚合的线程。在各个实施例中,功率管理模块102可操作来聚合一个或多个未聚合的软件线程,以在多核心处理器108的一组处理器核心上运行。例如,功率管理模块102可以聚合一个或多个未聚合的软件线程,以在少于多核心处理器108的处理器核心总数的处理器核心上运行。描述了并要求保护其他实施例。
在一些实施例中,当在低功率模式中时,功率管理模块102可以持续地将所有未聚合的软件线程聚合到配置的特定一组逻辑处理器。在各个实施例中,当已知处理器拓扑时,可以设定或选择软件线程被聚合来在其上运行的一组处理器核心,使得排除与专用物理处理器核心相关的逻辑处理器。例如,功率管理模块102可操作来检测多核心处理器108的处理器核心108-1-m的每一个的功率特性或热特性,并且基于功率特性或热特性来选择用于聚合的一组处理器核心。
在一些实施例中,当作为调用低功率模式的结果,OS调度器停止在某些核心上调度工作时,这些核心自然变得空闲并且进入处理器低功率状态。虽然这可能例如使得在更少数量的处理器核心上有更高的利用率(utilization),但是计算系统100的整体性能可能与功耗、生热或噪声产生一起降低。此外,在一些实施例中,功率管理模块102可操作来接连地减少在所选择的一组处理器核心中的处理器核心的数量,并且聚合一个或多个未聚合的软件线程以在减少后的该组处理器核心上运行,从而持续地减小功耗和生热以及噪声产生。描述了并要求保护其他实施例。
在各个实施例中,可以通过下述方式来调用计算系统的最低功率操作:将所有的软件线程聚合到一个处理器核心,有效地仿真处理器除热操作实现的效果。例如,在一些实施例中,功率管理模块102可操作来聚合一个或多个未聚合的软件线程,以在多核心处理器108的多个处理器核心108-1-m之一上运行。
将所有的软件线程聚合到一个处理器核心可以使得减小计算系统100的功耗和生热以及噪声产生。然而,在一些实施例中,可以通过下述方式来进一步减小功耗和生热以及噪声产生:在已经实现了有效的单个核心操作后,将OS 106使用的处理器性能状态降低到配置数量的较低性能状态。例如,功率管理模块102可操作来降低针对线程聚合选择的一组处理器核心中的一个或多个多核心处理器108-1-m的处理器性能状态。在各个实施例中,可以通过针对剩余的核心将OS P状态使用限制为单个最低功率P状态来实现较低功率操作。描述了并要求保护其他实施例。
在一些实施例中,在所有线程已经被聚合来在单个处理器核心上执行并且该核心正工作在其最低P状态后,可以使用线性抑制来实现进一步的活动工作负载功率降低。例如,功率管理模块102可操作来向一组处理器核心中的一个或多个处理器核心应用线性抑制。然而,在各个实施例中,线性抑制操作本身可能具有影响系统性能的功率花费。因此,例如,可以检测利用率,并且可以仅当利用率升高到高于可配置的阈值时应用抑制。例如,功率管理模块102可操作来基于利用率阈值来应用线性抑制。
在一些实施例中,可以将利用率阈值设定在对系统的正回馈点(例如,抑制将减小功率而不是提高功率的点)处。
图2说明了逻辑流程200的一个实施例。逻辑流程200可以由各个系统和/或设备执行,并且可以如给定的一组设计参数或性能约束所要求的被实现为硬件、软件和/或其任何组合。例如,逻辑流程200的一个或多个操作可以通过要由逻辑设备(例如,计算机、处理器)执行的可执行的编程或计算机可读指令来实现。逻辑流程200可以描述上面参照装置100和功率管理模块102所描述的节能特征。
在各个实施例中,在202,可以进入或初始化低功率模式。例如,用户可以通过按下按钮或以其他方式指示期望进入计算系统上的低功率模式来选择低功率模式。在204,可以检测一个或多个软件线程。例如,设备驱动程序或其他应用程序可以被配置为持续监控和检测被调度来由多核心处理器执行的软件线程。在206,确定检测到的软件线程是否被聚合。如果一个或多个线程已经被聚合或者免除聚合或排除聚合,则这些线程的聚合不被改变。如果未检测到未聚合的线程,则软件线程的持续监控和检测可以进行。
在一些实施例中,如果一个或多个线程未被聚合并且未免除聚合或排除聚合,则在206可以聚合这些线程。例如,可以将未聚合的线程调度来在少于多核心处理器的可用核心总数的处理器核心上执行。在对检测到的未聚合的线程进行强制聚合后,在210确定使能和/或期望静态配置还是动态配置。例如,可以选择包括预定性能准则的静态配置,或者可以选择包括性能目标的动态配置,所述性能目标被满足,而无论产生何种配置。描述了并要求保护其他实施例。
如果选择了静态配置,则在222,为剩余的处理器或处理器核心选择预定性能状态(例如,P状态)。在224,确定是否已经选择了最低P状态,并且如果是,则在226确定是否已经满足了利用率阈值。如果是,则在228可以应用抑制。描述了并要求保护其他实施例。
在各个实施例中,如果选择了动态确认,则在212确定是否期望更多的节能或是否已经满足了建立的热或声目标。如果期望额外的节能或还没有满足目标,则在214可以降低针对软件线程的聚合所选择的核心的性能状态(例如,P状态)。在各个实施例中,在216确定是否期望进一步的节能或是否仍未满足热或声目标。如果期望额外的节能或还没有满足目标,则在218确定是否已经超过了利用率阈值,并且如果已经超过,则在220可以应用线性抑制。
在一些实施例中,动态配置可以包括接连地聚合线程以使用逻辑处理器,直到满足目标。例如,动态配置可以包括:接连减少所使用的核心数量,直到满足目标。描述了并要求保护其他实施例。
在各个实施例中,可以因为任何数量的原因在任何时间退出低功率模式,所述原因包括但是不限于例如用户选择的退出或基于性能的退出。在一些实施例中,在240可以检测从低功率模式的退出。在各个实施例中,例如,当退出抑制和P状态与核心使用时和/或当已经达到目标时,在动态配置中可以发生退出。在从低功率模式退出的情况下,在242可以对聚合的线程进行去聚合,并且在244,系统可以恢复正常操作。描述了并要求保护其他实施例。
虽然根据软件线程描述了某些实施例,但是应当明白,可以使用任何数量的线程和多核心处理器的任何数量的核心,并且仍然落在所描述的实施例内。此外,应当明白,在一些实施例中,逻辑流程200可以被实现或布置来并行地执行任务,包括基本同时地处理多个线程和控制多个核心。此外,也应当明白,逻辑流程200仅是逻辑流程的一个示例,并且可以实现不同数量、顺序和/或布置的在逻辑流程200中描述的操作,并仍然落在所描述的实施例内。描述了并要求保护其他实施例。
图3说明了第二逻辑流程300的一个实施例。和上面参考逻辑流程200所描述的一样,逻辑流程300可以通过各种系统和/或设备来执行,并且可以如给定的一组设计参数或性能约束所期望的实现为硬件、软件和/或其任何组合。例如,逻辑流程300的一个或多个操作可以通过要由逻辑设备(例如,计算机、处理器)执行的可执行编程或计算机可读指令来实现。
在一个实施例中,在302,可以初始化低功率模式。例如,功率管理模块102可以初始化计算系统100的低功率或冷却和安静操作模式。在302,可以检测一个或多个未聚合的软件线程。例如,功率管理模块102可以检测被调度来由多核心处理器108执行的一个或多个未聚合的软件线程。
在各个实施例中,在306,该一个或多个未聚合的软件线程可以被聚合以在多核心处理器的一组处理器核心上运行。在一些实施例中,该组处理器核心包括少于多核心处理器的处理器核心总数的处理器核心。例如,在一个实施例中,该一个或多个未聚合的软件线程可以被聚合以在多核心处理器108的多个处理器核心108-1-m之一上运行。描述了并要求保护其他实施例。
在一些实施例中,可以检测多核心处理器的每一个处理器核心的功率特性和/或热特性,并且可以基于功率特性和/或热特性来选择所述一组处理器核心。例如,功率管理模块102可以监控各个计算系统100组件,并且基于这些组件的特性来选择用于软件线程聚合的一组处理器核心108-1-m。
在各个实施例中,在一组处理器核心中的处理器核心的数量可以被接连减少,并且一个或多个未聚合的软件线程可以被聚合以在减少的该组处理器核心上运行。例如,功率管理模块102可操作来持续监控多核心处理器108和多核心处理器108正在执行或被调度来由多核心处理器108执行的任何软件线程,并且当有保证时,可以进一步减少用于软件线程聚合的该组所选择的核心。
在一些实施例中,当除了使用线程聚合实现的节能之外还期望进一步的节能时,可以降低在所述一组处理器核心中的一个或多个处理器核心的性能状态。例如,如果多核心处理器108的单核心正在用于执行多个软件线程,则可以通过降低该单个核心的P状态来实现额外的节能。如果向一组处理器核心中的一个或多个处理器核心应用线性抑制,则还可以实现进一步的节能。在各个实施例中,基于利用率阈值来应用线性抑制。描述了并要求保护其他实施例。
图4是示例性系统实施例的图。具体而言,图4是示出可以包括各种部件的系统400的图。例如,图4示出了系统400,其可包括处理器402、芯片组404、输入/输出(I/O)设备406、随机存取存储器(RAM)(例如动态RAM(DRAM))408、只读存储器(ROM)410,以及各种平台组件414(例如风扇、贯流式风机、散热片、DTM系统、冷却系统、外壳、通风口等等)。这些部件可以用硬件、软件、固件或其任意组合来实现。然而实施例并不限于这些部件。
如图4所示,I/O设备406、RAM 408和ROM 410通过芯片组404耦合到处理器402。芯片组404可通过总线412耦合到处理器402。相应地,总线412可包括多个线。
处理器402可以是包括一个或多个处理器核心的中央处理单元,并且可包括具有任何数量的处理器核心的任何数量的处理器。处理器402可包括任何类型的处理单元,例如,CPU、多重处理单元、精简指令集计算机(RISC)、具有流水线的处理器、复杂指令集计算机(CISC)、数字信号处理器(DSP),等等。
尽管没有示出,但是系统400可包括各种接口电路,例如以太网接口和/或通用串行总线(USB)接口,等等。在一些示例性实施例中,I/O设备406可包括连接到接口电路的一个或多个输入设备,用于输入数据和命令到系统400中。例如,输入设备可包括键盘、鼠标、触摸屏、轨迹垫、轨迹球、isopoint、语音识别系统,等等。类似地,I/O设备406可包括连接到接口电路的一个或多个输出设备,用于向操作者输出信息。例如,输出设备可包括一个或多个显示器、打印机、扬声器,和/或期望的其它输出设备。例如,一个输出设备可以是显示器。显示器可以是阴极射线管(CRT)、液晶显示器(LCD),或任何其它类型的显示器。
系统400也可具有有线或无线网络接口,以通过到网络的连接与其它设备交换数据。网络连接可以是任何类型的网络连接,例如以太网连接、数字用户线(DSL)、电话线路、同轴电缆等。网络可以是任何类型的网络,例如因特网、电话网络、电缆网络、无线网络、分组交换网络、电路交换网络,等等。
本文给出了许多具体的细节以提供对实施例的透彻理解。然而,本领域技术人员将理解,可以在没有这些具体细节的情况下实践这些实施例。在其它实例中,公知的操作、组件和电路没有进行详细描述,以免模糊这些实施例。可以意识到,本文公开的具体的结构和功能细节可以是代表性的,并且并不必然限制这些实施例的范围。
可以使用硬件部件、软件部件或两者的组合来实现各种实施例。硬件部件的例子可包括处理器、微处理器、电路、电路部件(如晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的例子可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号,或它们的任意组合。确定是否使用硬件部件和/或软件部件来实现实施例可根据任何数量的因素而改变,所述因素例如,期望的计算速率、功率级别、热容忍性、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束。
可以使用措辞“耦合”和“连接”及其派生词来描述一些实施例。这些术语不是旨在表示彼此同义。例如,可以使用术语“连接”和/或“耦合”来描述一些实施例,以指示两个或更多部件彼此直接物理或电气接触。然而,术语“耦合”还可以意味着两个或更多部件彼此不直接接触却仍然彼此共同操作或交互。
例如,可以使用可存储指令、指令集或计算机可执行代码的机器可读或计算机可读介质或制品来实现一些实施例,当机器或处理器执行该指令、指令集或计算机可执行代码时,可以导致机器或处理器执行根据实施例的方法和/或操作。该机器可以包括,例如,任意合适的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理器等等,并且可以使用硬件和/或软件的任意合适组合来实现。机器可读介质或制品可以包括,例如,任意合适类型的存储器单元、存储器设备、存储器制品、存储器介质、存储设备、存储制品、存储介质和/或存储单元,例如,存储器,可移动或不可移动介质、易失性或非易失性存储器或介质、可擦除或不可擦除介质、可写或可重写介质、数字或模拟介质、硬盘、软盘、光盘只读存储器(CD-ROM)、可记录光盘(CD-R)、可重写光盘(CD-RW)、光学盘、磁介质、磁-光介质、可移动存储器卡或盘、各种类型数字通用盘(DVD)、磁带、卡带等等。指令可以包括使用任意合适的高级、低级、面向对象、可视、编译和/或解释编程语言来实现的任意合适类型的代码,例如,源代码、已编译代码、已解释代码、可执行代码、静态代码、动态代码、已加密代码等等。
若非具体声明另有所指,否则可以意识到,诸如“处理”、“计算”、“运算”、“确定”等等的术语是指计算机或计算系统或类似的电子计算设备的动作和/或过程,其将计算系统的寄存器和/或存储器中被表示为物理量(例如,电子)的数据操作和/或变换为计算系统的存储器、寄存器或其它此类信息存储、传输或显示设备中被类似地表示为物理量的其它数据。实施例不限于该环境。
应该注意到,不必按照所述的次序或任意特定次序来执行本文所述的方法。此外,参考本文所确定的方法所描述的各种活动可以以串行或并行方式执行。
虽然本文说明并且描述了具体的实施例,但是应该意识到,对于所示的具体实施例,可以使用用于实现同一目的的任意配置来代替。本公开旨在覆盖各实施例的任意和全部改变或变化。应该理解,以示例性的方式而不是限制性的方式进行了上述描述。在阅读了上述描述之后,上述实施例的组合以及本文中未具体描述的其它实施例对于本领域技术人员而言将是显而易见的。因此,各实施例的范围包括使用以上组合、结构和方法的任意其它应用。
要强调的是,提供了本公开的摘要以符合37C.F.R.§1.72(b),其要求摘要以允许读者快速确定本技术公开的特性。提交了摘要但是要理解该摘要不会用于解释或限制权利要求的范围和意义。另外,在前述详细描述中可以看到,为了流水化本公开的目的而将各种特征组合到单个实施例中。不能将本公开的该方法解释为反应了所要求保护的实施例需要的特征比每个权利要求中明确表述的更多。而是,根据所附权利要求所反应的,发明性的主题所依赖的特征少于单个公开实施例中的全部特征。因此,将所附权利要求并入该详细描述,其中每个权利要求自己表示独立的优选实施例。在所附权利要求中,使用术语“包括”和“其中”来分别作为术语“包含”和“在其中”的纯英语的等效词语。并且,术语“第一”、“第二”和“第三”等等仅被作为标记而并非旨在将数字要求强加在其对象上。
虽然已经采用专用于结构特征和/或方法动作的语言描述了本主题,但是要理解,在所附权利要求中所定义的主题不必限于上述具体特征或动作。而是,上述具体特征和动作是作为实现权利要求的示例性形式而被公开的。

Claims (29)

1.一种方法,包括:
检测用于低功率模式的一个或多个未聚合的软件线程;以及
聚合所述一个或多个未聚合的软件线程以在多核心处理器的一组处理器核心上运行,其中,所述一组处理器核心包括少于所述多核心处理器的处理器核心总数的处理器核心。
2.根据权利要求1所述的方法,包括:
降低所述一组处理器核心中的一个或多个处理器核心的处理器性能状态。
3.根据权利要求1所述的方法,包括:
向所述一组处理器核心中的一个或多个处理器核心应用线性抑制。
4.根据权利要求3所述的方法,包括:
基于利用率阈值来应用所述线性抑制。
5.根据权利要求1所述的方法,包括:
通过功率管理模块来检测所述多核心处理器的每一个处理器核心的功率特性或热特性;以及
通过所述功率管理模块基于所述功率特性或热特性来选择所述一组处理器核心。
6.根据权利要求1所述的方法,包括:
通过所述功率管理模块接连地减少所述一组处理器核心中的处理器核心的数量;以及
通过所述功率管理模块聚合所述一个或多个未聚合的软件线程,以在减少后的所述一组处理器核心上运行。
7.根据权利要求1所述的方法,包括:
聚合所述一个或多个未聚合的软件线程,以在所述多核心处理器的多个处理器核心之一上运行。
8.一种装置,包括:
功率管理模块,其可操作来检测用于低功率模式的一个或多个未聚合的软件线程,并且聚合所述一个或多个未聚合的软件线程以在多核心处理器的一组处理器核心上运行,其中,所述一组处理器核心包括少于所述多核心处理器的处理器核心总数的处理器核心。
9.根据权利要求8所述的装置,其中,所述功率管理模块可操作来降低所述一组处理器核心中的一个或多个处理器核心的处理器性能状态。
10.根据权利要求8所述的装置,其中,所述功率管理模块可操作来向所述一组处理器核心中的一个或多个处理器核心应用线性抑制。
11.根据权利要求10所述的装置,其中,所述功率管理模块可操作来基于利用率阈值来应用所述线性抑制。
12.根据权利要求8所述的装置,其中,所述功率管理模块可操作来检测所述多核心处理器的每一个处理器核心的功率特性或热特性,并且基于所述功率特性或热特性来选择所述一组处理器核心。
13.根据权利要求8所述的装置,其中,所述功率管理模块可操作来接连减少所述一组处理器核心中的处理器核心的数量,并且聚合所述一个或多个未聚合的软件线程以在减少后的所述一组处理器核心上运行。
14.根据权利要求8所述的装置,其中,所述功率管理模块可操作来聚合所述一个或多个未聚合的软件线程,以在所述多核心处理器的多个处理器核心之一上运行。
15.一种制品,包括计算机可读存储介质,所述计算机可读存储介质包含指令,所述指令如果被处理器执行则使得系统能够:
检测用于低功率模式的一个或多个未聚合的软件线程;以及
聚合所述一个或多个未聚合的软件线程以在多核心处理器的一组处理器核心上运行,其中,所述一组处理器核心包括少于所述多核心处理器的处理器核心总数的处理器核心。
16.根据权利要求15所述的制品,包括如果被执行则使得所述系统能够降低所述一组处理器核心中的一个或多个处理器核心的处理器性能状态的指令。
17.根据权利要求15所述的制品,包括如果被执行则使得所述系统能够向所述一组处理器核心中的所述一个或多个处理器核心应用线性抑制的指令。
18.根据权利要求17所述的制品,包括如果被执行则使得所述系统能够基于利用率阈值来应用所述线性抑制的指令。
19.根据权利要求15所述的制品,包括如果被执行则使得所述系统能够进行以下操作的指令:检测所述多核心处理器的每一个处理器核心的功率特性或热特性,并且基于所述功率特性或热特性来选择所述一组处理器核心。
20.根据权利要求15所述的制品,包括如果被执行则使得所述系统能够进行以下操作的指令:接连地减少所述一组处理器核心中的处理器核心的数量,并且聚合所述一个或多个未聚合的软件线程以在减少后的所述一组处理器核心上运行。
21.根据权利要求15所述的制品,包括如果被执行则使得所述系统能够进行以下操作的指令:聚合所述一个或多个未聚合的软件线程,以在所述多核心处理器的多个处理器核心之一上运行。
22.一种系统,包括:
多核心处理器;以及
功率管理模块,其可操作来检测用于低功率模式的一个或多个未聚合的软件线程,并且聚合所述一个或多个未聚合的软件线程以在所述多核心处理器的一组处理器核心上运行,其中,所述一组处理器核心包括少于所述多核心处理器的处理器核心总数的处理器核心。
23.根据权利要求22所述的系统,其中,所述功率管理模块可操作来降低所述一组处理器核心中的一个或多个处理器核心的处理器性能状态。
24.根据权利要求22所述的系统,其中,所述功率管理模块可操作来向所述一组处理器核心中的一个或多个处理器核心应用线性抑制。
25.根据权利要求24所述的系统,其中,所述功率管理模块可操作来基于利用率阈值来应用所述线性抑制。
26.根据权利要求22所述的系统,其中,所述功率管理模块可操作来检测所述多核心处理器的每一个处理器核心的功率特性或热特性,并且基于所述功率特性或热特性来选择所述一组处理器核心。
27.根据权利要求22所述的系统,其中,所述功率管理模块可操作来接连地减少所述一组处理器核心中的处理器核心的数量,并且聚合所述一个或多个未聚合的软件线程以在减少后的所述一组处理器核心上运行。
28.根据权利要求22所述的系统,其中,所述功率管理模块可操作来聚合所述一个或多个未聚合的软件线程,以在所述多核心处理器的多个处理器核心之一上运行。
29.根据权利要求22所述的系统,包括:
易失性存储器,用于存储所述功率管理模块。
CN201010293647.XA 2009-09-26 2010-09-26 用于多核心处理器的低功率操作的方法和装置 Expired - Fee Related CN102033596B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/567,755 2009-09-26
US12/567,755 US8543857B2 (en) 2009-09-26 2009-09-26 Method and apparatus for low power operation of multi-core processors

Publications (2)

Publication Number Publication Date
CN102033596A true CN102033596A (zh) 2011-04-27
CN102033596B CN102033596B (zh) 2015-11-25

Family

ID=43781622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010293647.XA Expired - Fee Related CN102033596B (zh) 2009-09-26 2010-09-26 用于多核心处理器的低功率操作的方法和装置

Country Status (4)

Country Link
US (1) US8543857B2 (zh)
JP (2) JP2011070661A (zh)
CN (1) CN102033596B (zh)
TW (2) TWI489262B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102682741A (zh) * 2012-05-30 2012-09-19 华为技术有限公司 一种多显示控制系统及多显示控制系统的实现方法
CN103688042A (zh) * 2011-07-20 2014-03-26 丰田自动车株式会社 用于内燃机的控制装置
CN103809730A (zh) * 2014-02-18 2014-05-21 上海新储集成电路有限公司 一种低功耗可穿戴设备系统
CN104408333A (zh) * 2012-09-24 2015-03-11 江苏理工学院 一种基于片上系统多核融合的软件保护装置
CN107003710A (zh) * 2014-11-20 2017-08-01 苹果公司 包括多个相异的处理器核心的处理器
CN112947736A (zh) * 2011-12-22 2021-06-11 英特尔公司 具有相同的指令集架构(isa)的非对称性能多核架构
CN113835895A (zh) * 2015-12-22 2021-12-24 英特尔公司 用于具有不同能力的核心的线程和/或虚拟机调度

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8166319B2 (en) * 2009-07-02 2012-04-24 Telefonaktiebolaget L M Ericsson (Publ) Methods and systems for use-case aware voltage selection
US9360914B2 (en) * 2010-01-12 2016-06-07 Oracle America, Inc. System and method for controlling energy usage in a server
US8607083B2 (en) * 2010-04-01 2013-12-10 Intel Corporation Method and apparatus for interrupt power management
US9086883B2 (en) 2011-06-10 2015-07-21 Qualcomm Incorporated System and apparatus for consolidated dynamic frequency/voltage control
JP5644949B2 (ja) * 2011-09-12 2014-12-24 トヨタ自動車株式会社 内燃機関の制御装置
US9488115B2 (en) * 2011-10-04 2016-11-08 Toyota Jidosha Kabushiki Kaisha Control device of internal combustion engine
US9442773B2 (en) 2011-11-21 2016-09-13 Qualcomm Incorporated Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip
CN106909444B (zh) * 2011-12-22 2021-01-12 英特尔公司 用于指定应用线程性能状态的指令的指令处理装置及相关方法
JP2013222321A (ja) 2012-04-17 2013-10-28 Sony Corp メモリ制御装置、メモリ制御方法、情報処理装置、およびプログラム
US9075611B2 (en) * 2012-09-12 2015-07-07 Htc Corporation Electronic device with power management mechanism and power management method thereof
US9250682B2 (en) 2012-12-31 2016-02-02 Intel Corporation Distributed power management for multi-core processors
US10402232B2 (en) * 2013-02-11 2019-09-03 Wind River Systems, Inc. Method and system for deterministic multicore execution
CN103336723B (zh) * 2013-07-21 2017-03-29 哈尔滨理工大学 基于关键路径的适应处理器内核紧缺调度方法
KR20150050135A (ko) * 2013-10-31 2015-05-08 삼성전자주식회사 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법
US9557797B2 (en) 2014-05-20 2017-01-31 Qualcomm Incorporated Algorithm for preferred core sequencing to maximize performance and reduce chip temperature and power
US9395797B2 (en) 2014-07-02 2016-07-19 Freescale Semiconductor, Inc. Microcontroller with multiple power modes
US9190989B1 (en) 2014-10-07 2015-11-17 Freescale Semiconductor, Inc. Integrated circuit power management
JP6518087B2 (ja) * 2015-03-09 2019-05-22 キヤノン株式会社 プログラム処理装置
TWI561960B (en) * 2015-11-05 2016-12-11 Sunplus Technology Co Ltd Clock providing system
US10073718B2 (en) * 2016-01-15 2018-09-11 Intel Corporation Systems, methods and devices for determining work placement on processor cores
CN105700664B (zh) * 2016-01-17 2019-03-26 创启科技(广州)有限公司 一种移动终端省电的方法及移动终端
JP6798900B2 (ja) * 2017-02-14 2020-12-09 Necプラットフォームズ株式会社 制御装置、情報システムおよび制御方法
US20230222619A1 (en) * 2022-01-13 2023-07-13 Nvidia Corporation Techniques for using contextual information

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1577280A (zh) * 2003-07-15 2005-02-09 英特尔公司 提高多内核处理器性能的方法、系统和装置
US6901522B2 (en) * 2001-06-07 2005-05-31 Intel Corporation System and method for reducing power consumption in multiprocessor system
WO2008091479A1 (en) * 2007-01-26 2008-07-31 Microsoft Corporation Linked shell
US20090187909A1 (en) * 2008-01-22 2009-07-23 Russell Andrew C Shared resource based thread scheduling with affinity and/or selectable criteria

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7287254B2 (en) * 2002-07-30 2007-10-23 Unisys Corporation Affinitizing threads in a multiprocessor system
US7389506B1 (en) * 2002-07-30 2008-06-17 Unisys Corporation Selecting processor configuration based on thread usage in a multiprocessor system
EP1555595A3 (en) * 2004-01-13 2011-11-23 LG Electronics, Inc. Apparatus for controlling power of processor having a plurality of cores and control method of the same
JP4553307B2 (ja) * 2004-11-19 2010-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、制御方法、及びプログラム
JP2006236159A (ja) 2005-02-25 2006-09-07 Toshiba Corp 情報処理装置及びその省電力制御方法
JP2006319670A (ja) 2005-05-12 2006-11-24 Sumitomo Electric Ind Ltd 通信システム及び中継装置
US7512530B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Generation of software thermal profiles for applications in a simulated environment
TWI344793B (en) * 2006-07-24 2011-07-01 Ind Tech Res Inst Power aware method and apparatus of video decoder on a multi-core platform
JP2009017044A (ja) 2007-07-02 2009-01-22 Toshiba Corp パルス分析装置及びパルス分析方法
JP5182792B2 (ja) * 2007-10-07 2013-04-17 アルパイン株式会社 マルチコアプロセッサ制御方法及び装置
JP4448163B2 (ja) * 2007-11-21 2010-04-07 レノボ・シンガポール・プライベート・リミテッド コンピュータ・システムおよびプロセスに対するデバイスの管理方法
WO2009085549A2 (en) * 2007-12-21 2009-07-09 Sandisk Corporation Self-configurable multi-regulator asic core power delivery
US8010822B2 (en) * 2008-03-28 2011-08-30 Microsoft Corporation Power-aware thread scheduling and dynamic use of processors
US8239699B2 (en) * 2009-06-26 2012-08-07 Intel Corporation Method and apparatus for performing energy-efficient network packet processing in a multi processor core system
US20110022870A1 (en) * 2009-07-21 2011-01-27 Microsoft Corporation Component power monitoring and workload optimization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901522B2 (en) * 2001-06-07 2005-05-31 Intel Corporation System and method for reducing power consumption in multiprocessor system
CN1577280A (zh) * 2003-07-15 2005-02-09 英特尔公司 提高多内核处理器性能的方法、系统和装置
WO2008091479A1 (en) * 2007-01-26 2008-07-31 Microsoft Corporation Linked shell
US20090187909A1 (en) * 2008-01-22 2009-07-23 Russell Andrew C Shared resource based thread scheduling with affinity and/or selectable criteria

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103688042A (zh) * 2011-07-20 2014-03-26 丰田自动车株式会社 用于内燃机的控制装置
CN103688042B (zh) * 2011-07-20 2015-09-30 丰田自动车株式会社 用于内燃机的控制装置
CN112947736A (zh) * 2011-12-22 2021-06-11 英特尔公司 具有相同的指令集架构(isa)的非对称性能多核架构
CN112947736B (zh) * 2011-12-22 2024-04-09 英特尔公司 具有相同的指令集架构(isa)的非对称性能多核架构
CN102682741A (zh) * 2012-05-30 2012-09-19 华为技术有限公司 一种多显示控制系统及多显示控制系统的实现方法
CN104408333A (zh) * 2012-09-24 2015-03-11 江苏理工学院 一种基于片上系统多核融合的软件保护装置
CN104408333B (zh) * 2012-09-24 2017-06-13 江苏理工学院 一种基于片上系统多核融合的软件保护装置
CN103809730B (zh) * 2014-02-18 2016-08-17 上海新储集成电路有限公司 一种低功耗可穿戴设备系统
CN103809730A (zh) * 2014-02-18 2014-05-21 上海新储集成电路有限公司 一种低功耗可穿戴设备系统
CN107003710A (zh) * 2014-11-20 2017-08-01 苹果公司 包括多个相异的处理器核心的处理器
CN107003710B (zh) * 2014-11-20 2020-01-07 苹果公司 包括多个相异的处理器核心的处理器
CN113835895A (zh) * 2015-12-22 2021-12-24 英特尔公司 用于具有不同能力的核心的线程和/或虚拟机调度
CN113835895B (zh) * 2015-12-22 2024-04-26 英特尔公司 用于具有不同能力的核心的线程和/或虚拟机调度

Also Published As

Publication number Publication date
TWI567542B (zh) 2017-01-21
CN102033596B (zh) 2015-11-25
JP2013225332A (ja) 2013-10-31
TWI489262B (zh) 2015-06-21
TW201541240A (zh) 2015-11-01
JP5746271B2 (ja) 2015-07-08
US20110078469A1 (en) 2011-03-31
TW201111978A (en) 2011-04-01
JP2011070661A (ja) 2011-04-07
US8543857B2 (en) 2013-09-24

Similar Documents

Publication Publication Date Title
CN102033596A (zh) 用于多核心处理器的低功率操作的方法和装置
US11301011B2 (en) Method and apparatus for configurable thermal management
US20090327656A1 (en) Efficiency-based determination of operational characteristics
KR101523909B1 (ko) 마이크로프로세서 내의 열 설계 전력을 구성하기 위한 방법 및 장치
US8713256B2 (en) Method, apparatus, and system for energy efficiency and energy conservation including dynamic cache sizing and cache operating voltage management for optimal power performance
US11157064B2 (en) Techniques to dynamically enable and disable accelerator devices in compute environments
WO2006049690A2 (en) Method and apparatus to monitor power consumption of processor
CN104137024A (zh) 包括使用深降电模式的高能效处理器热节流的用于高能效且节能的方法、装置和系统
US8078890B2 (en) System and method for providing memory performance states in a computing system
JP2019537787A (ja) 動的に可変な精度計算
CN104054057A (zh) 基于性能及能量消耗的有效代码分派
US11147186B2 (en) Predictive fan control using workload profiles
CN103677997A (zh) 多核心装置以及其多线程调度方法
CN101558383A (zh) 处理器的电源管理方法和装置
TWI333611B (en) Method, apparatus and system of managing power consumption
KR20170104564A (ko) I/o 동작 특성에 기초한 soc 유휴 전력 상태 제어를 위한 시스템 및 방법

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151125

Termination date: 20190926

CF01 Termination of patent right due to non-payment of annual fee