多核处理器片上网络的功率分配方法

文档序号:9787367阅读:498来源:国知局
多核处理器片上网络的功率分配方法【
技术领域
】[0001]本发明涉及多核处理器
技术领域
,尤其涉及一种多核处理器片上网络的功率分配方法。【
背景技术
】[0002]为满足应用对计算性能的需求,众核芯片集成了众多处理器。然而,其快速上升的功耗成为众核芯片设计的挑战之一。片上网络(N〇C,Netw〇rkonChip)是多核或众核芯片中处理器核之间数据通信的网络,它的性能不仅直接影响着众核芯片的整体性能,而且功耗大约占芯片总功耗的1〇%_36%。在给定功率条件下使得片上网络的性能最优已经成为迫切需求。片上网络中路由器的工作负载(包的到达率)差异很大,需要对每一个路由器进行异构调整功率才能得到很好的性能。[0003]随着CMOS技术的发展,众核芯片(多于16核)被广泛应用于云计算、移动高端设备和高实时性嵌入式终端设备等方面。但是技术的革新也带来了一些挑战,伴随着众核芯片集成规模和整体性能不断提升,其功耗也快速增长。受到芯片封装、散热和外部供电能力的影响,众核芯片的功耗必须受到限制。这带来了众核芯片设计的挑战,即如何在给定功耗限制条件下使得众核芯片的性能最优。[0004]当前众核芯片设计的一个研究热点就是如何管理芯片功率,针对处理器,采用动态调节频率/电压(DVFS)技术或者关闭闲置电路(powergating)技术对处理器核进行功率调整,其基本思想是:当处理器核工作负载相对较低的时候就降低其电压/频率,而当处理器核工作负载相对较高的时候就升高其电压/频率,或者关闭部分暂时闲置电路。[0005]对NoC进行功耗控制,根据其控制粒度,可以分为:(1)芯片层控制,将整个NoC看作一个整体进行功率分配。(2)粗颗粒度调节路由器功率,如VFIs(Voltage_frequencyislandpartitioning,电压频率岛划分),为了提高功率分配的粒度,将NoC中路由器划分区域,每个区域有相同的电压/频率。(3)调节每一个路由器,如SAPP(Scalableandadaptablepeakpowermanagement,可扩展的可适应峰值功率管理),每个路由器的频率是相同的。[0006]现有方法在管理NoC的功率方面都有一定效果,但是它们尚未考虑到每个路由器的工作负载的差异,或者使得Ad-hoc方法表现欠佳,最终体现为通过片上网络传送数据包的延迟较大,使芯片的整体性能欠佳。实际上,优化NoC功率分配可以根据每个路由器的工作负载来调节其频率而实现。【
发明内容】[0007]本发明的目的是为解决目前多核或众核芯片整体功耗受限情况下,片上网络功率分配未考虑到每个路由器的工作负载的差异,导致通过片上网络传送数据包的延迟较大,使芯片的整体性能欠佳的技术问题。[0008]为了解决上述技术问题,本发明提供一种多核处理器片上网络的功率分配方法,其特征在于,包括如下步骤:[0009](1)设定多核处理器片上网络路由器的动态功耗模型及片上网络的性能模型;所述动态功耗模型用于确定所述路由器的功率与路由器的工作频率的关系,所述性能模型用于确定片上网络传送数据包的网络延迟;[0010](2)在片上网络路由器消耗的总功率一定的情况下,通过动态规划算法求取片上网络路由器的最优工作频率,进而根据所述最优工作频率对片上网络的各路由器进行功率分配,使片上网络传送数据包的网络延迟最小。[0011]进一步地,步骤(1)中所述片上网络的性能模型为:[0014]式中,L为片上网络传送数据包的网络延迟,数据包由多个帧构成,第一个帧为帧头,其它帧为数据帧,传送一个数据包的网络延迟为帧头的等待时间和数据帧的传输时间之和;s表示源路由器,d表示目的路由器,Ps^d表示一个数据包从源路由器s产生并发送到目的路由器d的概率,η表示片上网络中路由器的数量,Φμ!表示一个数据包从源路由器s到目的路由器d所经过的路由器集合,Wl表示路由器i中帧头的等待时间山表示路由器i中数据帧的传输时间。[0015]进一步地,所述帧头的等待时间Wi由下式求取:[0017]式中,Ai表示路由器i的帧到达率,讲表示路由器i的服务率,Xi表示路由器i的服务时间分布,h表示路由器i的工作频率,V表示路由器的平均剩余服务时间分布(当且仅当时钟周期有效的时候,一个帧的服务才有效,否则就需要等待)。[0018]进一步地,所述数据帧的传输时间ti由下式求取:[0020]式中,Si表示数据包的大小,W表示片上网络带宽。[0021]进一步地,所述步骤(2)中,对片上网络的各路由器进行功率分配时采用动态功率分配网络,所述动态功率分配网络包括若干网络单元,所述网络单元的数量与片上网络的路由器数量相同,每个路由器对应配置一个网络单元。[0022]进一步地,所述动态功率分配网络为带权重的有向无环图DAG(V,E,w);[0023]其中,V代表图的节点集,E代表边集,w代表边的权重。[0024]进一步地,各所述网络单元适于在线监测Ps^d和,实时计算网络延迟L,并更新本网络单元和下一个网络单元之间相应边的权重w。[0025]进一步地,各所述网络单元适于在所述动态功率分配网络中遍历一条边权重最短的路径。[0026]进一步地,各所述网络单元适于根据所述片上网络路由器的最优工作频率计算各自对应路由器的功率并进行功率分配。[0027]本发明提出的实时细颗粒度的功率分配方法ReFiFS(Real_timeFine-grainedFrequencyScaling),通过调控每个路由器节点的工作频率,使得片上网络中所有路由器节点的总功率不超过给定功率,从而片上网络能够正常运转;片上网络中每个路由器节点的工作频率独立控制,所有路由器的工作频率根据每个节点的工作负载及网络给定功率来实时调控,从而寻求网络数据传输延迟最小点;每个路由器节点工作频率的最优解,即网络数据传输的最小延迟,通过片上网络性能模型、功率模型以及动态规划算法求解实现;动态规划算法的求解过程中通过构建动态规划网络,寻求最小路径实现,从而实现计算并行化,减少每个节点的硬件开销和计算时间。本发明根据每一个路由器的工作负载实时快速细颗粒度地为其分配功率,从而实现数据包传送的最小网络延迟,使得片上网络的总体性能达到最优,芯片的功耗最低,达到最优能量管理的目的,且硬件开销大大降低。【附图说明】[0028]图1为本发明的支持动态功率分配的片上网络的拓扑图;[0029]图2为动态功率分配网络的有向无环图DAG(V,E,w);[0030]图3为片上网络的性能模型的归一化错误率的柱形图;[0031]图4为当片上网络的输入功率为120W时,不同的输入图节点数量下,应用SSSP(Single-SourceShortestPath,单源最短路径并行算法)求得的归一化执行时间对比的柱形图;[0032]图5为当片上网络的输入功率不同时,应用BFS(BreadthFirstSearch,图宽度优先并行搜索算法)求得的归一化执行时间对比的柱形图;[0033]图6为当片上网络的输入功率相同时,分别应用SSSP、BFS和FastSort(快速排序并行算法)求得的归一化执行时间对比的柱形图。【具体实施方式】[0034]现在结合附图和实施例对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成,且其不应理解为对本发明的限制。[0035]NoC动态功耗模型[0036]在NoC中,路由器的功率与其电压和频率有关,所以构建路由器的功率和其频率之间的量化关系是有必要的。在给定路由器结构和电路实现情况下,可得到一个结构层的参数化NoC路由器功耗模型。例如,NoC中有4个路由器,其功耗可以表示为:Power=2·fi+f2+f3+2f4。则每个路由器的功耗可以表示为:[0037]pi=g(fi)(1);[0038]其中I^i<4,pi第i路由器的功率,fi表示第i个路由器的频率,g是路由器工作频率和路由器功率之间的函数关系式。[0039]NoC性能模型[0040]在NoC中,一个数据包由多个帧(flit)构成,第一个帧被称作为帧头(head-flit),其它帧被称作为数据帧(body-flit)。一个数据包的延迟包括帧头的等待时间和数据帧的传输时间。NoC的性能可以用数据包的网络延迟表示,延迟低则表明NoC性能好。如上述含4个路由器的NoC的例子,其性能可以表示为:Lnqc=I/fi+2/f2+4/f3+3/f4,其中fie{2,4,6}。NoC延迟可以由公式(2)和公式(3)表示。[0043]其中s表示源路由器,d表示目的路由器,Ps^d表示一个数据包从源路由器s产生并发送到目的路由器d的概率,η表示网络中路由器数目,表示某个数据包从8到(1所经过的路由器集合,Wi表示路由器i中head-flit的等待时间,ti表示路由器i中body-flit的传输时间。[0044]帧头head-fIit的等待时间和数据帧body-fIit的传输时间分别可以由如下的公式(4)和(5)表不:[0047]其中Ai表示路由器i的帧到达率,yi表示路由器i的服务率,Xi表示路由器i的服务时间分布,h表示路由器i的工作频率,V表示路由器的平均剩余服当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1