多台相同并行机器带测试的调度问题解析
在现代的调度问题中,如何高效地安排任务以最小化完成时间是一个核心挑战。特别是在存在不确定因素的情况下,如任务的处理时间未知,需要通过测试来探索,这使得调度问题变得更加复杂。本文将深入探讨多台相同并行机器带测试的调度问题,分析不同情况下的算法和下界。
1. 问题背景
在线调度中的一个基本问题是在多台并行机器上最小化完成时间(makespan)。传统上,任务的处理时间是已知的,但在实际应用中,很多时候任务的处理时间是未知的,需要通过一些初步的操作(如测试)来确定。
例如,在制造工厂中,一些工作的完成时间可能不确定,需要进行初步评估;在分布式计算环境中,任务的参数也可能未知,需要通过测试来获取。
2. 问题定义
假设有 $n$ 个任务,每个任务 $j$ 有一个未知的处理时间 $p_j$,一个上界 $u_j$ 和一个测试时间 $t_j$。任务可以在 $m$ 台相同的并行机器上执行,有两种执行模式:
- 不进行测试,直接执行 $u_j$ 时间。
- 先进行测试,测试完成后执行 $t_j + p_j$ 时间。
我们需要将这些任务分配到机器上,以最小化所有机器中最大的负载(即 makespan)。同时,我们区分了两种调度设置:
- 非抢占式调度:任务一旦分配到机器上,就必须在该机器上无中断地完成。
- 抢占式调度:任务可以在任何时间中断,并在之后可能不同的机器上继续执行。
3. 相关工作
- 单台机器调度 :Dürr 等人和 Albers 与 Eckl 研究了单台
超级会员免费看
订阅专栏 解锁全文
171万+

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



