多核动态工作负荷管理的制作方法

文档序号:10475881阅读:225来源:国知局
多核动态工作负荷管理的制作方法
【专利摘要】提供了一种动态调度器,其基于多个核的当前工作特性来为这些核调度任务(200)(210、225、305)。该当前工作特性包括基于分析式模型的每个核的预测漏泄电流。
【专利说明】多核动态工作负荷管理
[0001]相关申请的交叉引用
[0002]本申请要求于2013年12月20日提交的美国非临时申请N0.14/137,914的优先权,其全部内容通过援弓I纳入于此。
技术领域
[0003]本申请涉及多核处理器的动态任务调度。
【背景技术】
[0004]随着电路密度的增加,计算机系统或其他电子系统的所有或绝大多数组件可被集成到单个芯片中以形成片上系统(SOC)。电路密度的进步使SOC能够包括电路模块或硬件模块的多个实例化。例如,智能电话的SOC可包括四核中央处理单元(CPU)、具有四个硬件线程的数字感测处理器(DSP)、包括四个算法逻辑单元(ALU)的图形处理单元(GPU)、多个无线局域网(WLAN)接口、具有三个向量处理引擎(VPE)的调制解调器、以及多个L2高速缓存片上存储器。如本文所使用的,术语“核”或“模块”关于相同电路结构的此类多个实例化被可互换地使用。
[0005]SOC通常将配置有将针对特定任务从一群相同的核中选择特定核的操作系统或一些其他类型的主机软件应用。为实现此类选择,来自一群相同或基本上相同的核的每个核通常将与用作硬件模块的标识(ID)或地址的序列号或字符相关联。该地址可基于硬件核在管芯上的地理位置或其制造次序(或其他参数)。使用该地址,操作系统针对特定任务从一群此类硬件模块中选择特定硬件模块。理想地,相同硬件模块应当展现相同的特性和性能。但随着电路密度的进步,相同模块(诸如CPU核)在它们的性能和性质方面显现相当大的变化是常见的。例如,即使诸核在管芯上彼此直接毗邻,但管芯本身具有使相同电路有不同行为的半导体工艺变动。而且,管芯可在这些硬件模块的不同位置具有温度或电压变动,这也将影响它们的性能。然而,目前的硬件核选择方案没有计及这些个体特性。
[0006]由此本领域存在对智能地选择硬件核以提高性能并降低功耗的处理器架构的需要。
[0007]概述
[0008]提供了一种为多个核调度任务的动态调度器。该动态调度器核功率和热模型被配置成基于这些核的原生漏泄电流以及当前温度来分析式地建模每个核的漏泄电流功率,并且还被配置成基于每个核的当前电压和时钟频率来建模每个核的动态功率。该动态调度器实现了使用这些核的工作参数(诸如漏泄电流功率和动态功率)来调度这些任务的调度算法。
[0009]由该动态调度器实现的调度算法还可使用各种各样的其他工作参数,诸如每个核的热梯度(或等效地,其导热性)。其他工作参数包括该核在管芯上的位置、每个核的最大时钟频率、以及每个核的相关联电压调节器效率。以下将进一步讨论关于这些核的动态任务调度对核的这些和其他工作参数的有利使用。
[0010]附图简述
[0011]图1是根据本公开的一实施例的具有动态工作负荷调度器的示例多核处理器系统的框图。
[0012]图2是针对空闲使用情形以及低功率使用情形的工作负荷请求的动态调度的流程图。
[0013]图3是针对高功率使用情形的工作负荷请求的动态调度的流程图。
[0014]图4是电压调节器效率作为其输出电流的函数的图表。
[0015]图5A是处理器功耗作为多个核的处理器时钟频率的函数的图表。
[0016]图5B是处理器效率作为处理器工作频率的函数的图表。
[0017]图6是根据本公开的一实施例的示例动态调度算法的流程图。
[0018]本发明的各实施例及其优势通过参考以下详细描述而被最好地理解。应当领会,在一个或多个附图中,相同的参考标记被用来标识相同的元件。
[0019]详细描述
[0020]提供了多处理器系统,其包括用于为多个硬件核调度任务的动态调度器。不同于现有技术调度器,所公开的动态调度器实现了除硬件核的原生工作参数之外还计及这些硬件核的当前工作参数的调度算法。如本文所使用的,“原生”工作参数是指在制造时表征的性能参数。这些参数是静态的一一换言之,它们不依赖于这些硬件核的当前工作参数。例如,此类原生参数包括作为温度和最大工作频率(Fmax)的函数的漏泄电流。使用这些原生参数是已知的。例如,如果为每个硬件核确定了原生漏泄电流,则常规调度器可简单地向具有最低原生漏泄电流的核指派低功率任务。但仅基于原生工作参数的调度不是最优的。例如,设想具有最低原生漏泄的核具有由常规调度器相应地指派给它的低功率任务。然而,如果该核刚刚是活跃的以使得其温度升高(或者其在管芯上位于活跃或刚刚是活跃的并由此经由热扩散加热该核的电路模块(诸如相机或图形处理器)附近),则此类相对较热的核的漏泄电流实际上可高于其余核的漏泄一一即使这些核从表面上看具有较高的原生漏泄电流。本文所公开的用于动态调度器的调度算法计及当前工作状况以及原生工作参数,由此以有利地提高工作性能并降低功耗。
[0021]图1中示出了示例多处理器系统100。系统100可包括片上系统(SoC)或者可包括多个管芯。动态调度器105为多个CPU核115 (包括核O、核1、核2、以及核3)调度任务。然而,将领会,可按这种方式调度其他类型和数量的硬件核。以下讨论将假定动态调度器105是在软件中实现的,但是将领会,动态调度器105也可在专用状态机或其他合适硬件中实现。在基于软件的实施例中,核115之一可被配置成实现动态调度器105。替换地,动态调度器105可跨核115分布以使得当前活跃的任一核(或诸核)将实现动态调度器105。
[0022]动态调度器105包括用于每个核115的分析式功率和热建模器110,其使动态调度器105能够基于每个核的原生和当前工作参数来计算该核的当前功耗和漏泄电流。例如,每个核115关联于配置成向动态调度器105传送该核的温度的温度传感器(未示出)。建模器110随后可使用分析式模型将作为当前温度的函数的该核的原生漏泄电流映射成该核的目前漏泄电流(Iiiffi)。就此而言,原生漏泄电流是在参考温度处测得的。分析式模型部分地基于当前温度与参考温度之间的改变来预测当前或预期漏泄电流。使用经建模的目前漏泄电流,建模器110可使用每个核的当前工作电压V来确定每个核的漏泄电流功率(Put)。另外,动态调度器105可确定每核动态功耗(PgM),从而可计算总功耗(P总),其等于目前漏泄电流(Put)以及动态功率(PsmO之和。动态功率P5M等于f *c*v2,其中f是该核的当前工作频率或时钟速率,C是该核的动态电容,并且V是该核的当前工作电压。由此,核的总功耗(P总)等于Psw与PiM之和。在一个实施例中,动态调度器105可被视为包括用于基于为这些核预测的漏泄电流的分析式模型来为这些核调度任务的装置。
[0023]由分析式核功率和建模器110使用的原生漏泄电流(IDDQ)可关于参考工作电压Vref和参考温度Tref来确定。换言之,原生漏泄电流IDDQ是针对每个核在制造时以参考工作电压Vref和参考温度Tref来测得(或估计)的。各种分析式模型可用在分析式核功率和热建模器110中。例如,一个示例分析式模型使用下式来计算当前漏泄电流Is?:
[0024]I灘=IDDQ*exp(m*(V-Vref)+n*(T-Tref)),
[0025]其中η和m是工作参数且exp是指数函数。经建模漏泄电流I漏泄由此是基于相应核115的当前工作参数所预测的漏泄电流。换言之,给定的核115的Is?是建模器110预测核115在其被选取用于当前任务的情况下将经历的漏泄电流。
[0026]动态调度器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。
[0027]除了核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和工作电压可能没有区别。
[0028]动态调度器105可依赖的关于核115的另一工作参数是它们在管芯(或诸管芯)上的位置以及该位置与其他热源的关系。例如,核115可具有最远离刚刚被推送至其热极限的另一核115的位置。向这样的远程核115调度高功率任务(诸如视频处理)由此是有利的。替换地,核115可在管芯上位于相对靠近另一活跃电路,诸如调制解调器处理器或视频处理器。这样的核115对于高功率任务将不会是好的选择,因为它将因其也必须容适来自该近旁活跃电路的热而更快速地达到其热极限。选择更远离该活跃电路的核115由此是有利的。
[0029]现在将讨论一些示例使用情形以更好地解说动态调度器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。
[0030]如果步骤205中的确定是否定的,则传入工作负荷请求200可包括如在步骤221中确定的低功率使用情形。低功率使用情形的示例包括诸如视频回放或网页浏览之类的任务。如果步骤221中的确定是肯定的,则动态调度器105随后可通过在步骤225中调度如由建模器110确定的如在LUT 240中标识出的具有最低总功耗特性的核(或诸核)来使总功耗最小化。在后续步骤230中,动态调度器105可用该调度决策来更新LUT 240。最后,动态调度器105在步骤235中开启具有所请求设置的所选核115。
[0031]如果步骤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。
[0032]由动态调度器105进行的总功耗最小化还可将每个核的功率调节器效率纳入考虑。就此而言,多处理器系统100中的每个核115由相应的功率调节器(未示出)供电。由此将存在核O功率调节器、核I功率调节器等等。替换地,功率调节器可由系统100中的核子集共享。在一个实施例中,建模器110还基于相应的核(或诸核)的当前总功耗P总来建模每个功率调节器的效率。例如,建模器110可将核115的总功耗映射成由该核115从其功率调节器汲取的电流。建模器110还可包括每个功率调节器作为其提供的电流、其工作电压、其时钟频率、以及其他功能参数的函数的效率模型。此类调节器效率模型通常展现在某个最优电流值达到峰值并随后随着电流从该最优值减小或增大而下降的大致钟形的效率曲线。例如,图4解说了作为电压调节器400和405的输出电流的函数的效率。电压调节器400和405两者的效率在500到1000毫安的输出电流之间达到峰值。动态调度器105由此可使用该信息来避免为任务调度其电压调节器效率可能过低的核115。例如,图5A解说了慢工艺角核500在相对较高温度处的处理器功耗、慢工艺角核505在相对较低温度处的处理器功耗、以及快工艺角核510在相对较低温度处的处理器功耗。图5A中所示的所有功耗随着工作频率(处理器时钟速率)增大而单调递增。由此,在给定这些核将在尽可能低的频率处消耗最少功率量的前提下,可预期将通过在此类尽可能低的频率处操作这些核来产生最佳效率。但此类假设忽略了相关联功率调节器急剧降低的功率效率,因为每个功率调节器随后将向其相关联的核供应小于其最优量的电流。
[0033]在一个实施例中,建模器110由此基于核时钟频率将来自每个功率调节器的功耗(Pig)建模为其效率的函数。动态调度器105由此可向核115调度任务以使得系统级功耗(PiiS)被最小化,其中PiiS等于每个核的P总加上每个核(或者核群,如果它们共享相应功率调节器的话)的相关联Pi雕器。图5B解说了作为核500、505、和515的工作频率的函数的处理器能量效率,其中能量效率是使用系统级功耗匕激来计算的。每个核的能量效率在小于Fmax的工作频率(F_opt)处具有峰值效率。动态调度器105由此可为这些核禁用低于F_opt的水平515中的工作频率。
[0034]再次参照图3,动态调度器105可被配置成用结果所得的能量效率来加权步骤305中对核115的选择。例如,如果预期高功率任务相对较短以使得几乎没有达到热极限的风险,则核选择可取而代之由最大化能量效率来管控。随着任务时间增加,步骤305可相比于能量效率而言更重地加权热因素(具有最低温度和热梯度的核)。
[0035]现在将参照图6来叙述动态调度器105的示例操作方法。步骤600包括确定多个核中的每个核的计划漏泄电流,其中该确定是响应于取决于每个核的原生漏泄电流以及每个核的温度的分析式模型。步骤605包括比较这些计划漏泄电流以确定具有最低计划漏泄电流的核。最后,步骤610包括为任务调度具有最低计划漏泄电流的核。
[0036]如本领域普通技术人员至此将领会的并取决于手头的具体应用,可以在本公开的设备的材料、装置、配置和使用方法上做出许多修改、替换和变动而不会脱离本公开的精神和范围。有鉴于此,本公开的范围不应当被限定于本文中所解说和描述的特定实施例(因为其仅是作为本公开的一些示例),而应当与所附权利要求及其功能等同方案完全相当。
【主权项】
1.一种系统,包括: 多个核; 分析式核功率和热建模器,其被配置成基于所述核的原生漏泄电流以及当前温度来分析式地建模每个核的漏泄功率并基于每个核的当前电压和时钟频率来建模每个核的动态功率,以及 动态调度器,其被进一步配置成基于经建模的漏泄功率和动态功率来为所述核调度任务。2.如权利要求1所述的系统,其特征在于,所述动态调度器被进一步配置成基于每个核的温度梯度来调度所述任务。3.如权利要求1所述的系统,其特征在于,所述动态调度器被进一步配置成基于每个核的导热性来调度所述任务。4.如权利要求1所述的系统,其特征在于,所述动态调度器被进一步配置成基于每个核在管芯上的位置来调度所述任务。5.如权利要求4所述的系统,其特征在于,所述动态调度器被进一步配置成基于所述核位置与所述管芯上的其他热源的邻近度来调度所述任务。6.如权利要求4所述的系统,其特征在于,所述动态调度器被进一步配置成基于所述核位置关于最近调度的核位置的邻近度来调度所述任务。7.如权利要求2所述的系统,其特征在于,所述动态调度器被进一步配置成基于每个核的功率调节器的效率来为所述核调度所述任务。8.如权利要求8所述的系统,其特征在于,所述动态调度器被进一步配置成基于每个任务的预期任务时间历时来调度所述任务。9.如权利要求1所述的系统,其特征在于,所述动态调度器被进一步配置成基于所述任务为空闲使用情形、低功率使用情形、还是高功率使用情形来调度任务。10.如权利要求7所述的系统,其特征在于,所述动态调度器被进一步配置成确定每个核的总功耗并确定取决于每个核的总功耗以及每个核的功率调节器的效率的系统功耗,并且其中所述动态调度器被进一步配置成调度所述任务以使所述系统功耗最小化。11.一种方法,包括: 确定多个核中的每个核的计划漏泄电流,其中所述确定是响应于取决于每个核的原生漏泄电流以及每个核的温度的分析式模型; 比较所述计划漏泄电流以确定具有最低计划漏泄电流的核;以及 为第一任务调度所述具有最低计划漏泄电流的核。12.如权利要求11所述的方法,其特征在于,所述第一任务为空闲使用情形,所述方法进一步包括: 确定哪个核具有最低工作电压;以及 基于哪个核具有最低计划漏泄电流和最低工作电压来为低功率使用情形任务调度所述核中的至少一个核。13.如权利要求11所述的方法,其特征在于,进一步包括: 确定哪个核具有最低温度;以及 基于哪个核具有最低温度来为高性能使用情形任务调度所述核中的至少一个核。14.如权利要求13所述的方法,其特征在于,进一步包括确定哪个核具有最低热梯度,其中为所述高性能使用情形任务调度所述核中的至少一个核进一步基于哪个核具有最低热梯度。15.如权利要求13所述的方法,其特征在于,进一步包括确定哪个核具有最高导热性,其中为所述高性能使用情形任务调度所述核中的至少一个核进一步基于哪个核具有最高导热性。16.如权利要求11所述的方法,其特征在于,进一步包括: 确定每个核的功率调节器效率,以及 基于取决于每个核的功率调节器效率的系统级效率来为第二任务选择核。17.—种多核系统,包括: 多个核;以及 用于基于取决于每个核的温度的为所述核预测的漏泄电流分析式模型来为所述核调度任务的装置,其中所述用于调度的装置被配置成为对应于空闲使用情形的任务选择具有最低预测漏泄电流的核。18.如权利要求17所述的系统,其特征在于,所述装置被进一步配置成基于每个核的温度梯度来调度所述任务。19.如权利要求17所述的系统,其特征在于,所述装置被进一步配置成基于每个核在管芯上的位置来调度所述任务。20.如权利要求19所述的系统,其特征在于,所述装置被进一步配置成基于所述核位置与所述管芯上的其他热源的邻近度来调度所述任务。
【文档编号】G06F9/50GK105830035SQ201480069954
【公开日】2016年8月3日
【申请日】2014年12月15日
【发明人】J·萨哈, H·J·帕克, A·K-H·涂, T·A·莫里森, T·薛, R·F·阿尔顿
【申请人】高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1