7.2. SCHED_DEADLINE 和 cpusets
内核的截止时间调度类(SCHED_DEADLINE)在截止时间前实施第一次调度程序(EDF),用于有有限期限的任务。它根据作业截止时间排列任务优先级:最早的绝对截止时间。除了 EDF 调度程序外,截止时间调度程序也实现了恒定的带宽服务器(CBS)。CBS 算法是一个资源保留协议。
CBS 确保每个任务在每个期间 (T) 接收其运行时间 (Q)。在任务的每个激活开始时,CBS 重新配置任务的运行时。在作业运行时,它会消耗其 运行时,如果任务超出 运行时,则任务会节流和取消调度。节流机制可防止单个任务运行超过其运行时,并有助于避免其他作业的性能问题。
实时,为了避免在 截止时间 任务的情况下过载系统,截止时间调度程序 会实施验收测试,每次任务被配置为 使用截止时间调度程序 运行时运行。接受的测试保证了 SCHED_DEADLINE 任务不使用超过 kernel.sched_rt_runtime_us/kernel.sched_rt_period_us 文件(默认为 950 ms 超过 1s)的 CPU 时间。