CN105830035B - 多核动态工作负荷管理 - Google Patents

多核动态工作负荷管理 Download PDF

Info

Publication number
CN105830035B
CN105830035B CN201480069954.6A CN201480069954A CN105830035B CN 105830035 B CN105830035 B CN 105830035B CN 201480069954 A CN201480069954 A CN 201480069954A CN 105830035 B CN105830035 B CN 105830035B
Authority
CN
China
Prior art keywords
core
cores
power
dynamic
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480069954.6A
Other languages
English (en)
Other versions
CN105830035A (zh
Inventor
J·萨哈
H·J·帕克
A·K-H·涂
T·A·莫里森
T·薛
R·F·阿尔顿
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN105830035A publication Critical patent/CN105830035A/zh
Application granted granted Critical
Publication of CN105830035B publication Critical patent/CN105830035B/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • 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
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Power Sources (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

提供了一种动态调度器,其基于多个核的当前工作特性来为这些核调度任务(200)(210、225、305)。该当前工作特性包括基于分析式模型的每个核的预测漏泄电流。

Description

多核动态工作负荷管理
相关申请的交叉引用
本申请要求于2013年12月20日提交的美国非临时申请No.14/137,914的优先权,其全部内容通过援引纳入于此。
技术领域
本申请涉及多核处理器的动态任务调度。
背景技术
随着电路密度的增加,计算机系统或其他电子系统的所有或绝大多数组件可被集成到单个芯片中以形成片上系统(SOC)。电路密度的进步使SOC能够包括电路模块或硬件模块的多个实例化。例如,智能电话的SOC可包括四核中央处理单元(CPU)、具有四个硬件线程的数字感测处理器(DSP)、包括四个算法逻辑单元(ALU)的图形处理单元(GPU)、多个无线局域网(WLAN)接口、具有三个向量处理引擎(VPE)的调制解调器、以及多个L2高速缓存片上存储器。如本文所使用的,术语“核”或“模块”关于相同电路结构的此类多个实例化被可互换地使用。
SOC通常将配置有将针对特定任务从一群相同的核中选择特定核的操作系统或一些其他类型的主机软件应用。为实现此类选择,来自一群相同或基本上相同的核的每个核通常将与用作硬件模块的标识(ID)或地址的序列号或字符相关联。该地址可基于硬件核在管芯上的地理位置或其制造次序(或其他参数)。使用该地址,操作系统针对特定任务从一群此类硬件模块中选择特定硬件模块。理想地,相同硬件模块应当展现相同的特性和性能。但随着电路密度的进步,相同模块(诸如CPU核)在它们的性能和性质方面显现相当大的变化是常见的。例如,即使诸核在管芯上彼此直接毗邻,但管芯本身具有使相同电路有不同行为的半导体工艺变动。而且,管芯可在这些硬件模块的不同位置具有温度或电压变动,这也将影响它们的性能。然而,目前的硬件核选择方案没有计及这些个体特性。
由此本领域存在对智能地选择硬件核以提高性能并降低功耗的处理器架构的需要。
概述
提供了一种为多个核调度任务的动态调度器。该动态调度器核功率和热模型被配置成基于这些核的原生漏泄电流以及当前温度来分析式地建模每个核的漏泄电流功率,并且还被配置成基于每个核的当前电压和时钟频率来建模每个核的动态功率。该动态调度器实现了使用这些核的工作参数(诸如漏泄电流功率和动态功率)来调度这些任务的调度算法。
由该动态调度器实现的调度算法还可使用各种各样的其他工作参数,诸如每个核的热梯度(或等效地,其导热性)。其他工作参数包括该核在管芯上的位置、每个核的最大时钟频率、以及每个核的相关联电压调节器效率。以下将进一步讨论关于这些核的动态任务调度对核的这些和其他工作参数的有利使用。
附图简述
图1是根据本公开的一实施例的具有动态工作负荷调度器的示例多核处理器系统的框图。
图2是针对空闲使用情形以及低功率使用情形的工作负荷请求的动态调度的流程图。
图3是针对高功率使用情形的工作负荷请求的动态调度的流程图。
图4是电压调节器效率作为其输出电流的函数的图表。
图5A是处理器功耗作为多个核的处理器时钟频率的函数的图表。
图5B是处理器效率作为处理器工作频率的函数的图表。
图6是根据本公开的一实施例的示例动态调度算法的流程图。
本发明的各实施例及其优势通过参考以下详细描述而被最好地理解。应当领会,在一个或多个附图中,相同的参考标记被用来标识相同的元件。
详细描述
提供了多处理器系统,其包括用于为多个硬件核调度任务的动态调度器。不同于现有技术调度器,所公开的动态调度器实现了除硬件核的原生工作参数之外还计及这些硬件核的当前工作参数的调度算法。如本文所使用的,“原生”工作参数是指在制造时表征的性能参数。这些参数是静态的——换言之,它们不依赖于这些硬件核的当前工作参数。例如,此类原生参数包括作为温度和最大工作频率(Fmax)的函数的漏泄电流。使用这些原生参数是已知的。例如,如果为每个硬件核确定了原生漏泄电流,则常规调度器可简单地向具有最低原生漏泄电流的核指派低功率任务。但仅基于原生工作参数的调度不是最优的。例如,设想具有最低原生漏泄的核具有由常规调度器相应地指派给它的低功率任务。然而,如果该核刚刚是活跃的以使得其温度升高(或者其在管芯上位于活跃或刚刚是活跃的并由此经由热扩散加热该核的电路模块(诸如相机或图形处理器)附近),则此类相对较热的核的漏泄电流实际上可高于其余核的漏泄——即使这些核从表面上看具有较高的原生漏泄电流。本文所公开的用于动态调度器的调度算法计及当前工作状况以及原生工作参数,由此以有利地提高工作性能并降低功耗。
图1中示出了示例多处理器系统100。系统100可包括片上系统(SoC)或者可包括多个管芯。动态调度器105为多个CPU核115(包括核0、核1、核2、以及核3)调度任务。然而,将领会,可按这种方式调度其他类型和数量的硬件核。以下讨论将假定动态调度器105是在软件中实现的,但是将领会,动态调度器105也可在专用状态机或其他合适硬件中实现。在基于软件的实施例中,核115之一可被配置成实现动态调度器105。替换地,动态调度器105可跨核115分布以使得当前活跃的任一核(或诸核)将实现动态调度器105。
动态调度器105包括用于每个核115的分析式功率和热建模器110,其使动态调度器105能够基于每个核的原生和当前工作参数来计算该核的当前功耗和漏泄电流。例如,每个核115关联于配置成向动态调度器105传送该核的温度的温度传感器(未示出)。建模器110随后可使用分析式模型将作为当前温度的函数的该核的原生漏泄电流映射成该核的目前漏泄电流(I漏泄)。就此而言,原生漏泄电流是在参考温度处测得的。分析式模型部分地基于当前温度与参考温度之间的改变来预测当前或预期漏泄电流。使用经建模的目前漏泄电流,建模器110可使用每个核的当前工作电压V来确定每个核的漏泄电流功率(P漏泄)。另外,动态调度器105可确定每核动态功耗(P动态),从而可计算总功耗(P),其等于目前漏泄电流(P漏泄)以及动态功率(P动态)之和。动态功率P动态等于f*C*V2,其中f是该核的当前工作频率或时钟速率,C是该核的动态电容,并且V是该核的当前工作电压。由此,核的总功耗(P)等于P漏泄与P动态之和。在一个实施例中,动态调度器105可被视为包括用于基于为这些核预测的漏泄电流的分析式模型来为这些核调度任务的装置。
由分析式核功率和建模器110使用的原生漏泄电流(IDDQ)可关于参考工作电压Vref和参考温度Tref来确定。换言之,原生漏泄电流IDDQ是针对每个核在制造时以参考工作电压Vref和参考温度Tref来测得(或估计)的。各种分析式模型可用在分析式核功率和热建模器110中。例如,一个示例分析式模型使用下式来计算当前漏泄电流I漏泄
I漏泄=IDDQ*exp(m*(V–Vref)+n*(T–Tref)),
其中n和m是工作参数且exp是指数函数。经建模漏泄电流I漏泄由此是基于相应核115的当前工作参数所预测的漏泄电流。换言之,给定的核115的I漏泄是建模器110预测核115在其被选取用于当前任务的情况下将经历的漏泄电流。
动态调度器105实现多处理器(MP)任务指派或调度算法120,其可使用来自建模器110的关于核115的经建模漏泄和动态功率来选择为给定任务提供最低功耗的核115。但功耗不是关于MP调度决策的唯一因素。另一因素是在执行高要求或高功率任务时达到的关于核115的热极限。就此而言,已知实现核跳跃和其他调度技术以容适核热极限问题。但MP调度算法120可使用每个核115的热梯度以关于避免热极限来更智能地选择核115。类似于原生漏泄电流IDDQ,可在制造时确定每个核115的热梯度。热梯度是每个核115在其对给定任务进行操作时将经历的作为时间函数的温度变化。例如,每个核115的热梯度可在这些处理器以它们的最大时钟频率(fmax)操作时被表征。热梯度的等效参数是每个核115的导热性,导热性是指给定的核115在其工作时散热的能力。可领会,各个核115的热梯度和导热性是彼此逆相关的。换言之,具有相对较高的热梯度的核115具有相对较低的导热性。相反,具有相对较低的热梯度的核115将具有相对较高的导热性。基于热梯度(或导热性),建模器110可预测给定的核115在被指派当前任务的情况下将经历的温度增加。MP调度算法110由此可针对给定任务选择将具有最低温度增加的核115。
除了核115的原生漏泄IDDQ和当前温度之外,动态调度器105还可使用来自核115的各种各样的工作参数。例如,动态调度器105可依赖于这些核的工艺角(无论它们对应于慢工艺/标称工艺/还是快工艺)。就此而言,取决于包括工艺角在内的各种工作参数,动态调度器105可为给定任务选择一个核115或多个核115。例如,处理器电压缩放(PVS)对于每个核115可以不同。例如,在给定时钟频率处,一个核115与在相同时钟速率处工作的另一核115相比可要求更高的供电电压。动态调度器105由此可选择可在较低电压处工作的核115,从而降低总功耗。还可如动态时钟和电压缩放(DCVS)实现中已知的那样缩放时钟频率。就此而言,最大工作频率或时钟速率(Fmax)对于各个核115可以不同。在给定工作电压处,一个核115由此可以能够达成更高的Fmax。动态调度器105由此可为高要求或高功率任务选择这样的核115从而以最低功耗达成最快性能。然而,将领会,PVS/DCVS对于诸核115可以不是独立的。在此类实施例中,所有核115将具有可从中进行选择的相同的电压和时钟速率集合。在此类统一DCVS实施例中,核115之间关于它们的Fmax和工作电压可能没有区别。
动态调度器105可依赖的关于核115的另一工作参数是它们在管芯(或诸管芯)上的位置以及该位置与其他热源的关系。例如,核115可具有最远离刚刚被推送至其热极限的另一核115的位置。向这样的远程核115调度高功率任务(诸如视频处理)由此是有利的。替换地,核115可在管芯上位于相对靠近另一活跃电路,诸如调制解调器处理器或视频处理器。这样的核115对于高功率任务将不会是好的选择,因为它将因其也必须容适来自该近旁活跃电路的热而更快速地达到其热极限。选择更远离该活跃电路的核115由此是有利的。
现在将讨论一些示例使用情形以更好地解说动态调度器105的有利特征。例如,如果系统100为空闲,则动态调度器105可通过向具有最低漏泄的核调度空闲任务来使功耗最小化。图2中示出了结果所得的调度过程,其中在步骤205,测试传入工作负荷请求200以确定其是否为空闲使用情形。例如,在蜂窝电话应用中,经常存在其中用户没有在与该电话交互或者该电话没有在接收任何呼叫或文本的时段。核115由此在此类空闲使用情形期间很大程度上是空闲的。一旦确定任务请求对应于空闲使用情形,存储器(诸如查找表(LUT)240)就可存储核115的当前系统信息以及它们的工作参数和特性。例如,LUT240可存储由建模器110确定的具有最低漏泄电流的核115的身份。如果步骤205中的确定是肯定的,则动态调度器105随后在步骤210中选择由LUT 240标识出的具有最低漏泄电流的可用核115。动态调度器105随后可在步骤215中用该调度决策来更新LUT 240。最后,动态调度器105在步骤220中开启具有所请求的设置的所选核115。
如果步骤205中的确定是否定的,则传入工作负荷请求200可包括如在步骤221中确定的低功率使用情形。低功率使用情形的示例包括诸如视频回放或网页浏览之类的任务。如果步骤221中的确定是肯定的,则动态调度器105随后可通过在步骤225中调度如由建模器110确定的如在LUT 240中标识出的具有最低总功耗特性的核(或诸核)来使总功耗最小化。在后续步骤230中,动态调度器105可用该调度决策来更新LUT 240。最后,动态调度器105在步骤235中开启具有所请求设置的所选核115。
如果步骤221中的确定是否定的,则传入工作负荷请求200可包括重(高性能)工作负荷使用情形,诸如在图3的步骤300中确定的针对视频游戏的密集图形处理(或类似的高功率模式)。动态调度器105随后可在步骤305中选择能提供所期望的性能而不超过它们的热极限的核115(或诸核)。例如,步骤305可选择如LUT 240中标识出的具有最低温度以及有利的热梯度的可用核115。后续步骤310用该调度决策来更新LUT 240。在步骤315,动态调度器105开启具有所请求的设置的所选核115。注意,所选核115可能最终变得过热,以使得它处于超过其热极限的危险中。由此,动态调度器105可在步骤320中监视所选核温度以在步骤325中确定所选核115是否在其热极限附近。如果步骤325中的确定是否定的,则该监视可在步骤320中继续。但如果所选核115正达到其热极限,则动态调度器105在步骤305中刷新其调度选择。随后可关于新选择的核115重复步骤310、315、320、和325。步骤315由此还可包括关闭先前选择的核115并用该新选择来更新LUT 240。
由动态调度器105进行的总功耗最小化还可将每个核的功率调节器效率纳入考虑。就此而言,多处理器系统100中的每个核115由相应的功率调节器(未示出)供电。由此将存在核0功率调节器、核1功率调节器等等。替换地,功率调节器可由系统100中的核子集共享。在一个实施例中,建模器110还基于相应的核(或诸核)的当前总功耗P来建模每个功率调节器的效率。例如,建模器110可将核115的总功耗映射成由该核115从其功率调节器汲取的电流。建模器110还可包括每个功率调节器作为其提供的电流、其工作电压、其时钟频率、以及其他功能参数的函数的效率模型。此类调节器效率模型通常展现在某个最优电流值达到峰值并随后随着电流从该最优值减小或增大而下降的大致钟形的效率曲线。例如,图4解说了作为电压调节器400和405的输出电流的函数的效率。电压调节器400和405两者的效率在500到1000毫安的输出电流之间达到峰值。动态调度器105由此可使用该信息来避免为任务调度其电压调节器效率可能过低的核115。例如,图5A解说了慢工艺角核500在相对较高温度处的处理器功耗、慢工艺角核505在相对较低温度处的处理器功耗、以及快工艺角核510在相对较低温度处的处理器功耗。图5A中所示的所有功耗随着工作频率(处理器时钟速率)增大而单调递增。由此,在给定这些核将在尽可能低的频率处消耗最少功率量的前提下,可预期将通过在此类尽可能低的频率处操作这些核来产生最佳效率。但此类假设忽略了相关联功率调节器急剧降低的功率效率,因为每个功率调节器随后将向其相关联的核供应小于其最优量的电流。
在一个实施例中,建模器110由此基于核时钟频率将来自每个功率调节器的功耗(P调节器)建模为其效率的函数。动态调度器105由此可向核115调度任务以使得系统级功耗(P系统)被最小化,其中P系统等于每个核的P加上每个核(或者核群,如果它们共享相应功率调节器的话)的相关联P调节器。图5B解说了作为核500、505、和515的工作频率的函数的处理器能量效率,其中能量效率是使用系统级功耗P系统来计算的。每个核的能量效率在小于Fmax的工作频率(F_opt)处具有峰值效率。动态调度器105由此可为这些核禁用低于F_opt的水平515中的工作频率。
再次参照图3,动态调度器105可被配置成用结果所得的能量效率来加权步骤305中对核115的选择。例如,如果预期高功率任务相对较短以使得几乎没有达到热极限的风险,则核选择可取而代之由最大化能量效率来管控。随着任务时间增加,步骤305可相比于能量效率而言更重地加权热因素(具有最低温度和热梯度的核)。
现在将参照图6来叙述动态调度器105的示例操作方法。步骤600包括确定多个核中的每个核的计划漏泄电流,其中该确定是响应于取决于每个核的原生漏泄电流以及每个核的温度的分析式模型。步骤605包括比较这些计划漏泄电流以确定具有最低计划漏泄电流的核。最后,步骤610包括为任务调度具有最低计划漏泄电流的核。
如本领域普通技术人员至此将领会的并取决于手头的具体应用,可以在本公开的设备的材料、装置、配置和使用方法上做出许多修改、替换和变动而不会脱离本公开的精神和范围。有鉴于此,本公开的范围不应当被限定于本文中所解说和描述的特定实施例(因为其仅是作为本公开的一些示例),而应当与所附权利要求及其功能等同方案完全相当。

Claims (13)

1.一种多核系统,包括:
多个核,每个核具有个体热梯度和个体导热性;
分析式核功率和热建模器,其被配置成基于所述核的原生漏泄电流和当前温度来分析式地建模每个核的漏泄功率并基于每个核的当前电压和时钟频率来建模每个核的动态功率以及基于所述核的泄漏功率和所述核的动态功率的总和来确定每个核的总功耗,以及
动态调度器,其被进一步配置成基于每个任务是空闲使用情形还是低功率使用情形来为所述核调度任务,其中所述系统包括蜂窝电话,并且其中在所述空闲使用情形期间用户不与所述蜂窝电话交互,并且其中在所述空闲使用情况期间所述蜂窝电话不接收呼叫或文本,并且其中所述蜂窝电话被配置成针对所述空闲使用情形选择具有最低泄漏功率的核以及针对所述低功率使用情形选择具有最低总功耗的核。
2.如权利要求1所述的系统,其特征在于,所述动态调度器被进一步配置成基于从所述核的个体热梯度和所述核的个体导热性选择的每个核的热参数来调度所述任务。
3.如权利要求2所述的系统,其特征在于,所述每个核的热参数是所述核的个体导热性。
4.如权利要求2所述的系统,其特征在于,所述动态调度器被进一步配置成基于每个核在管芯上的位置来调度所述任务。
5.如权利要求4所述的系统,其特征在于,所述动态调度器被进一步配置成基于所述核位置与所述管芯上的其他热源的邻近度来调度所述任务。
6.如权利要求4所述的系统,其特征在于,所述动态调度器被进一步配置成基于所述核位置关于最近调度的核位置的邻近度来调度所述任务。
7.如权利要求2所述的系统,其特征在于,所述动态调度器被进一步配置成基于每个核的功率调节器的效率来为所述核调度所述任务。
8.如权利要求7所述的系统,其特征在于,所述动态调度器被进一步配置成基于每个任务的预期任务时间历时来调度所述任务。
9.如权利要求7所述的系统,其特征在于,所述动态调度器被进一步配置成确定取决于每个核的总功耗以及每个核的功率调节器的效率的系统功耗,并且其中所述动态调度器被进一步配置成调度所述任务以使所述系统功耗最小化。
10.一种用于包括具有多个核的多核处理器的蜂窝电话的方法,包括:
确定所述多个核中的每个核的计划漏泄功率,其中所述确定是响应于取决于每个核的原生漏泄电流、每个核的温度以及每个核的工作电压的分析式模型,并且其中每个核具有个体热梯度和个体导热性;
基于每个核的工作电压来确定每个核的动态功耗;
基于所述核的计划泄漏功率和所述核的动态功耗的总和来确定每个核的总功耗;
基于哪个核具有最低计划泄漏功率来调度所述核中的至少一个核用于空闲使用情形任务,其中在所述空闲使用情形任务期间用户不与所述蜂窝电话交互,并且其中在所述空闲使用情形任务期间所述蜂窝电话不接收呼叫或文本;
基于哪个核具有最低总功耗来调度所述核中的至少一个核用于低功耗使用情形任务;以及
基于哪个核具有从所述核的个体热梯度和所述核的个体导热性中选择的每个核的热参数并且基于哪个核心具有最低温度来调度所述核中的至少一个核用于高性能使用情形任务。
11.如权利要求10所述的方法,其特征在于,每个核的所述热参数是所述核的个体热梯度,所述方法进一步包括确定哪个核具有最低个体热梯度,其中为所述高性能使用情形任务调度所述核中的至少一个核进一步基于哪个核具有最低个体热梯度。
12.如权利要求10所述的方法,其特征在于,每个核的所述热参数是所述核的个体导热性,所述方法进一步包括确定哪个核具有最高个体导热性,其中为所述高性能使用情形任务调度所述核中的至少一个核进一步基于哪个核具有最高个体导热性。
13.如权利要求10所述的方法,其特征在于,进一步包括:
确定每个核的功率调节器效率,以及
基于取决于每个核的功率调节器效率的系统级效率来为第二任务选择核。
CN201480069954.6A 2013-12-20 2014-12-15 多核动态工作负荷管理 Active CN105830035B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/137,914 2013-12-20
US14/137,914 US9703613B2 (en) 2013-12-20 2013-12-20 Multi-core dynamic workload management using native and dynamic parameters
PCT/US2014/070279 WO2015095016A1 (en) 2013-12-20 2014-12-15 Multi-core dynamic workload management

Publications (2)

Publication Number Publication Date
CN105830035A CN105830035A (zh) 2016-08-03
CN105830035B true CN105830035B (zh) 2020-02-14

Family

ID=52278823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480069954.6A Active CN105830035B (zh) 2013-12-20 2014-12-15 多核动态工作负荷管理

Country Status (7)

Country Link
US (1) US9703613B2 (zh)
EP (1) EP3084607B1 (zh)
JP (1) JP6337121B2 (zh)
KR (1) KR101840739B1 (zh)
CN (1) CN105830035B (zh)
BR (1) BR112016014393B8 (zh)
WO (1) WO2015095016A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9423866B2 (en) * 2014-07-16 2016-08-23 Eta Compute, Inc. Asynchronous processor that adjusts a respective operating voltage for causing a task to consume substantially all of a respective allocated time interval for the task
US9733978B2 (en) * 2015-08-27 2017-08-15 Qualcomm Incorporated Data management for multiple processing units using data transfer costs
EP3166282A1 (en) * 2015-11-05 2017-05-10 Thomson Licensing Method for waking up a communication device, method for providing a wake up service, and corresponding communication devices, system, computer readable program products and computer readable storage media
US9733685B2 (en) * 2015-12-14 2017-08-15 International Business Machines Corporation Temperature-aware microprocessor voltage management
US10073718B2 (en) * 2016-01-15 2018-09-11 Intel Corporation Systems, methods and devices for determining work placement on processor cores
WO2017131667A1 (en) * 2016-01-27 2017-08-03 Hewlett Packard Enterprise Development Lp Core characterization for processor cores
US10133610B2 (en) 2016-08-16 2018-11-20 International Business Machines Corporation System, method and recording medium for temperature-aware task scheduling
US9753773B1 (en) 2016-10-19 2017-09-05 International Business Machines Corporation Performance-based multi-mode task dispatching in a multi-processor core system for extreme temperature avoidance
US9747139B1 (en) * 2016-10-19 2017-08-29 International Business Machines Corporation Performance-based multi-mode task dispatching in a multi-processor core system for high temperature avoidance
CN106774808B (zh) * 2016-12-22 2019-11-26 杭州朔天科技有限公司 一种异构多核芯片的多级低功耗管理单元及其方法
US10698805B1 (en) * 2017-01-25 2020-06-30 Cadence Design Systems, Inc. Method and system for profiling performance of a system on chip
US10372495B2 (en) * 2017-02-17 2019-08-06 Qualcomm Incorporated Circuits and methods providing thread assignment for a multi-core processor
US10459517B2 (en) 2017-03-31 2019-10-29 Qualcomm Incorporated System and methods for scheduling software tasks based on central processing unit power characteristics
JP6872440B2 (ja) * 2017-06-30 2021-05-19 ルネサスエレクトロニクス株式会社 半導体装置および半導体装置の制御方法
US11551990B2 (en) * 2017-08-11 2023-01-10 Advanced Micro Devices, Inc. Method and apparatus for providing thermal wear leveling
US11742038B2 (en) * 2017-08-11 2023-08-29 Advanced Micro Devices, Inc. Method and apparatus for providing wear leveling
US11409560B2 (en) * 2019-03-28 2022-08-09 Intel Corporation System, apparatus and method for power license control of a processor
KR20210016707A (ko) * 2019-08-05 2021-02-17 삼성전자주식회사 성능효율을 바탕으로 한 스케줄링 방법, 스케줄링 장치 및 컴퓨터 판독가능 저장 매체
US11886224B2 (en) 2020-06-26 2024-01-30 Advanced Micro Devices, Inc. Core selection based on usage policy and core constraints
US11630694B2 (en) * 2021-01-13 2023-04-18 Qualcomm Incorporated Core voltage regulator energy-aware task scheduling
US20230161941A1 (en) * 2021-11-22 2023-05-25 Intel Corporation Application negotiable platform thermal aware scheduler

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102483646A (zh) * 2009-07-24 2012-05-30 超威半导体公司 根据性能灵敏度不均匀地改变计算单元的性能
CN103069359A (zh) * 2010-07-21 2013-04-24 超威半导体公司 管理计算系统中的电流和功耗

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004240669A (ja) * 2003-02-05 2004-08-26 Sharp Corp ジョブスケジューラおよびマルチプロセッサシステム
JP3805344B2 (ja) * 2004-06-22 2006-08-02 株式会社ソニー・コンピュータエンタテインメント プロセッサ、情報処理装置およびプロセッサの制御方法
US7412353B2 (en) * 2005-09-28 2008-08-12 Intel Corporation Reliable computing with a many-core processor
WO2007077516A1 (en) 2006-01-06 2007-07-12 Koninklijke Philips Electronics, N.V. Power aware dynamic scheduling in multiprocessor system employing voltage islands
US20080005591A1 (en) * 2006-06-28 2008-01-03 Trautman Mark A Method, system, and apparatus for dynamic thermal management
US8055822B2 (en) 2007-08-21 2011-11-08 International Business Machines Corporation Multicore processor having storage for core-specific operational data
US7886172B2 (en) 2007-08-27 2011-02-08 International Business Machines Corporation Method of virtualization and OS-level thermal management and multithreaded processor with virtualization and OS-level thermal management
US8205196B2 (en) * 2008-04-08 2012-06-19 Broadcom Corporation Systems and methods for using operating system (OS) virtualisation for minimizing power consumption in mobile phones
US9043795B2 (en) * 2008-12-11 2015-05-26 Qualcomm Incorporated Apparatus and methods for adaptive thread scheduling on asymmetric multiprocessor
US8566836B2 (en) 2009-11-13 2013-10-22 Freescale Semiconductor, Inc. Multi-core system on chip
JP5035708B2 (ja) * 2010-04-21 2012-09-26 日本電気株式会社 並列計算機システム、ジョブサーバ、ジョブスケジューリング方法及びジョブスケジューリングプログラム
US9063730B2 (en) 2010-12-20 2015-06-23 Intel Corporation Performing variation-aware profiling and dynamic core allocation for a many-core processor
JP2012138020A (ja) * 2010-12-27 2012-07-19 Panasonic Corp マルチチップシステム、通信機器、映像音声装置および自動車
US9128778B2 (en) 2010-12-30 2015-09-08 Panduit Corp. System and method for assignment of virtual machines based on physical information
US20120192200A1 (en) * 2011-01-21 2012-07-26 Rao Jayanth N Load Balancing in Heterogeneous Computing Environments
US8575993B2 (en) * 2011-08-17 2013-11-05 Broadcom Corporation Integrated circuit with pre-heating for reduced subthreshold leakage
US20140344827A1 (en) * 2013-05-16 2014-11-20 Nvidia Corporation System, method, and computer program product for scheduling a task to be performed by at least one processor core
US9477568B2 (en) * 2013-09-27 2016-10-25 International Business Machines Corporation Managing interconnect electromigration effects

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102483646A (zh) * 2009-07-24 2012-05-30 超威半导体公司 根据性能灵敏度不均匀地改变计算单元的性能
CN103069359A (zh) * 2010-07-21 2013-04-24 超威半导体公司 管理计算系统中的电流和功耗

Also Published As

Publication number Publication date
JP2017503261A (ja) 2017-01-26
CN105830035A (zh) 2016-08-03
JP6337121B2 (ja) 2018-06-06
US9703613B2 (en) 2017-07-11
BR112016014393A2 (zh) 2017-08-08
EP3084607A1 (en) 2016-10-26
BR112016014393B1 (pt) 2022-07-19
US20150178138A1 (en) 2015-06-25
KR101840739B1 (ko) 2018-03-21
BR112016014393B8 (pt) 2022-10-18
KR20160102460A (ko) 2016-08-30
EP3084607B1 (en) 2019-06-05
WO2015095016A1 (en) 2015-06-25

Similar Documents

Publication Publication Date Title
CN105830035B (zh) 多核动态工作负荷管理
CN106170742B (zh) 多处理器片上系统中的能效感知热管理的方法和系统
CN106537348B (zh) 用于数据处理系统的功率感知作业调度器和管理器
US9442774B2 (en) Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip
US9411403B2 (en) System and method for dynamic DCVS adjustment and workload scheduling in a system on a chip
US20220058029A1 (en) Energy-efficient core voltage selection apparatus and method
Mercati et al. Dynamic variability management in mobile multicore processors under lifetime constraints
US20210208659A1 (en) Apparatus and method to detect power supply security attack and risk mitigation
WO2019117962A1 (en) Power control circuitry
GB2612646A (en) Determining whether a given task is allocated to a given one of a plurality of logically homogeneous processor cores
CN115373505A (zh) 用于处理器的功率优化定时器模块
KR20240096698A (ko) 주어진 태스크가 복수의 논리적 동종 프로세서 코어 중 주어진 하나에 할당되는지 여부의 결정
CN102184004A (zh) 集成电路基板偏压动态调整装置与方法
CN117271058A (zh) 容器资源调度方法、装置及存储介质
CN117120817A (zh) 水平或垂直堆叠管芯的热管理
Wang et al. Task scheduling for energy optimization and temperature improvements

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant