并行机器上等长作业调度算法的竞争分析
在并行机器调度领域,等长作业的调度是一个重要的研究方向。本文将深入探讨FirstFit算法在不同场景下的竞争性能,并给出多种调度模型下算法竞争力的下界。
1. FirstFit算法在等长作业调度中的竞争性能
1.1 等长作业调度的基本概念
在等长作业调度问题中,我们有多个并行的机器,需要将一系列等长的作业分配到这些机器上执行。FirstFit算法是一种简单的调度算法,它按照作业到达的顺序,将作业分配到第一台有空闲的机器上。
1.2 竞争比分析
为了分析FirstFit算法的性能,我们引入了势函数的概念。设$\Phi_{Opt}(t)$和$\Phi_{FF}(t)$分别表示最优调度(Opt)和FirstFit调度(FF)在时间$t$的势函数。
对于区间$[u, v)$,我们有以下几个重要的参数:
- $r$:表示新加入到$S_{Opt}(v)$中,之前未被计入$B_{Opt}(u)$,且在释放时被FirstFit拒绝的作业数量。
- $bold$:表示新加入到$S_{Opt}(v)$中,但之前已被计入$B_{Opt}(u)$的作业数量。
- $b_{new}$:表示在$B_{Opt}(v)$中新被认定为阻塞的作业数量,且$b_{new} \leq 2$。
基于这些参数,我们可以得到$\Phi_{Opt}(v) - \Phi_{Opt}(u) = 3(d + a + r) + bold + 2 \cdot b_{new}$。同时,还存在以下两个不等式:
- $2 \cdot n_1 \geq (a + r + bold)$:因为Opt必须在$[u, v)$内启动由$a$、$r$和$bold$表示的作业,而该区间大小为$v - u = p \cdot n_1$,且有两台机器,所以最多有$2 \cdot n_1$个这样的作业。
- $2 \cdot n_2 \geq (r + b_{new})$:$r$和$b_{new}$表示的作业必须在FirstFit在$M_2$上运行$n_2$中的某个作业时由Opt启动,由于Opt可以使用两台机器,所以$r + b_{new} \leq 2 \cdot n_2$。
对于$\Phi_{FF}(v) - \Phi_{FF}(u)$,至少为$3(n_1 + n_2) + 2(a + d)$,因为$a$和$d$的作业在$D_{FF}(u)$中未被计入。如果$n_1 - n_2 \geq d$,这些边界足以证明相关结论;如果$n_1 - n_2 < d$,则$n_1 = n_2$且$d = 1$,通过进一步的情况分析可以得到额外的贡献。
1.3 定理证明
定理1
:对于$m = 2$和等长作业,FirstFit算法是$\frac{5}{3}$竞争的。
证明
:初始时,$\Phi_{Opt}(0) = \Phi_{FF}(0) = 0$。通过对区间$[u, v)$重复应用引理3或4,可得$\Phi_{Opt}(\infty) \leq \Phi_{FF}(\infty)$,即$3 \cdot |S_{Opt}(\infty)| \leq 5 \cdot |S_{FF}(\infty)|$。因此,$\frac{Opt}{FF} \leq \frac{5}{3}$。
1.4 单位长度作业的情况
对于单位长度作业,我们定义一个作业$j$相对于FirstFit是规则的,如果它被分配到的机器(如果有)在区间$[r_j, d_j)$内从不空闲。一个实例$I$相对于FirstFit是规则的,如果所有作业都是规则的。
引理5
:对于$p = 1$,FirstFit算法的最坏情况竞争比发生在规则实例上。
证明
:考虑一个不规则实例$I$,设$j$是FirstFit启动的最后一个不规则作业。$j$所在机器$M_k$的空闲时间只能发生在$[s_j + 1, d_j)$内。可以证明$j$在队列中的截止时间是最大的。同时,FirstFit对$I’ = I - {j}$的调度与对$I$的调度相同,只是将$j$替换为一个空闲槽。由于FirstFit在$I’$上完成的作业比在$I$上少一个,而Opt最多损失一个作业,所以$I’$的竞争比至少和$I$一样大。
定理2
:对于$p = 1$,FirstFit算法是$\frac{1}{1 - (\frac{m - 1}{m})^m}$竞争的。
证明
:通过引理5,我们可以分析任意规则实例来证明FirstFit的竞争力。我们使用一种收费方案,定义$Y_k = (m - 1)^{m - k} \cdot m^{k - 1}$($1 \leq k \leq m$),且$\sum_{k = 1}^{m} Y_k = m^m - (m - 1)^m$。Opt在时间$t$启动的作业$i$将分配$m^m - (m - 1)^m$单位的费用,分别分配给FirstFit在时间$t$在机器$M_1, M_2, \cdots, M_k$上运行的作业$j_1, j_2, \cdots, j_k$。当$k < m$时,剩余的费用$\sum_{z = k + 1}^{m} Y_z$分配给作业$i$本身。可以证明每个FirstFit运行的作业$j$最多收集$m^m$单位的费用,从而证明了竞争力。
我们可以通过考虑$m + 1$“波”的作业来验证分析的紧密性。FirstFit将每一波作业分配到相应的机器上,最终拒绝了最后$m(m - 1)^m$个作业,只运行了$m \cdot \sum_{k = 1}^{m} Y_k = m(m^m - (m - 1)^m)$个作业,而Opt运行了所有$m \cdot m^m$个作业,竞争比为$\frac{m^m}{m^m - (m - 1)^m}$。
2. 调度算法竞争力的下界
2.1 立即调度模型的下界
在立即调度模型中,我们考虑随机算法和确定性算法的竞争力下界。
定理3
:对于$p \geq 2$的立即调度模型,每个随机算法对一个不知情的对手的竞争比至少为$\frac{4}{3}$。
证明
:应用Yao原理,考虑两个可能的实例,都以$m$个参数为$\langle 0, 2p + 1 \rangle$的作业开始。对于一个给定的确定性算法,设$\alpha$是在时间0启动作业或已经分配了两个作业的机器数量。第一个实例接着有$m$个参数为$\langle p, 2p \rangle$的作业,第二个实例接着有$m$个参数为$\langle 1, p + 1 \rangle$的作业。在这两个实例的均匀分布上,确定性算法的期望竞争比至少为$\frac{1}{2} \left( \frac{2m}{m + \alpha} + \frac{2m}{2m - \alpha} \right)$,当$\alpha = \frac{m}{2}$时,该值最小为$\frac{4}{3}$。
对于确定性算法,我们可以得到更强的下界:
-
定理4
:对于$p \geq 2$且$m$为奇数的立即调度模型,没有确定性算法的竞争比能严格优于$\frac{4m}{3m - 1}$。
-
定理5
:对于$p \geq 3$且$m$为偶数的立即调度模型,没有确定性算法的竞争比能严格优于$\frac{4m + 2}{3m}$。
2.2 无限制模型的下界
在无限制模型中,我们也给出了随机算法和确定性算法的竞争力下界。
定理6
:对于$p \geq 2$的无限制模型,没有随机算法的竞争比能严格优于以下值($m$按模5分类):
| $m \bmod 5$ | 竞争比下界 |
| — | — |
| $m \equiv 0$ | $\frac{5}{4}$ |
| $m \equiv 1$ | $\frac{20m^2}{16m^2 - 1}$ |
| $m \equiv 2$ | $\frac{30m^2}{24m^2 - 1}$ |
| $m \equiv 3$ | $\frac{30m^2}{24m^2 - 1}$ |
| $m \equiv 4$ | $\frac{20m^2}{16m^2 - 1}$ |
定理7
:对于$p \geq 3$的无限制模型,没有确定性算法的竞争比能严格优于以下值($m$按模5分类):
| $m \bmod 5$ | 竞争比下界 |
| — | — |
| $m \equiv 0$ | $\frac{5}{4}$ |
| $m \equiv 1$ | $\frac{5}{4} \left( 1 + \frac{1}{3m} \right)$ |
| $m \equiv 2$ | $\frac{5}{4} \left( 1 + \frac{1}{4m + 1} \right)$ |
| $m \equiv 3$ | $\frac{5}{4} \left( 1 + \frac{3}{12m + 1} \right)$ |
| $m \equiv 4$ | $\frac{5}{4} \left( 1 + \frac{3}{8m + 1} \right)$ |
对于$p = 2$的无限制模型,有以下下界:
定理8
:对于$p = 2$的无限制模型,没有确定性算法的竞争比能严格优于以下值:
| $m \bmod 5$ | 竞争比下界 |
| — | — |
| $m \equiv 0$ | $\frac{5}{4}$ |
| $m \equiv 1$ | $\frac{15m}{12m - 2}$ |
| $m \equiv 2$ | $\frac{10m}{8m - 1}$ |
| $m \equiv 3$ | $\frac{15m}{12m - 1}$ |
| $m \equiv 4$ | $\frac{5m}{4m - 1}$ |
2.3 特殊情况($p = 1$且$m = 2$)的下界
对于$p = 1$且$m = 2$的特殊情况,我们有以下结论:
定理9
:对于$p = 1$且$m = 2$的立即调度模型,确定性在线时间算法的竞争比不能优于$\frac{9}{8}$,确定性在线列表算法的竞争比不能优于$\frac{8}{7}$。
综上所述,我们对FirstFit算法在等长作业调度中的竞争性能进行了详细分析,并给出了多种调度模型下算法竞争力的下界。这些结果为进一步研究并行机器调度算法提供了重要的理论基础。
以下是一个简单的流程图,展示了FirstFit算法在等长作业调度中的基本流程:
graph TD;
A[作业到达] --> B{机器是否有空闲};
B -- 是 --> C[分配到第一台空闲机器];
B -- 否 --> D[等待机器空闲];
D --> B;
C --> E[作业执行];
E --> F[作业完成];
通过以上的分析,我们可以看到不同调度算法在不同场景下的性能表现。在实际应用中,我们可以根据具体的需求和场景选择合适的调度算法。例如,当作业长度相等且机器数量为2时,FirstFit算法具有较好的竞争性能;而在考虑更复杂的调度模型时,需要考虑算法的竞争力下界,以确保算法的性能不会太差。未来的研究可以进一步探索如何设计更高效的调度算法,以提高并行机器的利用率和作业完成率。
3. 调度算法的应用与选择
3.1 不同场景下的算法选择
在实际的并行机器调度场景中,需要根据作业的特点和调度模型来选择合适的算法。以下是一个根据不同场景选择算法的参考表格:
| 场景特点 | 推荐算法 | 原因 |
| — | — | — |
| $m = 2$且等长作业 | FirstFit算法 | 具有$\frac{5}{3}$的竞争比,性能较好 |
| $p = 1$的规则实例 | FirstFit算法 | 竞争比为$\frac{1}{1 - (\frac{m - 1}{m})^m}$ |
| 对算法竞争力有较高要求 | 考虑竞争力下界选择 | 避免算法性能过差 |
3.2 算法选择的操作步骤
当面对具体的调度问题时,可以按照以下步骤选择合适的算法:
1.
确定作业特点
:明确作业是否等长、是否为单位长度作业等。
2.
确定调度模型
:判断是立即调度模型、无限制模型还是其他模型。
3.
参考竞争力分析
:根据上述的定理和结论,了解不同算法在该场景下的竞争力。
4.
做出选择
:综合考虑各种因素,选择最合适的算法。
3.3 示例分析
假设我们有一个并行机器调度问题,作业为等长作业,机器数量$m = 2$。根据前面的分析,FirstFit算法是一个不错的选择,因为它在这种场景下是$\frac{5}{3}$竞争的。
4. 研究展望
4.1 现有研究的局限性
虽然我们对FirstFit算法和多种调度模型下的竞争力进行了分析,但仍存在一些局限性。例如,对于$m \geq 3$的情况,目前还没有开发出更强的算法;一些定理的证明需要特定的条件,如$p$的取值范围等。
4.2 未来研究方向
为了进一步提高并行机器调度算法的性能,未来的研究可以从以下几个方向展开:
-
开发更强的算法
:针对$m \geq 3$的情况,设计更高效的调度算法,提高算法的竞争力。
-
放宽条件限制
:研究在更宽松的条件下,如不同作业长度、不同释放时间等,算法的性能表现。
-
结合实际应用
:将理论研究与实际应用相结合,考虑更多实际因素,如机器故障、作业优先级等。
以下是一个流程图,展示了未来研究的方向:
graph LR;
A[现有研究] --> B[开发更强算法];
A --> C[放宽条件限制];
A --> D[结合实际应用];
B --> E[提高算法竞争力];
C --> F[适应更多场景];
D --> G[解决实际问题];
5. 总结
本文围绕并行机器上等长作业的调度问题,对FirstFit算法进行了深入分析,证明了其在不同场景下的竞争性能。同时,给出了多种调度模型下随机算法和确定性算法的竞争力下界。通过对这些内容的研究,我们可以更好地理解不同调度算法的性能特点,为实际应用中的算法选择提供理论依据。未来的研究可以在现有基础上进一步拓展,开发出更高效、更实用的调度算法,以满足不断增长的并行计算需求。
在实际应用中,我们可以根据作业特点和调度模型,参考本文提供的竞争力分析和算法选择建议,选择最合适的调度算法。同时,也可以关注未来研究的进展,以便在新的算法出现时及时应用到实际中,提高并行机器的调度效率和作业完成率。
超级会员免费看
4135

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



