一种面向异构众核芯片的量化功耗控制方法

文档序号:9726918阅读:586来源:国知局
一种面向异构众核芯片的量化功耗控制方法
【技术领域】
[0001]本发明涉及计算机领域,具体涉及一种面向异构众核芯片的量化功耗控制方法。
【背景技术】
[0002]异构众核处理器最突出的优势是高性能,尤其适用于高性能计算领域,主要应用于超大规模并行机等大型实用系统中。同时它也存在着峰值功耗高,在不同工作模式和运行状态下的功耗差异大等特点。
[0003]异构众核芯片中单个从核的功耗虽然很低,但是其数量多,是芯片功耗的主体;芯片中数量众多的从核核心占芯片功耗的绝大部分,是功耗管理的主要对象。
[0004]芯片运行状态包括:忙、空闲、从核睡眠、全片睡眠、停机以及运行于不同的工作频率等。功耗管理是要求在不影响芯片功能,对应用需求具有高响应度的前提下,最小化芯片功耗。基于此,经常使用的是开销较低的调频、从核睡眠和全片睡眠。空闲、从核睡眠、全片睡眠等都是在非工作状态下有效的功耗管理机制,而调频机制则是可以在芯片运行期间主要的动态功耗管理手段。
[0005]目前的功耗管理方案主要是控制芯片在某种状态下的时间,一旦超过该时间还没有使用需求,就控制切换到一个更加节能的状态中,整个功耗管理过程涉及到众核芯片内外部不同系统的信息交互,时间开销很大;此外,当芯片上有工作负载运行时,就不再进行功耗管理,而实际上此时有可能产生功耗过载情况,带来稳定性方面的问题。可见,处理器功耗问题不但关系到能源使用效率,而且一旦极限使用模式下的功耗出现了过载,还可能严重影响基于该类芯片的系统稳定性。
[0006]具体地说,现有技术中,异构众核芯片的功耗管理方式一般都是通过运行在异构众核操作系统之外的独立功耗管理系统来实现,主要原理是通过软件心跳检测感知状态,结合超时原理,通过状态切换控制的方式进行管理,但该方法具有一定局限性。体现在如下两个方面。
[0007]—是控制开销大。外部功耗管理系统借助于运行在众核芯片操作系统中的心跳代理获取功耗和状态信息,外部管理系统结合超时机制仲裁决策后,再通过异构众核芯片的专用协议或标准以太协议通知目标芯片操作系统完成对目标芯片的状态切换控制,从而将处于非使用状态的芯片状态切换到相对较低的功耗状态下,从而达到功耗管理的目的。这种管理方式下,功耗管理的时间开销主要包括4个部分:外部基于心跳原理感知目标资源的功耗与状态信息、外部基于超时机制进行功耗管理仲裁决策、外部通知目标众核芯片进行功耗控制、在众核芯片内进行功耗切换控制。在超大规模的实用系统中,前三个部分的时间之和往往需要数十秒,众核芯片切换到睡眠的时间开销为秒级,切换到从核睡眠开销仅有微秒级,但因为都要执行一个上述完整的4步功耗管理流程,基于被动超时机制的管理模式,其控制开销很大,达到数十秒,浪费的时间很多。
[0008]二是缺乏量化的精细管理手段。目前的功耗管理是对处于非使用状态的资源进行功耗管理,对于有工作负载的资源缺乏有效的功耗管理手段,一旦在此期间芯片功耗出现过载等情况,原有的功耗管理手段将无法应对,极有可能影响到芯片的稳定性,产生不良后果O

【发明内容】

[0009]本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种快速、精细的面向异构众核芯片的量化功耗控制方法,不但解决了有工作负载时的量化功耗管理问题,而且功耗管理开销低,可减少能源浪费,提升芯片在工作模式下的稳定性。
[0010]根据本发明,提供了一种面向异构众核芯片的量化功耗控制方法,包括:
[0011 ]第一步骤:获取异构众核芯片在每种状态下的基准功耗数据,建立外部的基础功耗数据表;
[0012]第二步骤:获取异构众核芯片所支持的所有稳定运行频率的频率档次表;而且针对所有稳定运行频率建立不同频率下运行相同应用代码的芯片功耗存在关系,其中,频率越高,功耗越大,并且最低频率档次工作功耗一定小于最大稳定运行功耗MAX_P0WER;
[0013]第三步骤:建立芯片的功耗管理策略作为功耗管理的依据;
[0014]第四步骤:众核操作系统启动后,将功耗阈值寄存器、功耗预警寄存器均初始化为最大稳定运行功耗;
[0015]第五步骤:众核芯片操作系统运行时,外部功耗管理系统启动功耗管理过程,将基础功耗表、频率档次表、功耗管理策略通知到各异构众核芯片的操作系统中;
[0016]第六步骤:外部功耗管理系统接收异构众核芯片操作系统的睡眠通知,并仅仅在有工作负载需要执行、且当前处于空闲状态和从核睡眠状态的资源数量无法满足需求而必须唤醒一些处于睡眠状态的资源时,唤醒满足需求的数量的处于睡眠状态的资源;
[0017]第七步骤:异构众核芯片操作系统在运行期间判断芯片工作状态,结合芯片中断处理和预定义的功耗管理策略进行相应的管理流程。
[0018]优选地,基础功耗数据表中的基准功耗数据包括:最大稳定运行功耗MAX_P0WER、全片空闲功耗IDLE_P0WER、从核睡眠功耗SSLEEP_P0WER、全片睡眠功耗SLEEP_P0WER,其中,MAX_P0ffER>IDLE_P0ffER>SSLEEP_P0ffER>SLEEP_P0ffERo
[0019]优选地,管理流程包括下述步骤:
[0020]第八步骤:若芯片当前处于忙状态,则根据实时功耗是否超过最大稳定运行功耗来分别执行相应的功耗管理流程;
[0021 ]第九步骤:若处理器实时功耗大于功耗阈值寄存器中配置的数值,则处理器自动产生发向主核的预警中断信号,并给功耗预警寄存器加I;
[0022]第十步骤:操作系统被该预警信号中断,在中断处理程序内,确认N0W_P0WER>MAX_POWER时,在操作系统内将芯片的工作频率降低一档以降低功耗,返回第七步骤,若在中断处理内判断到N0W_P0WER〈=MAX_P0WER,不处理而直接转第七步骤;
[0023]第十一步骤:若处理器实时功耗不大于功耗阈值寄存器中配置的数值,则不产生中断,操作系统不进行任何功耗修正而直接转第七步骤;
[0024]第十二步骤:若当前工作负载结束资源释放,则操作系统将芯片的主频修改为正常工作频率,并将状态设置为空闲状态,芯片进入空闲状态,等待新的工作负载,转第七步骤;
[0025]第十三步骤:若芯片当前处于空闲状态,根据当前是否有工作负载需要执行,分别执行不同的功耗管理流程;
[0026]第十四步骤:若没有负载需要执行,则操作系统控制睡眠芯片的所有从核,进入从核睡眠状态,转第七步骤;若有负载需要执行,则操作系统将芯片状态登记为忙状态,加载并启动任务执行,转第七步骤;
[0027]第十五步骤:若芯片当前处于从核睡眠状态,根据是否有工作负载需要执行来调度芯片工作状态;
[0028]第十六步骤:若有工作负载需要执行,则操作系统唤醒芯片的从核,将芯片恢复到空闲状态,加载并执行工作负载,将芯片状态登记为忙状态,转第七步骤;若无工作负载需要执行,判断处于该状态下的时间超过预定义的超时时间,则通知外部功耗管理系统将本芯片的状态修改为睡眠装填状态,将本芯片切换到睡眠状态,转第六步骤;如果无工作负载需要执行、而且处于该状态下的时间未超过预定义的超时时间,则不处理而直接转第七步骤;
[0029]第十七步骤:若芯片状态处于睡眠装填状态,并且有资源使用需求,则由外部功耗管理系统通过魔包唤醒该资源,恢复状态到空闲状态,加载并执行工作负载,将状态登记为忙状态,转第七步骤;若无资源使用需求,则转第六步骤。
[0030]优选地,功耗管理策略包括:超过最大稳定运行功耗时,优先降频以确保稳定性。
[0031]优选地,功耗管理策略包括:在控制降低功耗时,优先采用渐进式的功耗管理策略。
[0032]优选地,功耗管理策略包括:空闲时优先使用低开销的从核离线机制。
[0033]本发明的优点在于采用硬件寄存器感知量化功耗数据、硬件预警中断触发和渐进式调频的量化功耗管理原理为有工作负载的异构众核芯片提供了一种快速、量化的功耗管理方法,可以将功耗控制在确保芯片稳定运行的范围内,同时,对从核睡眠这种节能收益大的常用功耗管理措施,采用基于预定义策略的分布式本地化功耗控制方法,显著降低了传统大规模系统功耗管理统一采用外部控制的大量开销,功耗管理更加敏捷。综合而言,本方法通过CPU硬件机制和操作系统管理上分别提供一定的支持,实现软硬结合的快速、量化功耗管理,开销小,收益大,代价可控,而且可以做到对用户透明。
【附图说明】
[0034]结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1