-
随着集成电路工艺的发展,晶体管的特征尺寸越来越小,多核处理器等超大规模集成电路(very large scale integration, VLSI)单位面积上集成的器件越来越多,导致芯片功率密度增加,工作温度上升,从而引起严重的热问题。过高的温度会降低芯片的运行性能,减少芯片的使用寿命,严重时甚至导致芯片直接损坏[1-2]。高性能芯片采用动态热管理(dynamic thermal management, DTM)技术处理热问题[3-4]。DTM通过集成在芯片上的温度传感器监测芯片温度场信息,当芯片温度超过阈值时,触发管理机制并采用调整芯片工作负载、降低时钟频率或者启动冷却装置等方式降低芯片温度,可以有效地抑制芯片过热的情况发生[5]。温度场监测精度对DTM准确、高效运行至关重要。温度场监测误差会导致DTM过早或过晚触发。不必要地过早触发DTM会使芯片低性能运行;而延迟触发DTM则可能导致芯片的温度过高,甚至导致芯片失效。因此,精确监测芯片温度场对于保障芯片运行性能和可靠性十分必要。
在实际应用中,受芯片资源限制,只允许少量温度传感器布置在被监测芯片上。因此,如何通过有限数量的温度传感器精确地获得温度场信息成为研究热点[6-7]。文献[8]利用奈奎斯特−香农采样定理,通过频域傅里叶分析技术实现了多核处理器的温度场重构,研究证明温度场在频域表现为稀疏性,所谓稀疏性即大部分数据为零或者接近零,非零数据的个数称为稀疏度。文献[9]通过离散余弦变换在频域分析温度场先验信息,并利用频域信号能量特性提出了温度传感器布局与温度场重构策略,相比于傅里叶变换,离散余弦变换在频域具有更好的能量集中性。文献[10]在频域分析的基础上,通过改进Voronoi图构建算法来提高温度场重构精度。在频域下,温度场信号主要集中在低频区,因此基于频域的温度场重构技术在重构温度场时会忽略大部分高频信号,这在一定程度上会造成重构精度的降低。文献[11]提出了基于压缩感知的温度场重构技术,利用温度场频域稀疏性并结合压缩感知理论还原温度场,但需要注意的是,根据压缩感知理论当温度传感器数量小于稀疏度时,重构精度会降低。除了频域法,文献[12]提出了基于主成分分析法(principal component analysis, PCA)的温度场重构技术,将温度场用线性模型表示,但是线性模型为欠完备字典,会损失一部分信息。
本文提出一种基于稀疏字典学习的温度场重构技术。首先利用温度场先验信息训练字典,然后通过字典学习将温度场进行稀疏表示,并将温度传感器布局转化为NP-hard问题,采用模拟退火算法求解传感器位置,最后利用正交匹配追踪算法重构温度场,提高温度场重构精度。
-
许多高性能芯片在不同工作条件下,产生的温度场分布不同,在芯片设计阶段可以得到温度场分布的先验信息。通过对温度场先验信息进行字典学习,可以将温度场稀疏表示[13]。假设温度场先验信息包含T个温度场,对于1≤t≤T,温度场ft是一个W ×H的离散化数据矩阵,W、H分别代表温度场宽和高方向的离散数据分辨率。记N = W×H,对于0≤n≤N−1,将温度场矩阵ft转换为向量表示:
$${f_t}\left[ n \right] = {f_t}\left[ {nod W,\left\lfloor {\frac{n}{W}} \right\rfloor } \right]$$ (1) 式中,“⌊ ⌋”代表向下取整。通过式(1)可以得到包含T个温度场的先验信息F={f1, f2, ···, fT}。字典学习将F分解为:
$${F }= {DX}$$ (2) 式中,D称为字典,D={d1, d2, ···, dK},是由一组基向量组成的N × K矩阵,每个基向量称为原子;K为原子个数,当用于稀疏表示时,D为过完备字典,即 K > N;X={x1, x2, ···, xT},是F的稀疏编码,当稀疏度为R时,X的每个列向量中只有R个非零值。
温度场重构过程如图1所示,其中,FS表示温度传感器数据,DS表示字典D对应传感器位置提取的子字典,
${\hat{ X}}$ 表示解算得到的稀疏编码,$\hat{ F}$ 表示温度场重构值。在芯片设计阶段通过对温度场先验信息分析得到字典D,在芯片工作阶段利用温度传感器数据求解X,则可以通过式(2)重构温度场。相比于基于频域的温度场重构技术,X的稀疏性并非近似得到,失真性更小,同时非零值的位置不固定,结合过完备字典,可以实现更高的重构精度。求解字典D为一个迭代过程,每次迭代需要完成稀疏编码和字典更新两个步骤,直到完成迭代次数,流程如图2所示。
稀疏编码,即为已知字典D更新X的过程,采用逐列更新方式,对于X的第t列xt,以最小均方误差作为原则,求解可以表示为:
$${{x}_t}{\rm{ = }}\arg \min {\rm E}\left\| {{{f}_t} - {D}{{x}_t}} \right\|_{\rm{F}}^2$$ (3) 式中,下角标F代表Frobenius范数。由于ft、D及xt的稀疏度R均是已知的,可以利用正交匹配追踪算法计算[14]。X的完整更新算法过程如下:
1) 已知字典D、先验信息F、稀疏度R;
2) 当更新X的第t列,初始化:残差r0 = ft;索引集Φ =
$\varnothing $ ;i = 1;3) 判断:当i≤R时进行下一步,否则跳至步骤9);
4) 求D每列与残差ri−1的内积,并从其中找出最大值对应的位置λi,即:
$${\lambda _i}{\rm{ = }}\arg {\max _{k = 1,2,\cdots K}}\left| {\left\langle {{{r}_i},{d}_k^{}} \right\rangle } \right|$$ 5) 更新索引集
$\varPhi = \varPhi \cup \left\{ {{\lambda _i}} \right\}$ ,根据索引集中的角标位置从D中提取相应位置列向量组成矩阵Di={ dλ1, dλ2, ···, dλi };6) 根据最小二乘原理求得稀疏表示:
$${{x}_i} = {D}_i^\dagger {f}_t^{}$$ 式中,符号“†”表示广义逆矩阵运算,即:
$${D}_{}^\dagger {\rm{ = }}{\left( {{D}_{}^*{{D}_{}}} \right)^{ - 1}}{D}_{}^*$$ 式中,符号“*”代表矩阵的共轭转置运算。
7) 更新残差ri,ri = ft − Dixi;
8) 完成本次迭代,i = i + 1,跳至第3)步;
9) 完成X的第t列更新,xt[Φ] = xi,跳至第2)步并重复步骤3)~8),直至X的所有列更新完毕。
字典更新,即为已知X更新D的过程,逐个更新字典原子,对于D的第k个原子满足最小二乘原则:
$$\begin{split} {{d}_k} = \arg \min {\rm{E}}&\left\| {\left( {{F} - \sum\limits_{j = 1,j \ne k}^K {{{d}_j}{x}_T^j} } \right) - {{d}_k}{x}_T^k} \right\|_{\rm{F}}^2 = \\ &{\rm{ }}\arg \min {\rm{E}}\left\| {{{E}_k} - {{d}_k}{x}_T^k} \right\|_{\rm{F}}^2 \\ \end{split}$$ (4) 式中,xT表示X的行向量;上角标j、k表示第j、k行;Ek代表更新第k个原子时对应的残差矩阵。此时可以利用奇异值分解求解dk。对Ek进行奇异值分解,取左奇异矩阵的第1个列向量作为dk,取右奇异矩阵的第1个行向量与第1个奇异值的乘积作为xTk,则完成了对第k个原子的更新,同时更新了X。D的完整更新算法过程如下:
1) 已知原字典D,先验信息F,稀疏编码X;
2) 更新第k个原子,找到xTk中非零元素的位置索引集合Λ;
3) 令dk = 0,并计算残差矩阵:
$${E}_k^{} = {F} - {{D}_{{{d}_k} = 0}}{X} \text{;}$$ 4) 为了保证X的稀疏性,只更新xTk中的非零元素,按照位置索引集Λ,从残差Ek提取对应位置的列向量,得到
${E}'_k $ ;5) 对
${E}'_k $ 做奇异值分解,${E}'_k $ =UΣV*;6) 同时更新dk及xTk:
dk = U[:,1] xTk [Λ]=Σ[1,1]V[:,1]*
7) 跳至第2)步并重复步骤3)~6),直至D的所有原子更新完毕。
完成图2的流程后得到字典D,然后就可以利用字典D计算温度传感器位置,并实现温度场重构。
-
如图1所示,根据温度传感器数据计算出X。对于s个温度传感器,温度传感器的位置记为L={l1, l2, ···, ls},可以得到:
$$\left( {\begin{array}{*{20}{c}} {{{f}_1}\left[ {{l_1}} \right]}& \ldots &{{{f}_T}\left[ {{l_1}} \right]} \\ \vdots & \ddots & \vdots \\ {{{f}_1}\left[ {{l_s}} \right]}& \cdots &{{{f}_T}\left[ {{l_s}} \right]} \end{array}} \right) = \left( {\begin{array}{*{20}{c}} {{{d}_1}\left[ {{l_1}} \right]}& \ldots &{{{d}_K}\left[ {{l_1}} \right]} \\ \vdots & \ddots & \vdots \\ {{{d}_1}\left[ {{l_s}} \right]}& \cdots &{{{d}_K}\left[ {{l_s}} \right]} \end{array}} \right){\hat{ X}}$$ (5) $${{F}_{\rm{S}}} = {{D}_{\rm{S}}}{\hat{ X}}$$ (6) 温度传感器的位置会影响X的解算精度。考虑实际温度传感器的采样噪声以及X的求解误差,式(6)的表达式调整为:
$${{F}_{\rm{S}}}{\rm{ + }}{\delta} = {{D}_{\rm{S}}}\left( {{\hat{ X}}{\rm{ + }}{\varepsilon} } \right)$$ (7) 式中,δ为随机噪声;ε为求解误差。对式(7)进行分析可以得到如下关系:
$$\frac{{{{\left\| {{\varepsilon }} \right\|}_2}}}{{{{\left\| {{\hat{ X}}} \right\|}_2}}} \leqslant {\rm{Con}}{{\rm{d}}_2}\left( {{{D}_{\rm{S}}}} \right){\left\| {\delta} \right\|_2}$$ (8) 根据式(8),求解误差ε的大小被矩阵DS的条件数Cond2(DS)限制,因此,选出s个温度传感器位置,使Cond2(DS)最小就能使求解误差最小。从N个位置中选出最优的s个位置,这是NP-hard问题。本文采用模拟退火算法求解该NP-hard问题[15]。为了不使X的求解变为不适定问题,温度传感器数量s与稀疏度R应满足s>R,同时矩阵DS的秩应不小于R,即rank(DS) ≥R。传感器位置完整更新算法过程如下:
1) 已知字典D;
2) 初始化模拟退火参数:初始温度Tin,终止温度Tstop,温度衰减指数γ,内循环次数M;
3) 随机生成s个位置L和Lc,分别为最优解和当前解,如果rank(DS)≥R且rank(DSc)≥R,则分别计算DS和DSc的条件数C和C c,否则重复该步骤;
4) 令初始温度 T = Tin,开始模拟退火,当 T < Tstop时,跳至第11)步;
5) 执行内循环,完成步骤6)~9)M次;
6) 生成新的随机位置L′,如果rank(
${D}'_S $ )≥R则计算${D}'_{\rm{S}} $ 的条件数C′;7) 如果C′ < C,则C = C′,L = L′,DS =
${D}'_{\rm{S}} $ ;8) 生成随机数
$\theta \in \left( {0,1} \right)$ ,计算Metropolis准则概率:$$\rho =\left\{ \begin{aligned} & 1\;\;\;\;\;\;\;\;\;\;\;\;\;&C'<{{C}^{c}} \\ & \exp \left( \frac{{{C}^{c}}-{{C}^{'}}}{{{T}_{\text{in}}}} \right)&\text{ }C'\geqslant {{C}^{c}} \\ \end{aligned} \right.;$$ 9) 如果θ < ρ,则C c = C′,Lc = L′,
${D}_{\rm{S}}^{\rm{c}} $ =${D}'_{\rm{S}} $ ;10) 更新当前温度T,T = γT,跳至第4)步;
11) 模拟退火完成,得到温度传感器位置L,如果C c < C,则L = Lc,DS =
${D}_{\rm{S}}^{\rm{c}} $ 。这样,设计阶段得到了字典D以及温度传感器的位置,将其存储到芯片中。由图1所示,在芯片工作阶段利用字典D与温度传感器数据解算X。由于X具有稀疏性,采用正交匹配追踪算法求解,此时算法的输入变为FS和DS。求解得到
$\hat {{X}}$ 后,根据式(2)便可以还原当前温度场。 -
为了验证所提出的温度场重构技术的有效性,采用如图3所示的原理开展实验。实验中利用热测试芯片(thermal test chips, TTC)生成温度场,TTC由基本单元阵列组成,每个基本单元包含加热电阻和感温二极管,分别作为热源和测温元件。通过控制电路控制热源的发热功率可以生成若干温度场。先验信息F及传感器数据FS通过以下方法得到:1) 利用热成像仪观测TTC生成的温度场,作为温度场先验信息F;2) 以基本单元测温元件的检测结果模拟实际温度传感器数据FS。将F和FS代入不同的温度场重构方法并在上位机中运行,对比重构温度场
$\hat {{F}}$ 与F的接近程度来评估不同方法的性能。实验中,TTC包含225个基本单元即传感器备选位置为225个,每个温度场离散为W×H = 15×15的二维矩阵,相应的温度场分辨率N = 225。先验信息由300个温度场组成,T = 300。在进行字典学习时,选取的字典原子个数K = 250。利用有限数量温度传感器重构温度场的性能,对比温度传感器数量s = 7, 9, ···, 17, 19时重构温度场与先验信息之间的平均误差、均方误差和误报率。
平均误差Eavg,即温度场重构误差的平均值,其值越低表示重构精度越高,定义为:
$${E_{{\rm{avg}}}} = \frac{1}{{NT}}\sum\limits_{n = 1}^N {\sum\limits_{t = 1}^T {\left| {{f_t}\left[ n \right] - {{\hat f}_t}\left[ n \right]} \right|} } $$ (9) 均方误差EMSE,即温度场重构误差平方的平均值,其值越低表示重构精度越高,定义为:
$${E_{{\rm{MSE}}}} = \frac{1}{{NT}}\sum\limits_{n = 1}^N {\sum\limits_{t = 1}^T {{{\left( {{f_t}\left[ n \right] - {{\hat f}_t}\left[ n \right]} \right)}^2}} } $$ (10) 误报率(false alarm rate, FAR),定义为漏报或虚假紧急情况所占的比例[16]。漏报表明实际温度已经达到DTM的报警阈值,但重构温度却低于该值;虚假紧急情况表明实际温度尚未达到报警阈值,但重构温度已高于该值。FAR越低意味着温度场重构精度越高,表达式为:
$${\rm{FAR}} = \left( {\frac{1}{{NT}}\sum\limits_{t = 1}^T {{F_t}} } \right) \times 100{\text \%} $$ (11) 式中,Ft表示第t个温度场中发生误报的次数。这里选取的阈值为50 ℃。
使用性能变化的相对率对比不同方法的性能,定义为:
$$\left| {\frac{{{X^1} - {X^2}}}{{{X^2}}}} \right| \times 100{\text \%} $$ (12) 式中,X 1、X 2分别表示方法1、方法2的X性能,本文中X包括Eavg、EMSE和FAR。
将Voronoi图方法[10]、K-LSE方法[11]、PCA方法[12]与本文提出的方法进行比较,结果如图4~图6所示。可以看出,4种方法的温度场重构精度随温度传感器数量的增加而提升。表1列举了不同方法的平均重构性能,本文提出的方法在Eavg、EMSE和FAR方面均优于Voronoi图和K-LSE方法。相比Voronoi图方法,Eavg、EMSE和FAR平均提升了1.5 ℃、9.7和10.5%,相对提升了39.6%、46.7%和36.2%;相比K-LSE方法,Eavg、EMSE和FAR平均提升了0.9 ℃、5.4和7.3%,相对提升了28.5%、32.7%和28.3%。
表 1 不同方法性能对比
方法 平均Eavg/℃ 平均EMSE 平均FAR/% 本文方法 2.33 11.07 18.41 Voronoi图 3.86 20.79 28.98 K-LSE 3.26 16.44 25.68 PCA 2.50 11.83 20.04 相比PCA方法,本文方法Eavg、EMSE和FAR平均提升了0.2 ℃、0.8和1.6%,相对提升了6.8%、6.4%和8.1%,稍优于PCA方法,但随着温度传感器数量的增加,本文方法重构性能更加优越。上述结果表明,本文提出的方法重构温度场更精确。
鉴于芯片设计阶段的算法均离线实现,因此温度场重构完成时间主要由芯片工作阶段的算法运行时间决定。为了比较不同方法的收敛速度和计算量,将不同算法的运行时间进行对比。所有方法均在上位机运行,上位机配置为:Core i7-9700处理器;3.00 GHz主频;16.00 GB内存,实验结果如图7所示。Voronoi图方法由于需要进行数次域变换,算法的运算时间最长。本文方法与K-LSE方法的运算时间接近,略高于PCA方法。综合考虑重构精度及运算时间,本文方法更具有优势。
下面分析使用本文方法时,稀疏度R的设置对重构精度的影响。实验设定温度传感器数量s = 15,然后对比R从5变化到14时温度场的重构性能,结果如图8所示。随着稀疏度R增加,温度场重构精度呈上升趋势。这是由于稀疏度的增加意味着使用了更多的字典原子,可以还原的温度场细节随之增多。需要注意的是,R接近s时,性能的提升不再明显。另一方面,考虑到R的增加也会导致稀疏编码X求解时迭代次数的增加,这会加重计算负担。所以R应避开较大和较低值,综合考虑设定适中值。
Thermal Field Reconstruction for VLSI Based on Sparse Dictionary Learning
-
摘要: 多核处理器等超大规模集成电路芯片通常采用动态热管理技术处理热问题。高精度重构芯片温度场是动态热管理正确运行、保证被测芯片运行性能及工作可靠性的前提条件。基于频域分析的温度场重构技术损失了一部分高频信息,重构精度较低。为了提升温度场重构精度,该文提出了一种基于稀疏字典学习的温度场重构方法。该方法通过字典学习将温度场先验信息稀疏表示,同时设计温度传感器位置分配方案,实现了温度场的重构。实验结果证明了相比基于频域分析的温度场重构方法,所提方案具有更优越的温度场重构性能。Abstract: Dynamic thermal management is used to handle the thermal problem of very large scale integrated circuits (VLSI), such us multicore processors. Accurate monitoring of the temperature field can insure dynamic thermal management working correctly, guarantee the chip working performance and reliability further. The temperature field reconstruction techniques based on analysis in frequency domain ignore the information in high frequency zone, which leads to thermal field recovery inaccurate. In order to improve the precision of thermal field reconstruction, a new thermal field reconstruction method based on sparse dictionary learning technology is proposed. In this method, the prior information of temperature field is sparse represented by dictionary learning, and the location assignment scheme of temperature sensor is designed to realize the reconstruction of temperature field. The experiments prove that the proposed strategy have better performance than the methods based on analysis in frequency domain.
-
表 1 不同方法性能对比
方法 平均Eavg/℃ 平均EMSE 平均FAR/% 本文方法 2.33 11.07 18.41 Voronoi图 3.86 20.79 28.98 K-LSE 3.26 16.44 25.68 PCA 2.50 11.83 20.04 -
[1] SHARIFI S, ROSING T. Accurate direct and indirect on-chip temperature sensing for efficient dynamic thermal management[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2010, 29(10): 1586-1599. doi: 10.1109/TCAD.2010.2061310 [2] WANG H, HU L, GUO X, et al. Compact piecewise linear model based temperature control of multicore systems considering leakage power[J]. IEEE Transactions on Industrial Informatics, 2019, 16(12): 7556-7565. [3] MIRTAR A, DEY S, RAGHUNATHAN A. Joint work and voltage/frequency scaling for quality-optimized dynamic thermal management[J]. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2015, 23(6): 1017-1030. doi: 10.1109/TVLSI.2014.2333741 [4] FU Y, LI L, PAN H, et al. Thermal sensor placement and thermal reconstruction under Gaussian and non-Gaussian sensor noises for 3-D NoC[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2019, 38(11): 2139-2152. doi: 10.1109/TCAD.2018.2878178 [5] LI X, LI Z, OU X, et al. High-resolution thermal maps extraction of multi-core processors based on convolutional neural networks[C]//IECON 45th Annual Conference of the IEEE Industrial Electronics Society. Lisbon, Portugal: IEEE, 2019, 10: 3075-3080. [6] LI X, WEI X, ZHOU W. Heuristic thermal sensor allocation methods for overheating detection of real microprocessors[J]. Iet Circuits Devices & Systems, 2017, 11(6): 559-567. [7] CHUNDI P K, ZHOU Y, KIM M, et al. Hotspot monitoring and temperature estimation with miniature on-chip temperature sensors[C]//2017 IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED). Taiwan, China: IEEE, 2017, 7: 1-6. [8] COCHRAN R, REDA S. Spectral techniques for high-resolution thermal characterization with limited sensor data[C]//Proceedings of the 46th Annual Design Automation Conference. San Francisco: IEEE, 2009, 7: 478-483. [9] NOWROZ A N, COCHROAN R, REDA S. Thermal monitoring of real processors: Techniques for sensor allocation and full characterization[C]//Proceedings of the 47th Design Automation Conference. Anaheim, California: IEEE, 2010, 6: 56-61. [10] 李鑫, 戎蒙恬, 刘涛, 等. 基于动态Voronoi图的多核处理器非均匀采样热重构改进方法[J]. 上海交通大学学报, 2013, 47(7): 1087-1092, 1098. LI Xin, RONG Meng-tian, LIU Tao, et al. Improved thermal reconstruction method based on dynamic voronoi diagram with non-uniform sampling on multicore processors[J]. Journal of Shanghai Jiaotong University, 2013, 47(7): 1087-1092, 1098. [11] CHEN K, CHEN Y, LIN Y. Thermal sensor allocation and full-system temperature characterization for thermal-aware mesh-based NoC system by using compressive sensing technique[C]//2017 International Symposium on VLSI Design, Automation and Test (VLSI-DAT). Taiwan, China: IEEE, 2017, 4: 1-4. [12] LI X, LI X, JIANG W, et al. Optimising thermal sensor placement and thermal maps reconstruction for microprocessors using simulated annealing algorithm based on PCA[J]. IET Circuits, Devices & Systems, 2016, 10(6): 463-472. [13] DEEBA F, KUN S, DHAREJO F, et al. Sparse representation based computed tomography images reconstruction by coupled dictionary learning algorithm[J]. IET Image Processing, 2019, 14(11): 2365-2375. [14] WEN J, YU W. Exact sparse signal recovery via orthogonal matching pursuit with prior information[C]//2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). Brighton: IEEE, 2019, 5: 5003-5007. [15] YE Z, XIAO K, GE Y, et al. Applying simulated annealing and parallel computing to the mobile sequential recommendation[J]. IEEE Transactions on Knowledge and Data Engineering, 2019, 31(2): 243-256. doi: 10.1109/TKDE.2018.2827047 [16] 李鑫, 杨金孝, 程元乐. 微处理器中含噪热传感器位置分布优化方法[J]. 北京航空航天大学学报, 2016, 42(11): 2495-2500. LI Xin, YANG Jin-xiao, CHENG Yuan-le. Optimization method of thermal sensor placement for microprocessor with noise[J]. Journal of Beijing University of Aeronautics and Astronautics, 2016, 42(11): 2495-2500.