一种高性能多核微处理器的动态热管理方法与流程

文档序号:11916614阅读:249来源:国知局
一种高性能多核微处理器的动态热管理方法与流程

本发明属于信息控制技术领域,特别涉及一种基于模型预测控制结合任务迁移及动态电压频率调节的针对高性能多核微处理器的动态热管理方法。



背景技术:

随着现代集成电路技术的高速发展,集成电路的特征尺寸缩小和性能需求增加,其功率密度也随之不断增加。从90纳米开始,半导体制造工艺已经发展到了纳米阶段,现在,更已经达到45纳米,22纳米。在这一阶段,硅基芯片上的漏电流大幅度增加,且受温度影响严重。在多核芯片中,一旦芯片内部出现温度升高的核心,该核内的漏电流也会迅速增加,导致漏电功耗的增加,并进一步导致核心温度的上升。总之,片上的高功率密度引起的高温降低芯片可靠性的同时,也限制了处理器的性能,因此成为了制约微处理器发展的最主要限制之一。近年来,动态热管理技术被广泛采用以减轻过热引起的有效性问题,并在安全温度下提高处理器性能。有效的动态热管理方法包括了任务迁移技术和动态电压频率调节。任务迁移技术通过将高温核心上的高功率重负荷任务与低温核心上的低功耗轻负荷任务相迁移来最小化片上的温度差异。该策略可以保持处理器的高性能,减小热空间梯度,降低温度峰值,但如果没有其他的温度调节技术参与,任务迁移并不能保证片内核心的温度处于安全的温度范围之内。而动态电压频率调节技术则可以通过降低核内的工作电压与频率来降低功耗,从而保证核心处于安全的温度范围,但与此同时可能会导致相当严重的性能损失。

另外,为了提高控制质量并提供控制决策的理论支持,模型预测控制技术也被引入动态热管理技术之中。模型预测控制技术通过计算所需的输入轨迹来追踪目标输出的未来状态。

通过对现有技术文献检索发现,Vinay Hanumaiah和Sarma Vrudhula在IEEE Transacti ons on Computer-Aided Design of Integrated Circuits(IEEE集成电路与系统的计算机辅助设计汇刊)中发表文章《Performance Optimal Online DVFS and Task Migration Techniques for Thermally Constrained Multi-Core Processors》(优化温度受限多核微处理器运行性能的在线DVFS与任务迁移技术),该文章提出了在温度受限的情况下结合DVFS与任务迁移技术优化多核微处理器性能的方法,对多核微处理器性能有一定的提升。该方法使用一种称为zero-slack policy的简单控制方法来判断何时应使用DVFS与任务迁移技术,将会导致芯片温度随时间产生较大波动并超过温度限值威胁芯片可靠性。此外,该方法在温度控制中使用忽略芯片核心间横向热电阻的简易芯片热模型,导致微处理器温度与性能控制误差较大。



技术实现要素:

本发明的目的在于针对现有技术中温度与性能控制误差较大的问题,提出一种高效准确的微处理器动态热管理方法,该方法基于模型预测控制结合任务迁移及动态电压频率调节,利用模型预测控制方法,根据用户定义的目标温度分布目标来计算出对应的所需功率输入分布,然后通过执行任务迁移与动态电压频率调节来对现有的功率分布进行校正,以匹配前部计算得出的所需输入功率分布。本发明成功综合了任务迁移,动态电压频率调节以及模型预测控制方法的优势,能够高效地最优化处理器性能的同时,最小化多核芯片核心间的温度差异,追踪用户定义的目标温度分布。

为实现上述目的,本发明采用的技术方案为:

一种高性能多核微处理器的动态热管理方法,包括以下步骤:

步骤1、建立微处理器的热模型,获取相应的模型参数;

步骤2、计算处理器原有任务所对应的各核心的输入功率分布;

步骤3、计算对应于预设安全温度分布的各核心输入功率分布;

步骤4、调整输入功耗,使得步骤2与步骤3计算得输入功率分布相匹配,其具体匹配过程如下:

1)根据步骤2和步骤3得到各核心输入功率分布,以及自定义的功率差值阈值建立一个偶图;

2)对上述偶图做偶匹配,输出在匹配规则下匹配完成的功率对,并收集尚未完成匹配的功率对,以建立两组分别对应于原有任务和定义安全温度上限的新的功率数据子集;

3)对上步得到的两个功率数据子集做判断,如果对应于原有任务的功率子集均值大于对应于安全温度上限的功率子集的平均值,则执行4)至6);否则,执行7)至11);

4)采用动态电压频率调节技术,以相应的比率,对原有任务子集中的功耗进行缩小处理,更新该子集;

5)将上述得到的新的功率子集,以及同样的功耗差阈值再次建立偶图,并对其进行偶匹配;

6)输出在匹配规则下完成匹配的功率对,以及动态电压频率调节的比率;

7)将1)的功率差值阈值释放为无限大;

8)采用2)中得到的两个功率子集,以及新的功率差值阈值再次构建偶图,并对其进行偶匹配;

9)在上述匹配之后,若出现功率对中原有的核心功耗大于与预设安全温度分布所对应的核心功耗,则对该核心的原有任务进行动态电压频率调节,以降低其功耗;

10)输出已匹配的功率对以及动态电压频率调节的比率;

11)用剩余的未匹配项分别更新对应于原有任务的核心功率子集和对应于预设安全温度分布的功率子集;

12)重复1)至11),直到对应于原有任务的核心功率子集和对应于预设安全温度分布的功率子集均为空。

进一步的,上述步骤2的具体实现过程为:通过微处理器性能仿真软件在该微处理器架构上仿真标准测试程序,并在此基础上集成功耗分析模块实现计算处理器芯片各个模块的功耗数据。

进一步的,上述步骤3的具体实现过程为:根据预设安全温度分布,采用模型预测控制方法来对计算未来若干时刻处理器芯片上各个核心在处于安全温度上限时的功耗值。

综上所述,本发明的有益效果在于:

本发明提供了一种基于模型预测控制结合任务迁移及动态电压频率调节的针对高性能多核微处理器的动态热管理方法,利用模型预测控制方法,根据用户定义的目标温度分布目标来计算出对应的所需功率输入分布,然后通过执行任务迁移与动态电压频率调节来对现有的功率分布进行校正,以匹配前部计算得出的所需输入功率分布。本方案成功综合了任务迁移,动态电压频率调节以及模型预测控制方法的优势,可以高效地最优化处理器性能的同时,最小化多核芯片核心间的温度差异,追踪用户定义的目标温度分布。

附图说明

图1为本发明一种高性能多核微处理器的动态热管理方法示意图。

图2为对两组功率进行调节和匹配的示意图。

图3为对两组功耗进行初次匹配和一种情况下对原有功耗进行调节的示意图。

图4为对两组功耗进行初次匹配后,另一种情况下对原有功耗进行调节的示意图。

图5为本发明提出的热管理方法对于处理器核心的降温效果比较图。

图6为本发明提出的热管理方法对于处理器温度分布方差的改进效果比较图。

具体实施方式

为使本发明的目的,技术方案及优点更加清楚明白,下面参照附图并举实施例,对本发明进一步进一步详细说明。

本发明提供一种基于模型预测控制结合任务迁移及动态电压频率调节的针对高性能多核微处理器的动态热管理技术,如图1所示,具体步骤包括:

步骤一、建立微处理器的热模型,获取相关的模型参数;

具体而言,在本发明实施例中,包括建立一个与多核微处理器相对应的热模型,在提供出微处理器相关物理特性参数的前提下,利用相关Hotspot软件计算出热模型中的各参数;在后续的步骤中,利用该热模型来联系微处理器的输入功耗与微处理器温度分布,以得到的微处理器温度分布来为动态热管理提供反馈的依据。

与微处理器相关联的热模型中包含了对应于多核微处理器物理结构的热电导,热电容以及功耗输入的相关信息,具体是通过一个常微分方程来表征的。在瞬态热仿真中,对应于一个有nc个核心的多核微处理器,在合适的时间步长下,可将该微分方程表述为如下的离散形式:

tm(k+1)=Amtm(k)+Bmp(k),y(k)=cmtm(k); (公式一)

其中,tm(k)是一个n维向量,表征微处理器中n个位置的实际温度,包括了nc个核心,以及芯片的边界条件结点;Am,、Bm分别为n×n和n×nc规模的矩阵,涵括了微处理器对应的热电导,热电容以及芯片拓扑结构所决定的动态热信息。

P(k)作为该模型的输入,是一个nc维向量,表征了处理器中nc个核心在k时刻的功耗;

y(k)是nc个核心的温度向量,作为该模型的输出;

cm是nc×n的矩阵,是一个输出选择矩阵,从tm(k)中选出nc个核心的温度。

进一步地,在本实施例中,微处理器热模型中的热电导以及热电容信息都是通过Hotspot软件来进行仿真获取的;具体地,在Hotspot软件中构建微处理器芯片所对应的物理架构,给出芯片的关键物理参数,封装信息以及模块数目,通过Hotspot软件的仿真计算,最终得出该微处理器对应的热电导和热电容信息。在本实施例中,所构建的处理器芯片为9mm×9mm×0.15mm的硅基芯片,处理器中的核心数目为9。

步骤二、计算芯片上各核心的功耗数据;

具体而言,在本实施例中,包括构建多核微处理器架构,通过微处理器性能仿真软件在该芯片架构上仿真标准测试程序,并在此基础上集成功耗分析模块来计算芯片上各个核心的功耗数据。

进一步的,构建基于Alpha21264多核微处理器架构,是通过Wattch软件在需要进行动态热管理设计的微处理器架构上仿真SPEC标准测试程序,并计算微处理器芯片上各核心的功耗数据。

步骤三、计算对应于用户定义温度分布的输入功耗分布;

具体而言,在本实施例中,是利用模型预测控制方法,根据用户定义的温度分布,来计算出与之对应的合适的各核心在未来若干时刻的功耗数据,使微处理器的各个核心在处于安全温度范围的前提下尽可能地运行最重载的任务,以保证微处理器的高性能表现。

在本实施例中,为了计算出在模型中合适的输入功耗以控制输出的各核心的温度分布,建立了输入功耗差值与输出温度分布之间的联系。定义状态变量差以及输入变量差分别为前后两个状态的差值和前后两次输入功率的差值:

Δtm(k)=tm(k)-tm(k-1),Δp(k)=p(k)-p(k-1); (公式二)

进一步的,定义一个包含状态变量差与输出的核心温度的新变量:

由此,可以得到功率输入差值与输出的核心温度之间的联系,并构建出如下的差量模型:

t(k+1)=At(k)+BΔp(k),y(k)=Ct(k); (公式四)

其中,0m为所有元素均为0的矩阵;

进一步的,根据上述的差量模型,需要计算出与所定义的各核心安全温度上限所对应的各核心功耗输入。具体地,以最小化预测的核心实际温度与定义的安全温度上限之间的差为准则,结合当前时刻的温度信息,计算出各个核心在预测界限内的未来NP个时刻的合适的输入功耗值。

在本实施例中,上述定义安全温度上限的表征为:该向量中,包含了每个核心的安全温度上限,NP即上述预测时间界限,为一个从当前时间到未来NP个时刻点的时间框架。

进一步的,定义未来的控制轨迹为:

Δp=[Δp(k),Δp(k+1),...,Δp(k+Nc-1)]T,

进一步的,定义各核心的预测温度向量为:

Y=[y(k+1|k)T,y(k+2|k)T,...,y(k+Np|k)T]T

其中,y(k+j|k)为利用当前时刻k的信息所计算出的k+j时刻的核心温度向量;

已知ΔP时,Y可以由下式计算得出:

Y=Vt(k)+ΦΔP, (公式六)

其中,

进一步的,为了最小化定义安全温度上限与预测核心温度之间的差量,将定义一个代价函数F:

F=(G-Y)T(G-Y)+ΔPTRΔP; (公式八)

其中,R=rINc×Nc是以r为整定参数的整定参数矩阵;如上,注意到Y为未知变量△P的函数,公式七中的第一项表征了核心真实温度与定义安全温度上限之间的差量,而第二项表征了输入功耗变化量的大小,表明我们倾向于较小的输入功率变化量;r的值决定了上式两项之间的权重,可以通过微调该值来适应不同的实际情况。

进一步的,对上式进行优化以使其最小化;具体而言,取该式对于变量ΔP的一阶导数并使其为零,可得到ΔP的解为:

ΔP=(ΦTΦ+R)-1ΦT(G-Vt(k));(公式九)

进一步的,在每一个进行模型预测控制计算的时刻k,我们只使用公式八中计算出的第一个控制信号Δp(k),并对功率分布进行如下更新:

其中,是更新后的功耗分布,与之对应的核心温度分布将追踪所定义的核心温度分布,而所得的功耗分布是处理器各核心在不超过安全温度阈值的条件下所能接受的最大功率分布;

步骤四、对原有的输入功耗进行调整,并与上一步计算得出的功耗分布相匹配;如图2所示为对两组功耗进行调节和匹配的示意图;

具体而言,得到定义的安全温度所对应的核心功率分布以及原有的任务所对应的功率分布之后,首先利用任务迁移的方法将二者中差值在定义阈值内的功率对进行匹配,然后对所剩下的未能合适匹配的功率对,根据不同的情况,利用动态电压频率调节方法对其进行相应的调整,最终得到两个功率分布之间的完美匹配;接下来,使用任务迁移技术与动态电压频率调节技术对各核心的任务、电压,以及频率根据匹配结果进行调整,以实现微处理器各核心在安全温度范围内尽可能保持高性能的目标。

进一步的,在得到与安全温度上限多对应的核心功率分布,以及与微处理器原有的工作任务所对应的核心功率分布之后,将利用本发明所提出的结合任务迁移方法与动态电压频率调节技术的算法,得到两组功率之间的完美匹配,其匹配过程具体为

1)利用与安全温度上限所对应的各核心功率分布和与处理器原有任务所对应的各核心功率分布,以及自定义的功耗差值阈值来建立一个偶图;

2)对上述偶图做偶匹配,输出在匹配规则下匹配完成的功率对,并收集尚未完成匹配的功率对,以建立两组分别对应于原有任务和定义安全温度上限的新的功率数据子集;

3)对上步得到的两个功率数据子集做判断,如果对应于原有任务的功率子集均值大于对应于安全温度上限的功率子集的平均值,执行4)至6);否则,执行7)至11);

4)则利用动态电压频率调节技术,以相应的比率,对原有任务子集中的功耗进行缩小处理,更新该子集;

5)用上述得到的新的两个功率子集,以及同样的功耗差阈值来建立偶图,并对其进行偶匹配;

6)输出在匹配规则下完成匹配的功率对,以及动态电压频率调节的比率;

7)将前述的功率差值阈值释放为无限大(或一个更大的合适的值);

8)利用2)中得到的两个功率子集,以及新的功率差值阈值构建偶图,并对其进行偶匹配;

9)在上述匹配之后,如果有某个配对中原有的核心功耗大于与安全温度上限所对应的核心功耗,则以对应的缩小比率,对该核心的原有任务进行动态电压频率调节,以降低其功耗;

10)输出已匹配的功率对以及动态电压频率调节的比率;

11)用剩余的未匹配项来分别更新对应于原有任务的核心功率子集和对应于定义安全温度上限的功率子集;

12)重复步骤1)至11),直到对应于原有任务的核心功率子集和对应于定义安全温度上限的功率子集均为空。

如图3所示为上述步骤2)至步骤5)的过程示意图;如图4所示为上述步骤7)至步骤9)的过程示意图。

所述的处理器原有任务对应的核心功耗数据子集是指:在微处理器上运行前述的标准测试程序时,与之相对应的已计算得出的对应于处理器中m个核心的功率分布,如下式所示:

p(k)=[p1,p2,…,pm]

其中,Pk为第K个核心对应于原有任务的功耗值;

所述的与定义安全温度上限对应的核心输入功率子集是指:根据用户定义的处理器芯片安全温度上限值,利用模型预测控制方法计算得出的相应的各核心的输入功率,如下式所示:

其中,为第K个核心对应于安全温度上限值的功耗值;

所述的以两个功耗数据子集构造的偶图为:

其中,顶点集U,W分别为:U={p1,p2,…,pm},边集E的构造规则为:对于分属两个子集的任意两个功耗值所对应的顶点,定义功率差值是指为他们之间的差的绝对值:

进一步的,定义功率差阈值为,对于上述的功率差值,设定它的一个上限值Wth;在利用两个功率子集构建偶图时,当且仅当分属于U和W的两个顶点所对应的功耗差值小于等于该阈值时,在这两个顶点间连一条边;

所述的偶匹配是指基于匈牙利算法的加权偶匹配,该算法使输出的匹配对的路径权值之和最小,在实施例中,即使相匹配的所有功率对的功率差值之和最小。

上述匹配过程中步骤2)所述收集未匹配的功率对所建立的两个新的分别对应于原有任务和定义安全温度上限的新的功率数据子集是指:经过上一次偶匹配之后,将剩下的分别对应于原有任务和定义安全温度上限的功率数据收集起来,分别建立两个新的核心功耗数据子集;对应于安全温度上限的未匹配功耗项行成的新的功率数据子集为(假设经过上一次偶匹配后还有q个核心功耗数据未能匹配):

相应的,对应于处理器原有任务的未匹配功耗项行成的新的功率数据子集为:

上述匹配过程中步骤4)所述的动态电压频率调节是指对相应的处理器核心的工作电压和频率进行一定比例的降低,该步中所述的动态电压频率调剂的比率计算如下:

其中,avg(pl)指新的对应于处理器原有任务的核心功耗数据子集UL的平均值,是指新的对应于安全温度上限值的核心功耗数据子集WL的平均值;

上述匹配过程中步骤10)所述的相应的动态电压频率调节的缩小比率为:

其中,为匹配对中对应于处理器原有任务的核心功耗值,为匹配对中对应于所定义的安全温度上限值得核心功耗值;

显然,经过上述匹配过程,能够将步骤二中得到的对应于处理器原有任务的各核心功耗数据与步骤三中得到的对应于处理器芯片安全温度上限的各核心功耗数据进行合适的匹配。

如图5所示为本发明提出的热管理方法对于处理器核心的降温效果比较图,从图中可以看出从第200秒开启本发明提出的动态热管理方法开始,原本高于设定安全温度的核心温度降低到了安全温度附近,并且原本低于设定安全温度(表明该核心的性能未充分发挥)的核心温度则上升到了安全温度附近,有效提高了芯片的可靠性与运行性能;如图6所示为本发明提出的热管理方法对于处理器温度分布方差的改进效果比较图,从图中可以看出从第200秒开启本发明提出的动态热管理方法开始,芯片各核心之间的温度差别大幅度降低,达到了本发明提出的热管理方法使芯片各核心温度稳定在设定的均一温度的目标。

以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1