多处理器速度缩放算法研究
在多处理器环境下,如何高效地调度作业以节省能源是一个重要的问题。本文将介绍几种相关的调度算法,并分析它们的性能。
1. 问题定义与预备知识
我们的目标是将一组作业调度到 $m$ 个处理器 $M_0, M_1, \cdots, M_{m - 1}$ 上。允许作业抢占且无惩罚,每个处理器的速度可以变化。当处理器以速度 $s$ 运行时,每单位时间处理 $s$ 单位的工作,并消耗 $s^{\alpha}$ 单位的能量,其中 $\alpha \geq 2$。
对于一个作业 $j$,我们用 $r(j)$ 表示其释放时间,$d(j)$ 表示其截止时间,$w(j)$ 表示其大小。作业 $j$ 的跨度为 $span(j) = d(j) - r(j)$,密度为 $den(j) = \frac{w(j)}{d(j) - r(j)}$。如果 $r(j) \leq t \leq d(j)$,则称作业 $j$ 在时间 $t$ 是活跃的。
问题的目标是将作业分配到处理器上,并为每个处理器确定在任何时间运行哪个作业以及以什么速度运行,使得所有作业在其截止时间前完成,同时使用最少的能量。
对于任何作业集 $J$ 和算法 $A$,$A(J)$ 既表示算法 $A$ 在 $J$ 上的调度,也表示该调度所需的能量。设 $OPT_1$ 和 $OPT_m$ 分别表示单处理器和 $m$ 个处理器上的最优调度。有以下关系:
- $OPT_1(J)/m^{\alpha - 1} \leq OPT_m(J)$
- 设 $AVR$ 在处理器上的速度是该处理器上所有活跃作业在时间 $t$ 的密度之和,有 $AVR_1(J) \leq \alpha^{\
超级会员免费看
订阅专栏 解锁全文
1713

被折叠的 条评论
为什么被折叠?



