一、概述
Qos是一种适用于混合部署的全新调度算法,当在线任务需要运行时,在线任务能够快速抢占CPU资源并优先于离线任务运行,
从而隔离离线任务对在线任务的干扰。使用该调度算法,保障在线业务服务质量的前提下提升CPU利用率
二、应用场景
应用于云混合部署场景,适用于对交互类等时延敏感型业务(比如MySQL、Redis、Nginx等)和CPU消耗且时延不敏感的业务(比如AI算法)混合部署的场景。
三、接口
1、把任务配置成离线业务
/sys/fs/cgroup/cpu/xxx/cpu.qos_level <0是默认值代表在线,-1代表离线>
2、非离线任务持续占有cpu超过此时间会触发优先级反转解决流程
/proc/sys/kernel/qos_overload_detect_period_ms <1000~100000, 默认值为5000>
3、离线任务在超负载情况下返回用户态时,每次睡眠的时间
/proc/sys/kernel/qos_offline_wait_interval_ms <100~1000,默认是为100>
四、约束与限制
该方案依赖于原始linux的cfs_bandwidth和sched_group机制,因此需要将CONFIG_CFS_BANDWIDTH和CONFIG_CGROUP_SCHED打开
4.19 参见 #I4K96G:【openEuler-1.0-LTS】introduce qos scheduler for co-location
Hey oskernel0719, Welcome to openEuler Community.
All of the projects in openEuler Community are maintained by @openeuler-ci-bot.
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md to find the details.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
您好,有两个问题咨询一下:
1、如果想测试这个功能及效果,该如何去测试?并以何种方式去看效果?
谢谢!
在线任务和离线任务混合部署跟只部署在线任务进行对比,看在线任务的QoS是否受离线任务的影响
登录 后才可以发表评论