LWN: OSPM会议上讨论SCHED_DEADLINE和SCHED_RT的路线图

640点击上方蓝色字关注我们~



The future of SCHED_DEADLINE and SCHED_RT for capacity-constrained and asymmetric-capacity systems

July 10, 2019



OSPM

译者注:OSPM是刚刚结束的第三届Operating-System-Directed Power-Management summit会议。近期LWN发布了一部分会议议题的讨论。本文正是其中一篇。


Kernel已经有了一个调度策略名为SCHED_DEADLINE,专门用于每个任务都需要在给定的时间期限(deadline)之内来完成的这种实时调度场景。不过,可惜的是SCHED_DEADLINE目前对CPU能力的抽象还太简化,完全没有考虑动态变压变频(DVFS),并发多线程处理(SMT),非对称的CPU能力(例如ARM big.LITTLE),以及各种性能限制策略(例如温度过高时需要限制CPU性能)。

特别是如果要在一个有性能限制策略的系统上执行deadline tasks(需要在给定时间期限内完成的Task)的话,就非常需要理解清楚SCHED_DEADLINE具体能提供什么样的保证。在此次会议中有关于各种方案(weak, hard, or mixed guarantees)的优劣对比。会议上有很多种不同观点,大家最终也没有达成一致,会需要在今年不久之后将会召开的Linux Plumbers Conference上继续探讨。

对移动设备来说,今后因为温度控制等原因进行性能限制会更加平常,因此在这种情况下如何保证性能,会是越来越重要的话题。要提供硬实时保证基本上是不可能的,因为芯片的行为受环境影响很大(例如天气太热)。对目前方案的主要反对观点在于所保证的带宽有点过于保守了。因此SCHED_DEADLINE针对那些需要高带宽的使用场景就可能没法预留足够带宽,哪怕这个task可以允许预留带宽偶尔被占用也不行。


后来这个话题又转移到讨论“tunable granted capacity”的概念(这个概念其实永远都是受限于合理的工作条件前提下的)以及一个最大的“best-effort capacity”。这样模型就能让SCHED_DEADLINE把各个task分为两类不同的服务对象,这样就能知道哪些task会更无法忍受CPU资源减少之后导致的错过deadline。不过这种方案会让kernel里的admission-control policy更加复杂。还有一种可能的策略就是让kernel内部admission control尽量简单,但是在user space增加一些特权用户可以使用的、更加高级的admission-control policy。


此外在现代的移动平台上对SCHED_DEADLINE还有多个方面的改善。Luca Abeni提供的"Capacity awareness for SCHED_DEADLINE" RFC patch set能够对非对称CPU能力的场景下提供基本功能。还有一些需要更长周期完成的工作,例如探索是否可能让在做admission control判断的时候能根据硬件或者固件所能提供的性能指标来决策,还有引入energy-aware task在deadline scheduler里的支持。


关于realtime scheduling class (SCHED_RT),在移动设备上使用的话也有一些问题。Linux mainline代码里会缺省把RT任务放在拥有最多空闲计算能力的CPU上去执行,这个方案有些太极端,有点浪费。SCHED_RT也假设CPU的计算能力全部都是对称的,此外它还不会参考当前running或者runnable的CFS进程情况来做决策。


SCHED_RT也就跟SCHED_DEADLINE一样,需要做一些改进才能在现代移动平台上更加实用。已经合入了一个utilization clamping patch set(会包含在Linux 5.3),它可以采用per-task, per-task-group或者系统全局的performance上限限制来对各个CPU的频率进行更细粒度的决策。此外还有一些其他改进,例如让SCHED_RT能在非对称的CPU能力的系统上,根据每个CPU的计算能力来预测可以获得的性能提升,又或者让SCHED_RT也和CFS task能互相考虑,从而实现更好的调度策略。


全文完

LWN文章遵循CC BY-SA 4.0许可协议。

极度欢迎将文章分享到朋友圈 
热烈欢迎转载以及基于现有协议上的修改再创作~


长按下面二维码关注:Linux News搬运工,希望每周的深度文章以及开源社区的各种新近言论,能够让大家满意~


640?wx_fmt=jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值