【发布时间】:2014-02-18 21:36:45
【问题描述】:
在 Linux 内核的 CFS 调度程序的上下文中,目标延迟和最小粒度之间最重要的区别是什么。
或者我们如何定义Targeted Latency和Minimum Granularity。
- 高度赞赏数学解释。
【问题讨论】:
标签: process kernel scheduler timeslots
在 Linux 内核的 CFS 调度程序的上下文中,目标延迟和最小粒度之间最重要的区别是什么。
或者我们如何定义Targeted Latency和Minimum Granularity。
【问题讨论】:
标签: process kernel scheduler timeslots
我们如何定义目标延迟和最小粒度。
来自 Robert Love 的“Linux 内核开发”:
1)
CFS 为其“无限小”的近似值设定了一个目标 在完美的多任务处理中调度持续时间。这个目标被称为 目标延迟。
2)
请注意,随着可运行任务的数量接近无穷大, 分配处理器的比例和分配的时间片方法 零。由于这最终会导致无法接受的转换成本, CFS 对分配给每个进程的时间片施加了一个下限。这 floor 称为最小粒度。
因此,目标延迟是指所有运行队列任务至少安排一次的时间段。而最小粒度是任务在被抢占之前被允许在 CPU 上运行的最短时间。
参考资料:
【讨论】: