登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
代码拉取完成,页面将自动刷新
仓库状态说明
开源项目
>
其他开源
>
操作系统
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
458
Star
1.7K
Fork
1.9K
GVP
openEuler
/
kernel
关闭
代码
Issues
1271
Pull Requests
991
Wiki
统计
流水线
服务
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
更新失败,请稍后重试!
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
【openEuler-26.09】回合主线6.12的sched_ext特性
已完成
#ID7HLY
内核需求
cheliequan
创建于
2025-11-19 19:36
<!-- #请根据issue的类型在标题右侧下拉框中选择对应的选项(需求、缺陷或CVE等)--> <!-- #请根据issue相关的版本在里程碑中选择对应的节点,若是与版本无关,请选择“不关联里程碑”--> 【特性描述】从使用者视角简要说明特性的功能(尽量使用正向表达方式) BPF调度扩展提供一个支持eBPF程序修改调度策略的调度类。BPF调度扩展的目标是改善调度器的负载均衡能力、增强并行性、以及减少上下文切换的开销,从而提升多核环境下的系统性能。BPF调度扩展实现三个核心目的: 1.让开发者更易于实验和探索新的调度策略,免去编译完整内核镜像的成本。 2.通用调度策略难以满足的特殊应用场景,通过该机制可以实现深度定制化。 3.快速的终端调度器部署。 【特性收益】简要说明该特性解决的问题,或带来的收益。(可选) 调度器是操作系统中负责决定哪些进程或线程运行的核心组件。在多核系统中,传统的调度器可能在负载较高时出现性能瓶颈。通用的调度奇经过内核中的调度器从 CFS 演进到了 EEVDF,能够提升某些场景下延迟敏感调度任务,但这些内核调度器的目的是为了保障大多数工作负载(例如数据库、游戏、微服务)和大多数硬件平台(例如 x86、ARM、NUMA、非 NUMA、CCX 等)上通用并工作良好,不能实现特定场景的调度定制化。因为传统的调度器在某些工作负载和硬件组合中表现良好,而在其他工作负载和硬件组合中表现出不符合预期的退化并不罕见。为了避免这种性能回归错误,实现一套可以可以灵活定制的调度策略成了迫切的需求。 此外,采用针对特定工作负载/硬件组合的自定义调度器比使用通用调度器更有利。然而,实现和维护自定义调度器非常痛苦。这不仅是因为替换或自定义内核调度器具有挑战性,还因为自定义调度策略不太可能被上游接受,因此自定义调度器在长期内会带来沉重的维护负担。BPF扩展调度是为了解决上述问题而提出的。它允许用户使用 BPF 编写自定义调度策略,而无需修改内核代码。你不需要为维护内核外的自定义调度器而苦恼。BPF调度扩展的目标是改善调度器的负载均衡能力、增强并行性、以及减少上下文切换的开销,从而提升多核环境下的系统性能。 【适用场景】简单该特性预期的使用场景。(可选) BPF调度扩展可以用于针对定制需求开发新的调度类,提高特定应用的性能。例如: 1、在游戏和 VR 场景中,有周期性的帧渲染任务需要在帧周期内完成,调度器可以实现类似虚拟截止期的机制,根据任务的重要性(如对帧率的影响)调整其调度顺序; 2、在对于高性能计算(HPC)和吞吐优先的负载场景中,自定义调度器能够最大化 CPU 利用率和缓存局部性,提高整体吞吐量。 3、在云计算与容器/虚拟化调度场景中,sched_ext 提供了优化虚拟机和容器调度的新手段。云环境下常有多租户(容器或VM)共享CPU的情况,自定义调度器可以感知租户级别的调度需求。 【交付个人/团队】请明确交付责任人,如果有团队支撑,请一并填写团队信息。(可选)
<!-- #请根据issue的类型在标题右侧下拉框中选择对应的选项(需求、缺陷或CVE等)--> <!-- #请根据issue相关的版本在里程碑中选择对应的节点,若是与版本无关,请选择“不关联里程碑”--> 【特性描述】从使用者视角简要说明特性的功能(尽量使用正向表达方式) BPF调度扩展提供一个支持eBPF程序修改调度策略的调度类。BPF调度扩展的目标是改善调度器的负载均衡能力、增强并行性、以及减少上下文切换的开销,从而提升多核环境下的系统性能。BPF调度扩展实现三个核心目的: 1.让开发者更易于实验和探索新的调度策略,免去编译完整内核镜像的成本。 2.通用调度策略难以满足的特殊应用场景,通过该机制可以实现深度定制化。 3.快速的终端调度器部署。 【特性收益】简要说明该特性解决的问题,或带来的收益。(可选) 调度器是操作系统中负责决定哪些进程或线程运行的核心组件。在多核系统中,传统的调度器可能在负载较高时出现性能瓶颈。通用的调度奇经过内核中的调度器从 CFS 演进到了 EEVDF,能够提升某些场景下延迟敏感调度任务,但这些内核调度器的目的是为了保障大多数工作负载(例如数据库、游戏、微服务)和大多数硬件平台(例如 x86、ARM、NUMA、非 NUMA、CCX 等)上通用并工作良好,不能实现特定场景的调度定制化。因为传统的调度器在某些工作负载和硬件组合中表现良好,而在其他工作负载和硬件组合中表现出不符合预期的退化并不罕见。为了避免这种性能回归错误,实现一套可以可以灵活定制的调度策略成了迫切的需求。 此外,采用针对特定工作负载/硬件组合的自定义调度器比使用通用调度器更有利。然而,实现和维护自定义调度器非常痛苦。这不仅是因为替换或自定义内核调度器具有挑战性,还因为自定义调度策略不太可能被上游接受,因此自定义调度器在长期内会带来沉重的维护负担。BPF扩展调度是为了解决上述问题而提出的。它允许用户使用 BPF 编写自定义调度策略,而无需修改内核代码。你不需要为维护内核外的自定义调度器而苦恼。BPF调度扩展的目标是改善调度器的负载均衡能力、增强并行性、以及减少上下文切换的开销,从而提升多核环境下的系统性能。 【适用场景】简单该特性预期的使用场景。(可选) BPF调度扩展可以用于针对定制需求开发新的调度类,提高特定应用的性能。例如: 1、在游戏和 VR 场景中,有周期性的帧渲染任务需要在帧周期内完成,调度器可以实现类似虚拟截止期的机制,根据任务的重要性(如对帧率的影响)调整其调度顺序; 2、在对于高性能计算(HPC)和吞吐优先的负载场景中,自定义调度器能够最大化 CPU 利用率和缓存局部性,提高整体吞吐量。 3、在云计算与容器/虚拟化调度场景中,sched_ext 提供了优化虚拟机和容器调度的新手段。云环境下常有多租户(容器或VM)共享CPU的情况,自定义调度器可以感知租户级别的调度需求。 【交付个人/团队】请明确交付责任人,如果有团队支撑,请一并填写团队信息。(可选)
评论 (
1
)
登录
后才可以发表评论
状态
已完成
新建
已接纳
开发中
拟拒绝
已取消
已拒绝
已完成
负责人
未设置
标签
sig/Kernel
未设置
项目
未立项任务
未立项任务
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
分支 (
-
)
标签 (
-
)
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
预计工期
(小时)
参与者(2)
C
1
https://gitee.com/openeuler/kernel.git
git@gitee.com:openeuler/kernel.git
openeuler
kernel
kernel
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册