[论文解读] Reallocation Problems in Scheduling
本文提出一种针对多处理器系统中具有时间窗的单位长度作业的动态调度算法,最小化作业插入或删除时的重新分配成本。通过使用分层预留机制结合窗口修剪与非摊销式重建,该算法实现每操作$O(\min\{\log^{*}n, \log^{*}\Delta\})$次重新分配,其中$n$为活跃作业数,$\Delta$为最大窗口大小。
In traditional on-line problems, such as scheduling, requests arrive over time, demanding available resources. As each request arrives, some resources may have to be irrevocably committed to servicing that request. In many situations, however, it may be possible or even necessary to reallocate previously allocated resources in order to satisfy a new request. This reallocation has a cost. This paper shows how to service the requests while minimizing the reallocation cost. We focus on the classic problem of scheduling jobs on a multiprocessor system. Each unit-size job has a time window in which it can be executed. Jobs are dynamically added and removed from the system. We provide an algorithm that maintains a valid schedule, as long as a sufficiently feasible schedule exists. The algorithm reschedules only a total number of O(min{log^* n, log^* Delta}) jobs for each job that is inserted or deleted from the system, where n is the number of active jobs and Delta is the size of the largest window.
研究动机与目标
- 解决在动态、在线环境中调度具有时间窗的作业时,最小化重新分配成本的挑战。
- 设计一种调度系统,允许对先前分配的作业进行重调度,同时将此类变更的成本保持在较低水平。
- 通过利用调度中的松弛时间,确保在作业插入或删除时始终维持可行调度。
- 通过分层调度与窗口修剪,实现高效摊销与非摊销性能保证。
- 通过引入以作业为中心的重新分配成本模型,统一并推广现有关于鲁棒性与增量调度的研究成果。
提出的方法
- 采用分层预留的等级次序调度器,其中每一层管理大小呈指数增长的时间区间。
- 利用“已满足预留”的概念,确保每个作业窗口内有足够的可用槽位,通过不变量4.9保证可行性。
- 应用窗口修剪,将作业时间窗口大小限制在$2\gamma n^*$以内,其中$n^*$为动态维护的活跃作业估计值,同时保持$\gamma$-欠分配状态。
- 通过在旧调度与新调度之间交替使用时间槽位,逐步迁移作业,实现非摊销化重建,确保每操作的摊销成本为$O(1)$。
- 通过加倍与减半策略维护$n^*$,以限制层次结构中的层数,确保在$n$和$\Delta$上具有对数深度。
- 利用$\log^*$函数限制层数,借助$\log^*$的缓慢增长特性,实现每操作近乎恒定的重新分配成本。
实验结果
研究问题
- RQ1我们能否设计一种动态调度算法,在作业插入或删除时最小化重新分配成本,即使存在级联重调度效应?
- RQ2在具有时间窗的动态作业调度系统中,维持可行调度的重新分配成本的理论下限是什么?
- RQ3如何在不产生高最坏情况成本的前提下,实现在基于重新分配的调度中高效摊销与非摊销性能?
- RQ4调度中的松弛程度在多大程度上可被利用以消除重调度级联效应,并减少每次操作中移动的作业数量?
- RQ5以作业为中心的重新分配成本模型能否统一并改进现有在线与鲁棒调度中的研究成果?
主要发现
- 所提出的算法确保每次插入或删除操作最多触发$O(\min\{\log^{*}n, \log^{*}\Delta\})$次重新分配,其中$n$为活跃作业数,$\Delta$为最大作业窗口大小。
- 该算法通过分层预留机制维持可行性,确保即使在动态更新后,每个作业窗口内仍至少有一个可用槽位。
- 将窗口修剪至$2\gamma n^*$大小,可保持$\gamma$-欠分配状态,并使层次结构中的层数被限制在$O(\log^{*}(4\gamma n))$以内。
- 通过在旧调度与新调度之间交替使用时间槽位,逐步重建调度,实现非摊销化,确保每操作的摊销成本为$O(1)$。
- 在假设输入实例足够欠分配的前提下,该算法实现了最优的重新分配成本界限,其界限仅依赖于反阿克曼函数的迭代对数。
- 该框架可通过先对齐并修剪窗口,推广至非对齐作业,保持欠分配性质(最多常数因子),从而可扩展至多机系统。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。