在处理器的异质核之间动态切换工作载荷的制作方法

文档序号:8269306阅读:452来源:国知局
在处理器的异质核之间动态切换工作载荷的制作方法
【专利说明】在处理器的异质核之间动态切换工作载荷
【背景技术】
[0001] 随着计算装置(诸如智能电话和平板计算机还有其它计算装置)中性能需求的增 加,多核处理器变得更普遍,以递送对于高强度工作载荷和多线程应用期望的性能。然而, 随着这个增加,处理器的功耗也增加了,由此增加了由平台消耗的总体功率。当许多平台 (特别是便携平台)的总体可用总功率有限时,这是个问题。向具体核提供某些工作载荷的 固定调度或者在动态缩放性能中需要大量开销的当前机制造成了许多复杂性。
【附图说明】
[0002] 图1是根据本发明实施例的方法的流程图。
[0003] 图2是根据本发明实施例用于执行核切换的方法的流程图。
[0004] 图3是根据本发明实施例的处理器的框图。
[0005] 图4是根据本发明一个实施例的处理器核的框图。
[0006] 图5是根据本发明实施例的计算机系统中存在的组件的框图。
[0007] 图6是可使用实施例的示例系统的框图。
【具体实施方式】
[0008] 经由根据本发明实施例的预测算法,处理器性能可通过在具有不同特性的核之间 动态切换来动态缩放。例如,在两个或更多低功率同时多处理器(SMP)核上执行的工作载 荷可被切换到在例如四核或更高核片上系统(SoC)的两个或更多高性能SMP核上执行。
[0009] 在一个实施例中,动态工作载荷特征化和预测算法的组合可用于确定即将到来 的执行量子的适当核选择。在一个实施例中,可使用在系统内可用的一个或多个分析器 (profiler)实现工作载荷特征化。例如,处理器可包含性能监视单元,从其可获得分析中央 处理单元(CPU)的操作的信息。还经由这个单元或存储器系统的独立分析器,可获得存储 器分析信息。当然,在一些实施例中可存在附加分析器,诸如互连分析器,以确定一个或多 个互连(诸如处理器内部互连和存储器互连)上的带宽操作。
[0010] 此外,预测算法可接收调度信息。一旦调度信息,但在执行调度之前,就可从操 作系统(0S)调度器管道获得这个信息。根据所有此信息,算法可在随后时间Pt+l、Pt+2、 Pt+3... Pt+n预测容纳调度工作载荷的性能,其中Pt是在任何给定时刻预测的性能等级, 并且Pt+1是在下一时刻的性能。在一个实施例中,这些时间量子可对应于0S调度工作载 荷以便执行的线程量子或时间切片。作为一个此类示例,每个量子可在大约50毫秒与100 毫秒之间。算法可确定对于操作系统管道中第n线程量子所期望的性能。
[0011] CPU和存储器分析器使用性能监视单元分析系统,并读取各种计数器以确定在给 定时刻的当前CPU利用和存储器吞吐量。在一个实施例中,这些利用值可与一个或多个阈 值相比较,并且基于此类比较,可以确定是否将发生核切换或性能等级改变。
[0012] 现在参考图1,示出了根据本发明实施例的方法的流程图。更确切地说,图1示出 了能经由可在不同实施例中在固件、0S或处理器的独立控制器(诸如功率控制器)内执行 的策略管理器实现的预测方法100。
[0013] 如图1中所看到的,方法100可开始于接收OS调度信息(框110)。更确切地说, 这个OS调度信息可从OS调度器接收,并且可包含有关将来时间量子的调度过程和线程的 信息。要指出,在一个实施例中,从调度器接收的这个调度信息可包含对于将来时间量子调 度的过程的数量和在此类量子中要执行的线程的数量。在一个实施例中,这个OS调度信息 可从OS调度器用将来时间量子的调度判定填充的运行队列中获得。
[0014] 一般而言,调度队列可由OS填充,并且可包含多个条目,其中对于每个线程量子, 可选择这些条目中的一个或多个以便执行。一般而言,每个条目可包含过程标识符和线程 标识符。单个过程的条目可具有公共过程标识符和不同的线程标识符,从而指示存在那个 过程的多个线程。要指出,一般而言,可创建一个过程,并且这个过程又可包含一个或多个 线程。一个或多个线程可同时在多处理器(诸如SMP处理器)的一个或多个核上执行。
[0015] 仍参考图1,在框120,可接收用于至少一个将来量子的性能预测信息。这个性能 预测信息可对应于由策略管理器对于已经发生的给定时间量子生成的先前预测。在框130, 还可接收当前处理器利用信息。在不同实施例中,可接收各种类型信息。例如,在具有性能 监视单元的处理器中,可接收不同计数器的值。对于这些计数,可标识或导出不同处理器度 量。例如,可确定每个周期的指令,并且可获得CPU利用率,其可以是时间量子期间处理器 的有效利用的百分比。在一些实施例中,可获得附加的当前处理器利用信息,诸如各种互联 度量和存储器度量,以及许多其它度量。
[0016] 仍参考图1,根据所有此信息,可确定用于将来量子的处理器性能预测(框140)。 尽管本发明的范围不限于这方面,但这个性能预测可依据给定性能状态,例如根据在高级 配置和功率接口(ACPI)规范(诸如2006年10月10日的高级配置和功率接口规范修改版 30b (例如功率状态Po-Pn中的给定功率状态))中详述的功率状态。因此,在一个实施例 中,可依据频率进行这个性能预测。并且根据这个频率,选择适当核,并且判定是否将发生 SMP核之间的切换。
[0017] 在不同实施例中,可进行确定这个处理器性能预测的不同方式。在一个实施例中, 计算可基于作为输入接收以上信息(包含调度信息、新能预测信息和当前处理器利用信 息)的预定功能。预测算法采取来自调度器管道的输入并预测所需的性能,并且引起SMP 核之间的动态切换和/或对核频率的调整。在一个实施例中,预测算法采取如下项作为来 自调度器管道的输入:在给定时刻(例如tl、t2、t3、t4. ... tn)的每个核的调度器管道中 的调度线程的数量;以及在给定时刻(例如口1、口2、口3、口4...^11)的每个核的调度器管道 中的活动过程的数量。此外,预测算法作为输入接收当前处理器利用信息。
[0018] 在一个实施例中,给定量子t的预测性能(Pt)是调度线程的数量、活动过程的数 量和每个线程所需的性能的函数。在一些实施例中,可使用线程的利用信息计算由每个线 程所需的估计性能。作为一个此类示例,在确定中可使用那个线程的当前CPU和存储器总 线利用。
[0019] 从而,在一个实施例中,预测CPU性能等级基于分析当前CPU利用和存储器总线 利用计算如下:Pt=F{f(tl, t2, t3, t4. ? ? ? tn, pi, p2, p3, p4. ? ? ? pn, Pt+1, Pt+2, Pt+3. ? ? Pt +n),当前CPU利用,存储器总线利用,IPC和数据高速缓存缺失率}。这个预测性能等级可 在不同方面计算。然而,在一个实施例中,例如可依据对应于核频率的性能等级计算预测性 能等级。
[0020] 如在图1中所进一步看到的,下一控制传到菱形框150,在此可基于性能预测确 定是否要执行核切换。可以各种方式进行是否要执行切换的这个确定。然而,为了讨论的 目的,假定如果标识与处理器的当前性能等级不同标记的性能预测,则可进行核切换确定 (例如,当处理器的当前性能在600兆赫兹(MHz)时,2. 0吉赫兹(GHz)频率的性能预测可足 以引起核切换)。要指出,有关核切换的这个确定针对将来量子。从而,这个
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1