能量感知网络的处理器及其处理方法

文档序号:6463878阅读:176来源:国知局
专利名称:能量感知网络的处理器及其处理方法
技术领域
本发明涉及的是一种网络技术领域的装置和方法,具体是一种基于任务流水线的 能量感知网络的处理器及其处理方法。
背景技术
低功耗一直是处理器设计、制造最重要的问题之一。功耗限制了性能的进一步提 高,网络处理器在应用场景中被大量集成在机架上,高功耗进一步引起系统稳定的问题,而 相配备的系统散热组件将消耗更多的电力。除此之外,随着近年来对低碳经济的兴起,消耗 更多的电力,意味着上游电力供应方更多的碳排放。过去在处理器的设计中,更多以性能提 高为第一目标,即性能感知。现在以能量为参考,以能量感知的角度对网络处理器进行设 计。从能耗的角度安排处理器的计算资源,并保证处理器的性能,最终提高单位能量处理器 的计算能力。基于此,提出能量感知网络处理器。IXP2400网络处理器是Intel公司继IXP1200之后推出的一款网络处理器,XScale 核心处理器是一个通用32位RISC (精简指令集计算机系统)处理器,与ARM结构相兼容。 XScale核心处理器初始化和管理IXP2400处理器,并且能够完成高层网络处理任务;32K字 节指令高速缓存和32K数据高速缓存;具有高性能,低功耗的优点。IXP2400的微引擎分为两个组,每个组有4个。每个组有一条独立的命令总线和一 条独立的SRAM访问总线,两个组共享一条DRAM访问总线。每个微引擎可有8个硬件实现 的线程,每个线程拥有自己独立的寄存器组、程序计数器,使得线程间切换速度快,通过硬 件多线程掩盖存储器访问的延迟,实现系统的高性能。IXP2400的存储器分成多级存储层次,每个微引擎都有自己专用的本地存储器,容 量最小,访问速度最快;微引擎和XScale核心处理器可以共享scratchpad、SRAM、DRAM等 存储器,其中scratchpad容量最小,访问速度最快。DRAM容量最大,访问延迟也最大,它适 合于大量的块数据访问。SRAM的容量和延迟介于scratchpad和DRAM之间。经对现有技术的检索发现,Yan Luo, Jia Yu, Jun Yang, Laxmi Bhuyan等人在DAC 2005 的 “Low Power Network Processor Design Using Clock Gating ( 利用时钟选择的低功耗网络处理器设计)”。该文章提出一种基于clock gating(时钟选择)方法, 用来关闭网络处理器的空闲核。具体做法是,考虑网络处理器接收包缓冲区中包的数量,以 及线程等待队列中线程的个数,当等待线程的个数达到一个核中线程个数(比如8)时,将 空闲线程交换到同一核,然后将该核关闭。其不足之处在于考虑情况简单,不够灵活,其 假定每个核上处理相同的任务,不同核之间没有相关性,该方法不能处理核间异构的情形 (即不同核处理不同的任务);没有充分考虑到网络处理器中的任务流水线特征,同一个任 务流水线的几个核之间,有着数据依赖关系,其中一个核的关闭,会对流水线中其他核造成 影响;其对空闲核的做法是,将其关闭,导致处理不灵活。

发明内容
本发明的目的在于克服现有技术的上述不足,提供一种基于任务流水线的能量感 知网络的处理器及其处理方法。本发明在网络处理器对网络包的处理过程中,周期性的统 计各核的任务运行状况,通过动态改变各核的电压,来达到低功耗和高性能的目的。本发明是通过以下技术方案实现的本发明涉及的能量感知网络的处理器,包括协处理器模块、若干微引擎模块、线 程监视模块、性能监视模块、电压调整模块和电压决策模块,其中微引擎模块与线程监视 模块相连传输线程状态信息,线程监视模块与电压决策模块相连传输统计的线程状态信 息,电压决策模块与协处理器模块相连传输电压决策信息,协处理器模块与电压调整模块 相连传输电压调节指令,电压调整模块与微引擎模块相连传输调节电压的物理信号,微引 擎模块与性能监视模块相连传输系统性能信息,性能监视模块与协处理器模块相连传输调 整电压到最大电压的信号。所述的线程监视模块包括运行线程监视子模块、就绪线程监视子模块和等待线 程监视子模块,其中微引擎模块与运行线程监视子模块相连传输运行线程的信息,运行线 程监视子模块与电压决策模块相连传输统计的运行线程的个数,微引擎模块与就绪线程监 视子模块相连传输就绪线程的信息,就绪线程监视子模块与电压决策模块相连传输统计的 就绪线程的个数,微引擎模块与等待线程监视子模块相连传输等待线程的信息,等待线程 监视子模块与电压决策模块相连传输统计的等待线程的个数。所述的电压决策模块包括线程度计算子模块、电压升降判断子模块和电压值输 出子模块,其中线程监视模块与线程度计算子模块相连传输统计的线程状态信息,线程度 计算子模块与电压升降判断子模块相连传输计算得到的线程度信息,电压升降判断子模块 与电压值输出子模块相连传输电压的升降值,电压值输出子模块与协处理器模块相连相连 传输调制后的电压值。所述的性能监视模块包括接收包缓冲区监视子模块和电压控制子模块,其中 微引擎模块与接收包缓冲区监视子模块相连传输接收包缓冲区的状态信息,接收包缓冲区 监视子模块与电压控制子模块相连传输接收包缓冲区存储已满的信息,电压控制子模块与 协处理器模块相连传输调整电压到最大电压的信号。本发明涉及的上述能量感知网络处理器的处理方法,包括以下步骤第一步,线程监视模块监视网络处理中每个核的线程状态,并将得到的运行线程 的数目、就绪线程的数目、等待线程的数目传递给电压决策模块。第二步,电压决策模块根据WDi = WiZti,得到每个核的等待线程度,并分别对同一 流水线上的每个核的等待线程度进行修正处理,其中=WDi是核Ci的等待线程度,Wi是核Ci 中等待线程的个数,Ti是核Ci中总活动线程的个数。所述的修正处理,是
片-ι 其中WD' i是修正后的第i个核的等待线程度,WDi是修正前的第i个核的等待 线程度,WDj是修正前的第j个核的等待线程度,第i个核和第j个核属于同一流水线, 是 第j个核的等待线程度阈值。
第三步,电压决策模块根据AU = (WD' ,-Di) Xk,得到电压的升降值Δυ,其中 Di是第i个核的等待线程度阀值,k是一个电压常量值,WD' i是修正后的第i个核的等待 线程度。第四步,电压决策模块将当前的电压和电压的升降值AU进行相加,得到每个核 调整后的电压值,并将调整后的电压值传递给协处理器模块。第五步,协处理器模块将接收到的调整后的电压值生成对应的电压调节指令,并 将该指令传递给电压调整模块。第六步,电压调整模块将接收到的电压调节指令转换为电压调节物理信号,并将 该物理信号传递给微引擎模块,从而微引擎模块的电压得到调节。第七步,性能监视模块实时监视接收包缓冲区,当接收包缓冲区的存储已满时,则 性能监视模块向协处理器模块发送调整电压到最大电压的信号。第八步,t时间后,返回第一步,进行下一次电压调节。与现有技术相比,本发明的有益效果是1、设计了能量感知网络处理器,在传统的网络处理器中增加线程监视模块、性能 监视模块、电压决策模块和电压调整模块,各个模块共同协调作用,使网络处理器达到低功 耗和高性能的目的。2、针对网络处理器上不同的网络处理器流水线特点,提出不同的调节后电压计算 策略,具有应用灵活的特点。本发明的调节后电压计算策略可以适用于各种流水线处理的 核上。3、在计算调节后电压时,本发明充分考虑一个处理流水线上的相邻核之间的数据 依赖关系,充分考虑到流水线上一级核的电压调节对下一级电压调节策略的影响,使处理 流水线上各核经过电压调节后,能够保证高吞吐量和低功耗的结合。4、本发明将网络处理器上处理流水线抽象为数学模型,推导出通用于所有处理流 水线上各核的调节后电压计算方法,具有严谨性和通用性的特点。
具体实施例方式以下对本发明的实施例进一步描述本实施例在以本发明技术方案为前提下进行 实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施 例。实施例本实施例涉及的能量感知网络的处理器,包括协处理器模块、若干微引擎模块、 线程监视模块、性能监视模块、电压调整模块和电压决策模块,其中微引擎模块与线程监 视模块相连传输线程状态信息,线程监视模块与电压决策模块相连传输统计的线程状态信 息,电压决策模块与协处理器模块相连传输电压决策信息,协处理器模块与电压调整模块 相连传输电压调节指令,电压调整模块与微引擎模块相连传输调节电压的物理信号,微引 擎模块与性能监视模块相连传输系统性能信息,性能监视模块与协处理器模块相连传输调 整电压到最大电压的信号。所述的线程监视模块包括运行线程监视子模块、就绪线程监视子模块和等待线 程监视子模块,其中微引擎模块与运行线程监视子模块相连传输运行线程的信息,运行线
6程监视子模块与电压决策模块相连传输统计的运行线程的个数,微引擎模块与就绪线程监 视子模块相连传输就绪线程的信息,就绪线程监视子模块与电压决策模块相连传输统计的 就绪线程的个数,微引擎模块与等待线程监视子模块相连传输等待线程的信息,等待线程 监视子模块与电压决策模块相连传输统计的等待线程的个数。所述的电压决策模块包括线程度计算子模块、电压升降判断子模块和电压值输 出子模块,其中线程监视模块与线程度计算子模块相连传输统计的线程状态信息,线程度 计算子模块与电压升降判断子模块相连传输计算得到的线程度信息,电压升降判断子模块 与电压值输出子模块相连传输电压的升降值,电压值输出子模块与协处理器模块相连相连 传输调制后的电压值。所述的电压调整模块接收协处理器的电压调节指令,与微引擎模块相连传输调节 电压的物理信号。所述的性能监视模块包括接收包缓冲区监视子模块和电压控制子模块,其中 微引擎模块与接收包缓冲区监视子模块相连传输接收包缓冲区的状态信息,接收包缓冲区 监视子模块与电压控制子模块相连传输接收包缓冲区存储已满的信息,电压控制子模块与 协处理器模块相连传输调整电压到最大电压的信号。本实施例中微引擎模块采用的是Intel IXP2400中的微引擎。本实施例涉及的上述能量感知网络处理器的处理方法,包括以下步骤第一步,线程监视模块监视网络处理中每个核的线程状态,并将得到的运行线程 的数目、就绪线程的数目、等待线程的数目传递给电压决策模块。第二步,电压决策模块根据WDi = WiAi,得到每个核的等待线程度,并分别对同一 流水线上的每个核的等待线程度进行修正处理,其中=WDi是核Ci的等待线程度,Wi是核Ci 中等待线程的个数,Ti是核Ci中总活动线程的总数。所述的修正处理,是
片-ιWDi = WDi + Yj (WDj-Dj),
J=I其中WD' i是修正后的第i个核的等待线程度,WDi是修正前的第i个核的等待 线程度,WDj是修正前的第j个核的等待线程度,第i个核和第j个核属于同一流水线, 是 第j个核的等待线程度阈值。本实施例中,微引擎模块核的总数为8,C= {C1,C2,...,C8} ;8个微引擎分为2个 处理流水线Vl和V2,每个处理流水线有4个核,Vl = (Cl,C2,C3,C4),V2 = (C5,C6,C7, C8);每个核上活动线程总数Ti都为8 ;对于每个核,等待线程度阈值Di都为4/8。对于处理流水线VI,计算每个核Ci的等待线程度WDi,然后进行修正WD1'=WD1
WD2,= WD2-KWD1'-D1)= WD2-KWD1-D1)
WD3,= WD3-KWD2'-D2)= WD3-KWD2-D2) HKWD1-D1)
WD4'=WD4-KWD3'-D3)=WD4-KWD3-D3)—h (WD2-D2) + (WD对于处理流水线V2,计算每个核Ci的等待线程度WDi,然后进行修正WD5' = WD5WD6,= WD6+(WD5,-D5) = WD6+ (WD5-D5)
7
WD/ = WD7+(WD6,-D6) = WD7+ (WD6-D6) + (WD5-D5)WD8,= WD8+ (WD7,-D7) = WD8+ (WD7-D7) + (WD6-D6) + (WD5-D5)第三步,电压决策模块根据AU = (WD' ,-Di) Xk,得到电压的升降值AU,其中 Di是第i个核的等待线程度阀值,k是一个电压常量值,WD' i是修正后的第i个核的等待 线程度。本实施例中k = IV,k用来将等待线程度超出阀值的部分转化为电压变化值。第四步,电压决策模块将当前的电压和电压的升降值AU进行相加,得到每个核 调整后的电压值,并将调整后的电压值传递给协处理器模块。第五步,协处理器模块将接收到的调整后的电压值生成对应的电压调节指令,并 将该指令传递给电压调整模块。第六步,电压调整模块将接收到的电压调节指令转换为电压调节物理信号,并将 该物理信号传递给微引擎模块,从而微引擎模块的电压得到调节。第七步,性能监视模块实时监视接收包缓冲区,当接收包缓冲区的存储已满时,则 性能监视模块向协处理器模块发送调整电压到最大电压的信号。第八步,t时间后,返回第一步,进行下一次电压调节。本实施例中引入等待线程度和等待线程度阈值,当某个核上处于等待状态的线程 数量多,等待线程度大于该核对应的阀值,说明该核处于空闲的可能性较大,此时考虑将该 核的电压调低,降低它的处理速度,仍可以满足该核上线程对处理器速度的要求,并可以降 低该核上的功耗;当某个核上处于等待状态的线程数量少,等待线程度小于该核对应的阀 值,说明该核处于就绪状态的线程较多,处理器速度满足不了线程的需求,此时考虑将该核 的电压升高,提高它的处理速度,以满足该核上线程对处理器速度的需求;当等待线程度等 于等待线程度阈值时,表示当前电压不需要改变。
权利要求
一种能量感知网络的处理器,其特征在于,包括若干微引擎模块、协处理器模块、线程监视模块、性能监视模块、电压调整模块和电压决策模块,其中微引擎模块与线程监视模块相连传输线程状态信息,线程监视模块与电压决策模块相连传输统计的线程状态信息,电压决策模块与协处理器模块相连传输电压决策信息,协处理器模块与电压调整模块相连传输电压调节指令,电压调整模块与微引擎模块相连传输调节电压的物理信号,微引擎模块与性能监视模块相连传输系统性能信息,性能监视模块与协处理器模块相连传输调整电压到最大电压的信号。
2.根据权利要求1所述的能量感知网络的处理器,其特征是,所述的线程监视模块包 括运行线程监视子模块、就绪线程监视子模块和等待线程监视子模块,其中微引擎模块 与运行线程监视子模块相连传输运行线程的信息,运行线程监视子模块与电压决策模块相 连传输统计的运行线程的个数,微引擎模块与就绪线程监视子模块相连传输就绪线程的信 息,就绪线程监视子模块与电压决策模块相连传输统计的就绪线程的个数,微引擎模块与 等待线程监视子模块相连传输等待线程的信息,等待线程监视子模块与电压决策模块相连 传输统计的等待线程的个数。
3.根据权利要求1所述的能量感知网络的处理器,其特征是,所述的电压决策模块包 括线程度计算子模块、电压升降判断子模块和电压值输出子模块,其中线程监视模块与 线程度计算子模块相连传输统计的线程状态信息,线程度计算子模块与电压升降判断子模 块相连传输计算得到的线程度信息,电压升降判断子模块与电压值输出子模块相连传输电 压的升降值,电压值输出子模块与协处理器模块相连相连传输调制后的电压值。
4.根据权利要求1所述的能量感知网络的处理器,其特征是,所述的性能监视模块包 括接收包缓冲区监视子模块和电压控制子模块,微引擎模块与接收包缓冲区监视子模块 相连传输接收包缓冲区的状态信息,接收包缓冲区监视子模块与电压控制子模块相连传输 接收包缓冲区存储已满的信息,电压控制子模块与协处理器模块相连传输调整电压到最大 电压的信号。
5.根据权利要求1所述的能量感知网络处理器的处理方法,其特征在于,包括以下步骤第一步,线程监视模块监视网络处理中每个核的线程状态,并将得到的运行线程的数 目、就绪线程的数目、等待线程的数目传递给电压决策模块;第二步,电压决策模块根据WDi =WiZti,得到每个核的等待线程度,并分别对同一流水 线上的每个核的等待线程度进行修正处理,其中=WDi是核Ci的等待线程度,Wi是核Ci中等 待线程的个数,Ti是核Ci中总活动线程的总数;第三步,电压决策模块根据AU = (WD' ,-Di) Xk,得到电压的升降值Δυ,其中=Di是 第i个核的等待线程度阀值,k是一个电压常量值,WD' i是修正后的第i个核的等待线程 度;第四步,电压决策模块将当前的电压和电压的升降值Δυ进行相加,得到每个核调整 后的电压值,并将调整后的电压值传递给协处理器模块;第五步,协处理器模块将接收到的调整后的电压值生成对应的电压调节指令,并将该 指令传递给电压调整模块;第六步,电压调整模块将接收到的电压调节指令转换为电压调节物理信号,并将该物理信号传递给微引擎模块,从而微引擎模块的电压得到调节;第七步,性能监视模块实时监视接收包缓冲区,当接收包缓冲区的存储已满时,则性能 监视模块向协处理器模块发送调整电压到最大电压的信号; 第八步,t时间后,返回第一步,进行下一次电压调节。
6.根据权利要求5所述的能量感知网络的处理方法,其特征是,第二步中所述的修正 处理,是片-ιWDi = WDi + Yj (WDj-Dj),j=i其中WD' i是修正后的第i个核的等待线程度,WDi是修正前的第i个核的等待线程 度,WDj是修正前的第j个核的等待线程度,第i个核和第j个核属于同一流水线,Dj是第j 个核的等待线程度阈值。
全文摘要
一种网络应用技术领域的能量感知网络的处理器及其处理方法,处理器包括协处理器模块、若干微引擎模块、线程监视模块、性能监视模块、电压调整模块和电压决策模块,其中微引擎模块与线程监视模块相连传输线程状态信息,线程监视模块与电压决策模块相连传输线程状态信息,电压决策模块与协处理器模块相连传输电压决策信息,协处理器模块与电压调整模块相连传输电压调节指令,电压调整模块与微引擎模块相连传输调节电压的物理信号,微引擎模块与性能监视模块相连传输系统性能信息,性能监视模块与协处理器模块相连传输调整电压到最大电压的信号。本发明周期性的统计各核的任务运行状况,通过动态改变各核的电压,来达到低功耗和高性能的目的。
文档编号G06F9/50GK101916210SQ20101026408
公开日2010年12月15日 申请日期2010年8月27日 优先权日2010年8月27日
发明者周憬宇, 唐飞龙, 曹朋, 沈耀, 过敏意, 郑龙, 陈鹏宇 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1