Lines Matching refs:CPU

17 能量感知调度(EAS)使调度器有能力预测其决策对CPU所消耗的能量的影响。EAS依靠
18 一个能量模型(EM)来为每个任务选择一个节能的CPU,同时最小化对吞吐率的影响。
24 /!\ EAS不支持对称CPU拓扑的平台 /!\
26 EAS只在异构CPU拓扑结构(如Arm大小核,big.LITTLE)上运行。因为在这种情况下,
59 简而言之,EAS改变了CFS任务分配给CPU的方式。当调度器决定一个任务应该在哪里
61 CPU中挑选一个经预测能量消耗最优的CPU。EAS的预测依赖于对平台拓扑结构特定元素
62 的了解,包括CPU的“算力”,以及它们各自的能量成本。
68 EAS(以及调度器的剩余部分)使用“算力”的概念来区分不同计算吞吐率的CPU。一个
69 CPU的“算力”代表了它在最高频率下运行时能完成的工作量,且这个值是相对系统中
70 算力最大的CPU而言的。算力值被归一化为1024以内,并且可与由实体负载跟踪
72 任务/CPU有多大/有多忙,并在评估性能与能量时将其考虑在内。CPU算力由特定体系
87 让我们考虑一个有12个CPU的平台,分成3个性能域,(pd0,pd4和pd8),按以下
95 每个根域包含6个CPU。这两个根域在上图中被表示为rd1和rd2。由于pd4与rd1和rd2
115 的目标CPU。当EAS被启用时,select_task_rq_fair()调用find_energy_efficient_cpu()
116 来做任务放置决定。这个函数寻找在每个性能域中寻找具有最高剩余算力(CPU算力 - CPU
117 利用率)的CPU,因为它能让我们保持最低的频率。然后,该函数检查将任务放在新CPU相较
121 系统将消耗多少能量。compute_energy()检查各CPU当前的利用率情况,并尝试调整来
128 让我们考虑一个有两个独立性能域的(伪)平台,每个性能域含有2个CPU。CPU0和CPU1
131 调度器必须决定将任务P放在哪个CPU上,这个任务的util_avg = 200(平均利用率),
134 目前CPU的利用率情况如下图所示。CPU 0-3的util_avg分别为400、100、600和500。
135 每个性能域有三个操作性能值(OPP)。与每个OPP相关的CPU算力和功率成本列在能量
138 CPU util.
157 find_energy_efficient_cpu()将首先在两个性能域中寻找具有最大剩余算力的CPU
226 运行。因此,当考虑CPU消耗的总能量时,在大核上运行一个任务的额外成本可能小于为所有
230 系统所有CPU每个不同OPP的运行成本时,也无法得到正确的结果。得益于基于EM的设计,
238 从一般的角度来看,EAS能提供最大帮助的是那些涉及低、中CPU利用率的使用场景。每当CPU
239 密集型的长任务运行,它们将需要所有的可用CPU算力,调度器将没有什么办法来节省能量同时
240 又不损害吞吐率。为了避免EAS损害性能,一旦CPU被使用的算力超过80%,它将被标记为“过度
241 利用”。只要根域中没有CPU是过度利用状态,负载均衡被禁用,而EAS将覆盖唤醒平衡代码。
242 EAS很可能将负载放置在系统中能量效率最高的CPU而不是其它CPU上,只要不损害吞吐率。
246 a. 所有的CPU都有一些空闲时间,所以EAS使用的利用率信号很可能准确地代表各种任务
248 b. 所有任务,不管它们的nice值是多大,都应该被提供了足够多的CPU算力。
252 只要一个CPU利用率超过80%的临界点,上述三个假设中至少有一个是不正确的。在这种情况下,
254 又回到了在CPU密集的条件下基于负载的算法做负载均衡。这更好地尊重了任务的nice值。
257 (比CFS)更高优先级的调度类(以及中断)“窃取”的CPU算力。像这样,对过度使用率的检测
264 能量感知调度依赖系统的CPU具有特定的硬件属性,以及内核中的其它特性被启用。本节列出
268 6.1 - 非对称CPU拓扑
272 如简介所提,目前只有非对称CPU拓扑结构的平台支持EAS。通过在运行时查询
299 任务唤醒路径是时延敏感的。当一个平台的EM太复杂(太多CPU,太多性能域,太多状态
304 其中:Nd是性能域的数量;Nc是CPU的数量;Ns是OPP的总数(例如:对于两个性能域,
324 EAS试图预测CPU在不久的将来会在哪个OPP下运行,以估算它们的能量消耗。为了做到
325 这一点,它假定CPU的OPP跟随CPU利用率变化而变化。
338 为了对不同的CPU和所有的性能状态做出准确的预测,EAS需要频率不变的和CPU不变的
349 CPU,这实际上对性能和能量消耗都是不利的。