调度算法:速度与先见之明的较量
在计算机科学的调度问题领域,如何高效地安排任务一直是研究的核心。本文将深入探讨两种著名的调度算法,并分析它们在不同条件下的性能表现。
1. 调度算法概述
- 响应时间 :任务的响应时间 ( w_j = c_j - t_j ) 衡量了从任务释放到完成所经过的时间。对于非先见之明的调度器来说,特定任务 ( j ) 的 ( s_j ) 是未知的。
- 两种算法 :
- 算法A :最优算法,在每个时间点运行当前剩余处理时间最小的任务。显然,该算法需要预知任务的大小。
- 算法B :Balance算法,运行 ( p_j ) 最小的任务。有趣的是,算法B仅使用过去的信息(即 ( p_i ))来决定运行哪些任务,而算法A仅使用未来的信息(即 ( r_i ))。
2. 竞争比与资源增强
- 竞争比 :在线算法生成的解决方案的质量通常使用竞争比来衡量,即在线算法生成的解决方案的成本与最优离线解决方案的成本的最坏情况比率。任何确定性调度器的竞争比下限为 ( O(n^{1/3}) )。
- 资源增强 :为了更好地衡量在线解决方案的质量,引入了资源增强的概念。在线算法在比对手机器快 ( 1 + \epsilon ) 倍的机器上运行,得到的竞争比称为 ( \epsilon )
超级会员免费看
订阅专栏 解锁全文

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



