当前位置: 首页 > 专利查询>北京大学专利>正文

内存中计算的功率建模方法及功率管理方法技术

技术编号:18657897 阅读:21 留言:0更新日期:2018-08-11 14:23
本发明专利技术公布了内存中计算的功率建模方法及功率管理方法,首先建立BP模型,采用每功率带宽BP表示内存中计算PIM中的带宽和功率之间的关系;功率管理方法包括功率监控子任务限制PAST、处理单元加速PUB和功率冲刺PS;当功率供应超过功率需求时,采用PAST管理PIM内功率消耗;当需要采用动态调整功率模式时采用PUB方法;当需要短时间的功率过载时,采用PS方法提高功率仲裁器的功率上限值;实现内存中计算的功率管理。采用本发明专利技术的BP模型得到的功率和实测相符,其中PAST方法能成功限制PIM的功率,PUB能成功提升芯片的性能;同时采用PAST、PUB和PS方法,能够产生更有效的能源系统,合理配置功率管理方案,进一步提升PIM的性能。

Power modeling method and power management method in memory computing

The invention discloses a power modeling method and a power management method for in-memory computation. First, a BP model is established to represent the relationship between bandwidth and power in the PIM in memory by using a power bandwidth BP. When the power demand exceeds, PAST is used to manage the power consumption in PIM; PUB method is used when the power mode needs to be dynamically adjusted; PS method is used to increase the power upper limit of power arbitrator when short time power overload is needed; and power management calculated in memory is realized. The power obtained by adopting the BP model of the invention is in accordance with the actual measurement, in which the PAST method can successfully limit the power of the PIM and the PUB can successfully improve the performance of the chip; at the same time, the PAST, PUB and PS methods can produce a more effective energy system, rationally configure the power management scheme, and further enhance the performance of the PIM.

【技术实现步骤摘要】
内存中计算的功率建模方法及功率管理方法
本专利技术涉及内存中计算技术,具体涉及一种基于内存中计算的功率建模方法和功率管理方法。
技术介绍
内存中计算(Processing-in-Memory),简称为PIM,是一种将计算转移到内存的思想,目前被广泛应用于对数据敏感性应用进行加速。随着众多以数据为中心的应用,例如实时分析、图计算和神经网络算法等,对高速度、高带宽的数据检索需求日益强烈,PIM设计正逐渐成为学界、业界的研究热点。PIM相关的计算任务(例如单词计数,范围查找等等)通常都较为简单却包含了内存中大量甚至全部的数据。因此,可以将一个PIM任务划分并转移到多个内存处理器单元中(例如HMC存储库和RRAM交叉开关阵列),使其本地并行完成任务。这样可以更加有效地利用到bank级别甚至是cell级别的带宽,从而显著地提高数据处理速度。带宽利用度的提升带来了功率消耗成本的增长。以往的研究曾涉及到关于PIM设计的高功耗问题,例如内存的冷却系统需要重新设计来应对增加的功耗。这导致了额外的散热成本和设计复杂度,并影响了PIM的逻辑行为。另外,PIM中功率和数据处理吞吐量之间的关系还没有被很好地研究过。在没有一个合适的功率模型引导的情况下,PIM结构可能会被设计为不匹配的内存带宽和功率供应关系,以往的PIM设计在巅峰吞吐量时的功耗可能会超过功率供应。
技术实现思路
为了克服上述现有技术的不足,本专利技术提供针对内存中计算PIM的功率模型(BP模型)和功率管理方法及相应的装置;通过本专利技术技术方案可以对内存中计算PIM架构中的功耗和带宽进行建模,得到PIM中功率和带宽之间的关系,可用于PIM功耗系统的早期设计,降低PIM对功耗的需求,提升处理单元的性能,并动态调整提升能量效率。本专利技术基于内存中计算PIM的功率建模涉及到:带宽使用、内存容量和内存类型之间的关系。本专利技术采用术语“每功率带宽”(BandwidthperPower,简称BP)来描述带宽和功率之间接近线性的关系,用B/P来计算,带宽B表示内存所使用的带宽,分母为功率P,表示PIM元件的总功率,包括动态功率(dynamicpower,简称DP)和泄漏功率(leakagepower,简称LP)。动态功率是指用来在取回的数据上进行计算以及存取数据所使用的功率,包含激活cell、驱动字线以及放大感应等等。泄漏功率是用来保存数据所消耗的功率,包含了刷新功率、保证解码器和计算逻辑活跃的功率、以及寄生电路所泄露的功率。通过在一个时间周期内有多少读或写的位来测量带宽。因为核心可能位于内存片内,核心使用的带宽可能高于芯片的IO(Input/Output,输入/输出)带宽,且小于整合的cell级别的带宽。理论上的最大带宽是当所有的cells都并行不停地访问时的cell级别带宽。本专利技术提供的技术方案是:一种内存中计算的功率建模方法,采用每功率带宽(BP)表示带宽和功率之间的关系;建立BP模型;具体建模公式如式1:式1中,BP为每功率带宽;B表示内存所使用的带宽;DP为动态功率;LP为泄漏功率;P=DP+LP,表示PIM元件的总功率;是将PIM所使用的动态能量正规化到一个比特;如果所有的数据存取为读(或写),参数值写比率(rw)是0(或者1),这个值在0和1之间变动。部分表示用于到达目标单元的搜索路径的耗能,因此和容量相关。es表示完成几个内存之间的电阻切换或状态转换,因此和容量无关。用于计算的能量用ec来表示。泄漏功率使用CPl+PC来表示。内存的泄漏功率和容量相关,以CPl表示,PC代表内核以及内存控制的泄漏功率。基于上述PIM的功率模型(BP模型),本专利技术提供基于内存中计算的功率管理方法及硬件装置,包括:功率监控子任务限制(PAST)、处理单元加速(PUB)和功率冲刺(PS);首先利用BP模型进行计算得到针对不同内存的带宽和功率之间的关系,当功率供应超过功率需求时,采用PAST技术来对PIM内功率消耗进行管理;当需要采用动态调整功率模式时,采用PUB技术,可提升关键路径子任务的性能;当需要短时间的功率过载时,采用PS技术来提高功率仲裁器的功率上限值。A)功率监控子任务限制(Power-AwareSubtaskThrottling,简称PAST)方法,用于解决PIM任务的功率需求可能超过功率供应限制的问题。PAST设计中,单个内存芯片内部包含一个网络接口、一个重排子任务队列、一个内存块(即处理单元)和一个L1功率仲裁器;PAST方法可采用两级功率仲裁系统或更多级功率仲裁系统。两级功率仲裁系统包含多个内存芯片和一个L2功率仲裁器。其中,功率仲裁器L1或L2均包含一个算术逻辑单元,一个数据选择器和一个计数器。采用PAST方法管理功率,具体包括如下步骤:A1)芯片内部PAST部件(请求到达PAST的网络接口)从网络连接中获得请求,将任务划分成多个子任务,存储在子任务队列中,再对需求发送方进行应答;一个子任务由仅有一个存储器端的处理单元(PU)完成;如果整个内存有多个(n个)PU,则会同时最多有n个子任务在执行;A2)在任何内存块(为PIM设计中的处理单元)的执行阶段之前,子任务队列使用一个ACQUIRE信号和需要的功率值(P)从功率仲裁器获得功率许可;A3)子任务队列将一个子任务发射到一个内存块,该内存块也新建一个子任务到队列的末尾;如果有足够的功率来运行一个新的子任务,则功率仲裁器L1发送一个START信号到内存块使其开始执行;否则,这个内存块被暂停;然后功率仲裁器将子任务对功率的需求放入子任务重排队列;直到具有足够的功率预算,处理单元(内存块)才会被激活。在整个任务都被内存块完成后,会向功率仲裁器发送一个RELEASE信号来释放为那个内存块分配的功率。B)处理单元加速(ProcessingUnitBoost,简称PUB),通过动态调整处理单元的功率模式,提升关键路径中子任务的性能;本专利技术将处理单元的功率模式按功率需求划分成多级功率模式。例如,可将处理单元的功率模式划分为两级:活跃模式和加速模式。其中,活跃模式的功率需求较低,加速模式的功率需求较高,之后将以这种两级功率模式划分为例进行说明。基于这种多级功率模式划分方法,可利用PIM设计的特点,将PUB当作一种动态电压频率调整(DVFS)设计。PUB的目标是给PIM内的多个PU分配功率模式,设计的关键是调度算法。本专利技术提出两种调度算法,分别为简单调度算法和优化调度算法。B1)通过简单的调度算法给PIM内的多个PU分配功率模式;简单的算法设计为功率仲裁器每次仅发布一个子任务:如果子任务队列中没有需要在该处理单元上执行的子任务(标注着这个处理单元的标号),这意味着它不会被使用,单元会处于活跃模式。一旦添加一个队列条目后,相关PU的功率模式会升级(处理单元PU从活跃模式升级为加速模式)。然后功率仲裁器评估当前剩余功率与所需功率。从最高功率模式到最低模式进行扫描,如果空闲功率值(功率上限减去已使用功率)高于扫描到的模式的功率需求值(处理单元PU的功率需求值),PU会以这个功率模式开始执行。如果PU无法开始执行,功率仲裁器则将当前正在运行的PU从高功率模式降低到低功率模式(如划分为两级功率模式,从高功率模式降低到低功率模式即从加速模式到活跃模式本文档来自技高网...

【技术保护点】
1.一种基于内存中计算的功率管理方法,首先建立BP模型,采用每功率带宽BP表示内存中计算PIM中的带宽和功率之间的关系;所述功率管理方法包括功率监控子任务限制PAST、处理单元加速PUB和功率冲刺PS;当功率供应超过功率需求时,采用PAST对PIM内功率消耗进行管理;当需要采用动态调整功率模式时,采用PUB方法;当需要短时间的功率过载时,采用PS方法提高功率仲裁器的功率上限值;由此实现基于内存中计算的功率管理;A)采用功率监控子任务限制PAST管理功率,针对PIM任务的功率需求可能超过功率供应限制进行功率管理;PAST方法采用的装置为两级功率仲裁系统,两级功率仲裁系统包含多个内存芯片和一个功率仲裁器L2;单个内存芯片内部包括网络接口、重排子任务队列、内存块即处理单元、功率仲裁器L1;功率仲裁器包括算术逻辑单元、数据选择器和计数器;在每个内存芯片内,由功率仲裁器L1控制内部的内存块;采用PAST方法管理功率包括如下步骤:A1)内存芯片内部部件从网络连接中获得请求,将任务划分成多个子任务,存储在子任务队列中,再对需求发送方进行应答;每一个子任务由一个存储器端的处理单元PU完成;A2)在任何内存块的执行阶段之前,子任务队列通过使用ACQUIRE信号和需要的功率值P从功率仲裁器获得功率许可;A3)子任务队列将一个子任务发射到一个内存块,该内存块新建一个子任务到队列的末尾;当有足够的功率运行一个新的子任务时,功率仲裁器发送一个START信号到该内存块使其开始执行;否则,该内存块被暂停,功率仲裁器将子任务对功率的需求放入子任务重排队列;直到具有足够的功率预算,内存块被激活;当整个任务都被内存块完成后,向功率仲裁器发送RELEASE信号,释放为那个内存块分配的功率;B)采用处理单元加速方法PUB管理功率,将处理单元的功率模式按功率需求划分成多级功率模式;通过采用简单调度方法或优化调度方法为PIM内的多个处理单元分配功率模式,动态调整处理单元的功率模式以提升关键路径中子任务的性能;B1)简单调度方法执行如下操作:每次仅发布一个子任务;当子任务队列中没有需要在该处理单元上执行的子任务时,该处理单元处于低功率模式;一旦添加一个队列条目后,处理单元的功率模式由低功率模式升级为高功率模式;功率仲裁器评估当前剩余功率与所需功率;从划分好的最高功率模式到最低功率模式进行扫描,如果有足够的空闲功率,处理单元以该功率模式开始执行;如果PU无法开始执行,功率仲裁器将当前正在运行的处理单元从高功率模式降低到低功率模式;如果PU仍然无法开始,暂停队列,等待足够的空闲功率;由此实现为PIM内的多个处理单元分配功率模式;足够的空闲功率指的是空闲功率值高于模式的功率;B2)优化调度方法,基于子任务的有向无环图,以三状态有限状态机方式FSM运作;三状态为:READY、UPDATE和CHECK;具体执行如下操作:首先将FSM初始化,置于READY状态;当有子任务结束时,引发UPDATE状态,并更新图和当前可用功率的计数器,然后返回到READY状态;当有更新时,状态转移到CHECK,再确定将要发布的子任务的功率模式;当一个子任务在CHECK状态结束时,状态变回READY后转移到UPDATE;由此实现为PIM内的多个处理单元分配功率模式;3)采用功率冲刺方法PS管理功率,使得在短时间内提供过载的功率,再返回到欠载功率状态进行恢复;具体执行如下操作:将处理单元的执行阶段划分为:正常执行阶段、冲刺阶段和恢复阶段;在冲刺阶段,通过PAST和PUB方法提供更多电流,提高功率仲裁器的功率上限值,从而提升处理单元处理任务时的功率;当冲刺阶段结束处于恢复阶段时,功率仲裁器向队列和正在运行的多个处理单元发送一个额外的PAUSE命令,减少功率消耗,使功率达到以往的功率上限值,通过降低功率恢复正常状态。...

【技术特征摘要】
1.一种基于内存中计算的功率管理方法,首先建立BP模型,采用每功率带宽BP表示内存中计算PIM中的带宽和功率之间的关系;所述功率管理方法包括功率监控子任务限制PAST、处理单元加速PUB和功率冲刺PS;当功率供应超过功率需求时,采用PAST对PIM内功率消耗进行管理;当需要采用动态调整功率模式时,采用PUB方法;当需要短时间的功率过载时,采用PS方法提高功率仲裁器的功率上限值;由此实现基于内存中计算的功率管理;A)采用功率监控子任务限制PAST管理功率,针对PIM任务的功率需求可能超过功率供应限制进行功率管理;PAST方法采用的装置为两级功率仲裁系统,两级功率仲裁系统包含多个内存芯片和一个功率仲裁器L2;单个内存芯片内部包括网络接口、重排子任务队列、内存块即处理单元、功率仲裁器L1;功率仲裁器包括算术逻辑单元、数据选择器和计数器;在每个内存芯片内,由功率仲裁器L1控制内部的内存块;采用PAST方法管理功率包括如下步骤:A1)内存芯片内部部件从网络连接中获得请求,将任务划分成多个子任务,存储在子任务队列中,再对需求发送方进行应答;每一个子任务由一个存储器端的处理单元PU完成;A2)在任何内存块的执行阶段之前,子任务队列通过使用ACQUIRE信号和需要的功率值P从功率仲裁器获得功率许可;A3)子任务队列将一个子任务发射到一个内存块,该内存块新建一个子任务到队列的末尾;当有足够的功率运行一个新的子任务时,功率仲裁器发送一个START信号到该内存块使其开始执行;否则,该内存块被暂停,功率仲裁器将子任务对功率的需求放入子任务重排队列;直到具有足够的功率预算,内存块被激活;当整个任务都被内存块完成后,向功率仲裁器发送RELEASE信号,释放为那个内存块分配的功率;B)采用处理单元加速方法PUB管理功率,将处理单元的功率模式按功率需求划分成多级功率模式;通过采用简单调度方法或优化调度方法为PIM内的多个处理单元分配功率模式,动态调整处理单元的功率模式以提升关键路径中子任务的性能;B1)简单调度方法执行如下操作:每次仅发布一个子任务;当子任务队列中没有需要在该处理单元上执行的子任务时,该处理单元处于低功率模式;一旦添加一个队列条目后,处理单元的功率模式由低功率模式升级为高功率模式;功率仲裁器评估当前剩余功率与所需功率;从划分好的最高功率模式到最低功率模式进行扫描,如果有足够的空闲功率,处理单元以该功率模式开始执行;如果PU无法开始执行,功率仲裁器将当前正在运行的处理单元从高功率模式降低到低功率模式;如果PU仍然无法开始,暂停队列,等待足够的空闲功率;由此实现为PIM内的多个处理单元分配功率模式;足够的空闲功率指的是空闲功率值高于模式的功率;B2)优化调度方法,基于子任务的有向无环图,以三状态有限状态机方式FSM运作;三状态为:READY、UPDATE和CHECK;具体执行如下操作:首先将FSM初始化,置于READY状态;当有子任务结束时,引发UPDATE状态,并更新图和当前可用功率的计数器,然后返回到READY状态;当有更新时,状...

【专利技术属性】
技术研发人员:孙广宇张超孟彤
申请(专利权)人:北京大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1