多处理器速度缩放算法:CRR与DCRR的性能分析
在多处理器系统中,如何高效地调度作业以实现能源的最小化使用是一个重要的问题。本文将介绍两种作业调度算法——分类轮询(CRR)和双分类轮询(DCRR),并对它们的性能进行分析。
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} \le
超级会员免费看
订阅专栏 解锁全文
159

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



