User-Space Hinting将助力AMD霄龙处理器实现更好的任务性能发挥

2022年09月13日 10:27 次阅读 稿源:cnBeta.COM 条评论

赶在下周于爱尔兰都柏林举办的 Linux Plumbers Conference 会议之前,AMD 还计划研讨如何改进“拆分末级缓存”(LLC)架构的调度程序。作为 AMD Linux 服务器团队的一名工程师,K. Prateek Nayak 刚刚发布了一系列补丁,并且专注于用户空间提示(User-Space Hinting)的任务放置计数。

Phoronix 指出:最新工作进展表明 AMD 打算改进 Linux 内核调度程序,并将之用于 LLC CPU 项目、以期改进该公司的 EPYC(霄龙)服务器处理器。

由 Linux 内核公告邮件列表(LKML)上的标记可知,新补丁仍处于“实验性”和“意见征求”阶段。

当前的 API 设计,只能设置较为低级的提示,且并未面向公众提供 —— 仅用于测试和演示 User-Space Hinting 在应用程序调度方案 / 最佳放置决策方面的功效。

若调度程序认为遵循提示将使系统处于次优状态,则可自由地忽略用户空间提示。

作为对比,当今调度程序使用的启发式方法 —— 例如 WF-SYNC 标记、wake_wide()逻辑等 —— 仍存在无法准确推断工作负载的性质的短板。

换言之,调度程序不明白是否最好将一组线程合并、还是拆分开来。由于无法推断工作负载的性质,或导致一系列不准确的放置决策,进而对工作负载的性能造成不利影响。

对于具有拆分 LLC 的系统(例如 AMD EPYC 霄龙服务器平台),其负面影响会被严重放大。

好消息是,该系列新补丁包括了在本地组中存在非活动核心时、选择父级附近的任务放置的功能。该过程负责决定继续使用包含最少利用率的组来扩展工作负载,并检查其它可能的提示。

其实早在去年,英特尔 Linux 内核团队的工程师 Peter Zijlstra,也曾介绍过一个高级提示框架。

其旨在帮助内核调度程序的任务序列能够应对日益复杂的 CPU 和工作负载,而当前状态下的 User-Space Hinting 则是通过 prctl() 接口完成的。

最后,英特尔 Xeon Ice Lake 平台上的初步测试结果表明,EPYC 服务器有望在 Hackbench、Schbench、Tbench 等各类工作负载上迎来性能的有效改进。

不过由于该系列补丁仍处于实验阶段,推测最终用户需要等待数月,才会看到它已做好被添加至 Linux 内核中的准备。

相关文章:

LPC 2022:谷歌工程师介绍Ghost Linux内核调度API的最新进展

对文章打分

User-Space Hinting将助力AMD霄龙处理器实现更好的任务性能发挥

2 (40%)
已有 条意见

    最新资讯

    加载中...

    编辑精选

    加载中...

    热门评论

      Top 10

      招聘

      created by ceallan