通过跟踪探针活动水平来控制性能状态的制作方法

文档序号:6350954阅读:178来源:国知局
专利名称:通过跟踪探针活动水平来控制性能状态的制作方法
技术领域
本发明涉及计算机系统的性能,更特别地涉及与高速缓冲存储器探针相关的性倉泛。
背景技术
计算机系统中的处理节点可被置于多种性能状态(或操作状态)Pn中的任一种下,其中特定的性能状态(或P状态)的特征在于相关的电压和频率。确定节点的适当性能状态的一种因素是节点的使用率。使用率是处于活跃(执行)状态下的处理节点所花费的时间与对执行时间进行跟踪或测量的总时间间隔的比率。例如,如果总时间间隔为10毫秒(ms)且处理器节点在活跃(CO)状态下花费6ms,则处理器节点的使用率为6/10 = 60%。处理器节点在代码执行被中止的空闲(非CO)状态下花费剩余的4ms。较高的节点使用率触发了具有较高电压和/或频率的较高性能状态P的选择,以更好地解决性能/瓦特要求。通常,在性能状态之间变换处理节点的决策是通过操作系统(OS)、或高级软件、驱动器、或某种硬件控制器做出的。例如,如果处理节点在低性能状态下运行使得代码执行时间较长,则系统觉察到对于较高使用率的需要并且触发软件或硬件将处理节点变换到处理节点能够更快地完成代码执行的较高性能状态并且在空闲状态下花费更多的时间。这样允许通过每瓦特更佳的总性能来提高功率节约。尽管在一些情况下将使用率用作触发能够提供每瓦特提高的性能,但是不能解决与每瓦特更佳性能相关或者防止其降级相关的一些问题。

发明内容
因此,在一个实施例中,提供了一种包括跟踪处理节点中的探针活动水平的方法。探针活动水平与阈值探针活动水平进行比较。在实施例中,如果探针活动水平在阈值探针活动水平以上,则处理节点的性能状态提高到其当前性能水平以上。在实施例中,如果探针活动水平在第一阈值探针活动水平阈值以上且处理节点的预测空闲持续时间大于空闲阈值,则处理节点中的高速缓冲存储器被冲洗(flush)。在实施例中,在响应于探针活动水平在阈值探针活动水平以上而进入第一性能状态之后,处理节点响应于探针活动的充分减弱而返回到该处理节点开始的较低性能状态。在实施例中,充分减弱达到第一阈值减去磁滞因数的水平。在实施例中,可能存在多个阈值探针活动水平和相关的性能状态。在另一实施例中,装置包括探针跟踪器,所述探针跟踪器跟踪处理节点中的探针活动水平。所述装置响应探针活动水平提高到第一阈值探针活动水平以上以将处理节点的性能状态从当前性能状态提高到第一性能状态。在实施例中,装置响应探针活动水平下降到第一阈值探针活动水平以下的预定水平以使处理节点进入低于第一性能状态的第二性能状态。
在实施例中,探针跟踪器包括队列,探针请求进入队列中,并且在处理节点通过数据移动和应答中的至少一项响应探针请求之后,队列中的探针请求从队列中退出。在另一实施例中,探针跟踪器包括计数器,所述计数器具有表示探针活动水平的计数值。计数器响应于探针活动而将计数值增加预定量并且响应于预定时间段的经过而将计数值减少另一
预定量。


通过参照附图可以更好地理解本发明,并且使得本发明的多个目的、特征和优点对于本领域技术人员而言是显而易见的。图I示出了根据本发明的实施例的多核处理器。图2示出了具有单个阈值的本发明实施例的流程图。
图3A示出了具有多个阈值的本发明实施例的状态图。图3B示出了具有多个阈值的本发明实施例的状态图。图4示出了节点的高速缓冲存储器被冲洗而节约功率的本发明的实施例。图5示出了使用具有单个阈值的空中队列(IFQ)来跟踪探针活动的实施例。图6示出了使用具有多个阈值的IFQ来跟踪探针活动的实施例。图7示出了使用具有不同增量减量标准的计数器来跟踪探针活动的另一实施例。应注意的是,在不同的附图中使用相同的附图标记来表示相似或相同的项。
具体实施例方式参照图1,高级框图示出了多核处理器的实施例,其中每个核或节点包括高速缓冲存储器102和探针控件103,对此本文将进行进一步说明。在图I的高速缓存系统中,系统中的每个处理节点需要通过响应来自其它节点或输入/输出(I/O)域的探测请求(提供来自高速缓冲存储器的污垢数据、高速缓冲存储线无效,等等)来保持存储器中的连贯性,即使处理节点处于低性能状态或空闲状态。因此,虽然可以在各个高速缓冲存储器中保持存储器位置的局部拷贝,但是在存储器系统中保持连贯性。然而,尽管可以通过评估使用率来有效地控制探针操作的请求节点的性能状态,但是该方法不能以直接的方式提高响应节点的性能状态P。能够应用于请求节点的基于使用率的性能控制导致在响应节点为瓶颈的情况下总体系统性能易受影响。由于节点可处于空闲状态而仍能响应探针请求,所以响应节点中的连贯性活动不会有助于节点本身的使用率(基于节点的执行流)的提高。另外,节点的执行流能够与探针响应完全无关,因此响应节点中的连贯性活动不会导致触发性能状态提高的较高执行使用率。如果响应节点处于低性能状态且由多个请求节点进行探测,则其探针响应能力(探测带宽)会变为性能瓶颈且开始针对在请求的处理节点上运行的应用线程引起性能损失。因此,可用于识别响应处理节点的探测带宽不足的通信方案(scenario)并且通过快速和可控地将响应节点变换至处于较高性能状态来解决带宽的不足。一旦探测活动的脉冲串(burst)结束且不再需要额外的带宽,则响应节点会变回到由其执行使用率所指定的先前的性能状态。一种解决可能的探测响应瓶颈的方法是在操作系统(OS)或处理系统装置的高级软件能够迅速调整处理器P状态的那些系统中的基于软件的解决方案。一种基于软件的解决方案要求OS或较高级软件更加频繁地对处理器P状态进行重新评估(从而迅速地响应活动的脉冲串),因此由于使用任何应用程序进行的这种重新评估而更加频繁地唤醒处理器。这种方法由于使用这种不必要的频繁的重新评估的应用程序而可能导致较高的功耗。使得OS或较高级行为更加复杂且依应用程序而变导致空闲处理程序或子程序(通常发生P状态重新评估)中的额外开销,因此同样导致功耗较高。一般而言,基于软件的解决方案的间隔尺寸未提供与基于硬件方法的匹配且不能够迅速地识别出探测活动的开始以及探测活动的结束。后者(探测活动的结束)与识别功率节省同等重要,因为处理器不应过长时间地停留在较高性能状态,因为这样也导致额外的功耗,会使性能/瓦特降级。另一解决方案是基于硬件的解决方案,其为所有的请求和响应节点提供了共享的电压/时钟面。当请求节点(核)提高其频率时,这种硬件配置提高了响应节点(核)的频率。响应节点的慢速响应将有助于提高请求节点(核)的使用率。因此,控制请求节点的性能状态的软件将提高请求节点的性能状态,并且响应节点性能状态也将提高(由于共享的频率和电压面),因此最终增加了响应核的探测带宽。然而,在应用程序仅在单节点或几个节点(核)上运行(这是移动或超移动市场细分中最典型类型的工作负荷)的情形下,该方法在多核处理器中消耗了额外的功率。此外,软件通常由于请求节点(核)的使用率提高而不能够立即响应对于较高时钟频率的需求,时间间隔的范围通常是从几百微秒至几毫秒,这会导致在该间隔内的性能损失。因此,在本发明的实施例中,每个处理节点跟踪其探测活动。如果探测活动的水平超过阈值,则处理节点的性能状态被提升至最小性能基底-MinPstateLimit,以解决对于探测活动带宽提高的要求。在探测活动进行到阈值减去修改磁滞以下之后,在其先前的P状态低于(从性能的立场来看)MinPstateLimit的情形下处理节点变回到其先前的性能状态(P状态)。注意,在一些实施例中,磁滞值可以为零,在其它的实施例中,磁滞值可以为固定的或可编程的。图2的流程示出了根据本发明的实施例可以在探针控制逻辑103(见图I)运算的示例性决策进程。在201中,节点判定处理单元是否处于低于MinPstateLimit的性能状态下。如果处理单元不处于较低状态,则当前性能状态足以处理探测活动且流保留在201中。如果当前性能状态较低,则在203中节点跟踪探测活动。在205中,如果探测活动大于阈值,则在207中节点将性能状态提升至MinPstateLimit且在208中继续跟踪探测活动。注意,为了易于解释说明,假设调节性能状态的控制逻辑为探针控制逻辑103的部分。在一些实施例中,调节性能状态的控制逻辑可独立于探针控制逻辑。利用电压和频率控制处理节点的性能状态在本领域是公知的,本文将不进行详细说明。如果探测活动保持在阈值减去磁滞因数以上,则节点停留在MinPstateLimit以解决探测活动。然而,如果在209中探测活动回退至阈值减去磁滞因数以下的水平,则节点在211中判定现有性能状态(步骤201和203中)是否小于MinPstateLimit。如果是这样,则在213中节点变换为先前的较低性能状态,然后返回至201以判定当前性能状态是否足以解决提高至阈值水平以上的探针活动。注意,如果处理节点的当前性能状态已经通过由软件(或硬件)基于处理节点使用率因数管理的常规流提高至MinPstateLimit或更高,则在211中不会发生至较低性能状态的变换。 图2中所示的实施例仅包括一个由性能状态MinPstateLimit寻址的探针性能阈值。假设高于MinPstateLimit的任意性能状态(P状态)满足最坏情况下的探针带宽要求。然而,其它的实施例可具有与探针带宽相关的多于一个的阈值。较高的探针带宽要求要求较高的操作P状态来解决探针带宽限制。表I示出了具有与用于探测带宽的不同要求相对应的三个性能状态(P状态)的实施例
表I
权利要求
1.一种方法,其包括 跟踪处理节点中的探针活动水平;将所述探针活动水平与第一阈值探针活动水平进行比较;以及 如果所述探针活动水平在所述第一阈值探针活动水平以上,将所述处理节点的性能状态提高至比当前性能状态高的第一性能状态。
2.如权利要求I中所述的方法,进一步包括 在响应于所述探针活动水平在所述阈值探针活动水平以上而进入所述第一性能状态之后,当所述探针活动水平降至在所述第一阈值探针活动以下的预定水平以下时,进入比所述第一性能状态低的第二性能状态。
3.如权利要求2中所述的方法,进一步包括当所述探针活动水平低于所述第一阈值减去磁滞因数时,进入所述第二性能状态。
4.如权利要求3中所述的方法,其中,所述第二性能状态为所述处理节点由此进入所述第一性能状态的性能状态。
5.如权利要求I至4中任一项所述的方法,其中,所述第一性能状态和所述第二性能状态由电压和频率中的至少一项限定。
6.如权利要求I至4中任一项所述的方法,进一步包括 响应于所述探针活动水平提高至第二阈值探针活动水平以上而将所述处理节点的所述性能状态提高至第三性能状态,所述第二阈值探针活动水平比所述第一阈值探针活动水平高,并且其中,所述第三性能状态比所述第一性能状态高;以及 在响应于所述探针活动水平提高至所述第二阈值探针活动水平以上而将所述处理节点的所述性能状态提高至所述第三性能状态后,降低所述性能状态。
7.如权利要求I至4中任一项所述的方法,进一步包括当所述处理节点处于比所述第一性能状态低的性能状态时,开始所述探针活动水平的所述跟踪。
8.如权利要求I至4中任一项所述的方法,其中,跟踪所述探针活动进一步包括 每个探针请求进入队列,并且在所述处理节点通过数据移动和应答中的至少一项响应所述探针请求之后,所述探针请求从所述队列中退出;以及 将所述队列中的多个入口与所述第一阈值探针活动水平进行比较,以判定所述探针活动水平是否在所述第一阈值探针活动水平以上。
9.如权利要求I至4中任一项所述的方法,其中,跟踪所述探针活动进一步包括响应于探针活动的发生而使表示探针活动水平的计数值增量,以及基于预定时间量的经过而使所述计数值减量。
10.一种装置,包括 探针跟踪器,其跟踪处理节点中的探针活动水平; 其中,如果所述探针活动水平提高至第一阈值探针活动水平以上,则所述装置响应以将所述处理节点的性能状态从当前性能状态提高至第一性能状态;并且 其中,所述装置对所述探针活动水平下降至所述第一阈值探针活动水平以下预定水平作出响应以使所述处理节点进入低于所述第一性能状态的第二性能状态;并且 其中,所述第一和第二性能状态由电压和频率中的至少一项限定。
11.如权利要求10所述的装置,其中,所述装置进一步可操作以响应于所述探针活动水平提高至第二阈值探针活动水平以上而将所述处理节点的所述性能状态提高至第三性能状态,所述第二阈值探针活动水平比所述第一阈值探针活动水平高,并且其中,所述第三性能状态比所述第一性能状态高。
12.如权利要求10所述的装置,其中,所述探针跟踪器对所述节点处于所述第一性能状态以下的性能状态作出响应而开始所述探针活动水平的所述跟踪。
13.如权利要求10至12中的任一项所述的装置,其中,所述探针跟踪器进一步包括 队列,探针请求进入所述队列中,在所述处理节点用数据移动和应答中的至少一项响应所述探针请求之后,所述队列中的所述探针请求从所述队列中退出;并且 其中,所述装置可操作以将所述队列中的入口数量与所述第一阈值探针活动水平进行比较以判定所述探针活动水平是否在第一阈值探针活动水平以上。
14.如权利要求10至12中的任一项所述的装置,其中,所述探针跟踪器包括计数器,所述计数器响应探针活动以增加表示探针活动水平的计数值并且响应预定时间段的经过而减少所述计数值。
全文摘要
处理节点跟踪与其内部高速缓存或存储器系统相关联的探针活动水平。如果探针活动水平提高至阈值探针活动水平以上,则处理节点的性能状态提高至其当前性能状态以上以响应于探针请求而提供增强的性能能力。在响应于探针活动水平处于阈值探针活动水平以上而进入较高性能状态之后,处理节点响应于探针活动的减弱而返回至较低性能状态。可存在多个阈值探针活动水平及相关联的性能状态。
文档编号G06F12/08GK102667665SQ201080048873
公开日2012年9月12日 申请日期2010年11月5日 优先权日2009年11月6日
发明者乔纳森·D·奥克, 乔纳森·M·欧文, 亚历山大·布兰欧威, 莫里斯·B·斯坦曼 申请人:超威半导体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1