没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
内容概要:本文介绍了 sched_ext,即 Linux 内核中用于实现自定义调度策略的一种新机制。sched_ext 允许开发者在 BPF 程序中编写自定义的调度策略,这些策略在优先级低于 CFS(完全公平调度器)的情况下运行。文章详细讲解了 sched_ext 的设计理念、主要特性和应用场景,以及它在 Meta 生产环境中的实际优化效果。此外,还提到了一些常见的反对意见及其应对措施。 适合人群:Linux 内核开发人员、系统性能优化工程师、对 BPF 技术感兴趣的高级开发人员。 使用场景及目标:主要用于快速实验新的调度策略、针对特定服务进行优化、临时修复 CPU Bug 或避免复杂的内核绕过解决方案。最终目标是将有效的策略整合到 CFS 中,提高系统的整体性能。 其他说明:sched_ext 提供了一种简单直观的 API 来编写调度策略,同时利用 BPF 验证器确保安全性。通过实例展示了如何实现任务唤醒、任务队列管理和 CPU 负载均衡等功能。
资源推荐
资源详情
资源评论
Sched Ext
The extensible sched_class
David Vernet
Kernel engineer
Agenda
01 What is sched_ext?
02 Common objections
03 Interesting Changes / Additions
01 What is sched_ext?
sched_ext enables scheduling policies to be
implemented in BPF programs
- New sched_class, at a lower priority than CFS
- Enables scheduling policies to be written in BPF programs
- No ABI stability restrictions – purely a kernel <-> kernel interface
01 What is sched_ext?
Why are we doing this?
- Rapid experimentation
- Simple and intuitive API for scheduling policies
- Does not require knowledge of core scheduler internals
- Safe, cannot crash the host
- Protection afforded by BPF verifier
- Watchdog boots sched_ext scheduler if a runnable task isn’t scheduled within some timeout
- New sysrq key for booting sched_ext scheduler through console
- See what works, then implement features in CFS
- Bespoke schedulers that are optimized for specific services
- Used in Meta production to optimize main FB web service by 1.25 - 3% RPS, 3-6% P99 latency
compared to vanilla (but finely tuned) CFS, which results in O($millions) in capacity savings
- Going to try and generalize, eventually add to CFS if anything is sufficiently applicable
- Quick rollouts of new policies (e.g. for core sched)
- Temporary workaround for CPU bugs until full mitigation is rolled out
- Moving policy decisions and complexity into user space
- Avoids workarounds like custom threading implementations and other flavors of kernel bypass
01 What is sched_ext?
剩余22页未读,继续阅读
资源评论
mounter625
- 粉丝: 1500
- 资源: 182
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 032-基于AT89C52的手动计数器设计proteus仿真.rar
- 机械设计双工位裹头部外围胶纸设备sw18非常好的设计图纸100%好用.zip
- analysis-region.sql文件 2022年最新全国各省五级行政区划代码及名称数据(省-市-区县-乡镇-村)
- 利用LSTM模型,进行时间序列预测
- 2022 毕业设计,基于 Hadoop 的游戏数据分析系统.zip
- 033-基于AT89C52的直流电机驱动proteus仿真设计.rar
- TPA-LSTM(Python完整源码)
- 【岗位说明】担保公司岗位职责说明.doc
- 【岗位说明】岗位说明书投资分析助理员.doc
- 【岗位说明】岗位说明书证券投资部.xls
- 【岗位说明】公司岗位说明书(投资理财).xls
- 【岗位说明】金融岗位职责.docx
- 【岗位说明】金融公司岗位职责01.doc
- 【岗位说明】基金公司岗位职责说明书.xls
- 【岗位说明】金融岗位描述.docx
- 【岗位说明】金融公司各部门岗位职责及任职条件.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功