mirror of
https://github.com/gatieme/LDD-LinuxDeviceDrivers.git
synced 2026-09-21 20:23:38 +08:00
description/open_source: update phoronix vs LWN to date 20241015
This commit is contained in:
@@ -232,7 +232,7 @@ MoE(Mixed Expert Models), 即混合专家模型, 首次在 1991 年的论文 [Ad
|
||||
| 6 | [OpenNMT/Tokenizer](https://github.com/OpenNMT/Tokenizer) | 一个快速, 通用, 可定制的文本分词器, 支持 C++/Python, 依赖最小. 提供了多种功能, 包括可逆分词, 子词分词, 高级文本分段, 大小写管理以及保护序列等. |
|
||||
|
||||
|
||||
## 4.1 Transformer
|
||||
## 5.2 Transformer
|
||||
-------
|
||||
|
||||
| 编号 | 工具 | 团队 | 详情 |
|
||||
@@ -245,11 +245,21 @@ MoE(Mixed Expert Models), 即混合专家模型, 首次在 1991 年的论文 [Ad
|
||||
| 6 | [Machine-Learning-Tokyo/Interactive_Tools](https://github.com/Machine-Learning-Tokyo/Interactive_Tools) | 这个项目收集了各种用于机器学习、深度学习和数学的交互式工具. |
|
||||
| 7 | [hahnyuan/LLM-Viewer](https://github.com/hahnyuan/LLM-Viewer) | 一个可视化语言与学习模型 LLMs 并分析在不同硬件平台上性能的工具. 可以进行网络级分析, 考虑峰值内存消耗和总推理时间成本等因素. 使用 LLM-Viewer, 可以获取 LLM 推理和性能优化的宝贵见解. 可以在 Web 浏览器或者命令行(CLI) 工具中使用. 在线体验地址 [LLM-Viewer Web](http://llm-viewer.com). 参见论文 [LLM Inference Unveiled: Survey and Roofline Model Insights](https://arxiv.org/abs/2402.16363). |
|
||||
|
||||
# 5 基础理论
|
||||
|
||||
## 5.3 评测平台
|
||||
-------
|
||||
|
||||
| 编号 | 工具 | 团队 | 详情 |
|
||||
|:---:|:----:|:---:|:---:|
|
||||
| 1 | [EleutherAI/lm-evaluation-harness](https://github.com/EleutherAI/lm-evaluation-harness) | EleutherAI | 统一的测试框架, 用于测试生成式语言模型在各种不同的评估任务上的表现. 它提供了超过 60 个标准的学术基准测试, 支持多种模型类型和推理服务器, 并且具有灵活的配置和扩展性. 该项目被广泛用于论文研究和工业应用. |
|
||||
|
||||
|
||||
|
||||
# 6 基础理论
|
||||
-------
|
||||
|
||||
|
||||
## 5.1 基础理论汇总
|
||||
## 6.1 基础理论汇总
|
||||
-------
|
||||
|
||||
|
||||
@@ -271,7 +281,7 @@ MoE(Mixed Expert Models), 即混合专家模型, 首次在 1991 年的论文 [Ad
|
||||
| [NexaAI/Awesome-LLMs-on-device](https://github.com/NexaAI/Awesome-LLMs-on-device) | 汇总了端侧 AI 的相关架构和优化技术, 包括前言的论文研究. |
|
||||
|
||||
|
||||
## 5.2 Survey
|
||||
## 6.2 Survey
|
||||
-------
|
||||
|
||||
|
||||
@@ -281,7 +291,6 @@ MoE(Mixed Expert Models), 即混合专家模型, 首次在 1991 年的论文 [Ad
|
||||
| 时间 | 分类 | Survey | 作者 | GitHub | 描述 |
|
||||
|:---:|:----:|:------:|:---:|:------:|:----:|
|
||||
| 2024/03/01 | 综述 | [NiuTrans/ABigSurveyOfLLMs](https://github.com/NiuTrans/ABigSurveyOfLLMs) | [NiuTrans](https://github.com/NiuTrans/ABigSurveyOfLLMs) | [NiuTrans](https://github.com/NiuTrans/ABigSurveyOfLLMs) | 一个关于大语言模型的综合性调研集合, 包含 150 多篇关于 LLM 的调研论文. 这些调研涵盖了 LLM 的各个方面, 包含通用调研, Transformer, 对齐, 提示学习, 上下文学习, 推理链, 提示工程, 数据, 评估, 社会问题, 安全性, 幻觉, 属性, 高效 LLM, 学习方法, 多模态 LLM, 基于知识的 LLM, 检索增强型 LLM, 知识编辑, LLM 扩展, LLM 与工具, LLM 与交互, 长序列 LLM, 以及 LLM 在教育, 法律, 医疗, 游戏, NLP 任务, 软件工程, 推荐系统, 图谱等领域的应用. |
|
||||
| 2024/09/23 | 综述 | [metame-ai/awesome-llm-plaza](https://github.com/metame-ai/awesome-llm-plaza) | [metame-ai](https://github.com/metame-ai/awesome-llm-plaza) | [awesome-llm-plaza](https://github.com/metame-ai/awesome-llm-plaza) | NA |
|
||||
| 2024/01/16 | 多模态 | [A Survey of Resource-efficient LLM and Multimodal Foundation Models](https://arxiv.org/abs/2401.08092) | Mengwei Xu | [UbiquitousLearning](https://github.com/UbiquitousLearning/Efficient_Foundation_Model_Survey) | 一篇关于资源高效的大模型和多模态基础模型的综述论文. 论文涵盖了算法和系统两个方面的创新, 包括了高校的模型架构, 训练算法, 推理算法和模型压缩等内容. |
|
||||
| 2024/04/18 | 效率提升 | [The Efficiency Spectrum of Large Language Models: An Algorithmic Survey](https://arxiv.org/abs/2312.00678) | Tianyu Ding | [tding1](https://github.com/tding1/Efficient-LLM-Survey) | 一篇关于提供大语言模型效率的综合性调查论文, 全面回顾了旨在提高 LLM 效率的算法, 涵盖了扩展定律, 数据利用, 架构创新, 训练和调优策略以及推理计划等. |
|
||||
| 2024/05/23 | LLMs | [Efficient Large Language Models: A Survey](https://arxiv.org/abs/2312.03863) | Zhongwei Wan | [AIoT-MLSys-Lab](https://github.com/AIoT-MLSys-Lab/Efficient-LLMs-Survey) | 本文对高效 LLMs 研究的发展进行了系统而全面的回顾, 并将文献整理成由三个主要类别组成的分类法, 从模型中心、数据中心和框架中心的角度涵盖了不同但相互关联的高效 LLMs 主题, 并且从以模型为中心和以数据为中心的角度, 回顾了 LLMs 的算法层面和系统层面的高效技术. 详细介绍了每个分类下的具体技术, 如: 量化, 剪枝, 知识蒸馏, 数据选择, 提示工程等<br>1. [知乎--黄浴--高效大语言模型:综述](https://zhuanlan.zhihu.com/p/671710012)<br>2. [知乎--磐石--大模型高效推理 I 推理技术框架总结](https://zhuanlan.zhihu.com/p/696850285)<br>3. [知乎--享享学AI--大模型LLM微调技术方法汇总!](https://zhuanlan.zhihu.com/p/673675939) |
|
||||
@@ -305,6 +314,18 @@ MoE(Mixed Expert Models), 即混合专家模型, 首次在 1991 年的论文 [Ad
|
||||
[Deja Vu: Contextual Sparsity for Efficient LLMs at Inference Time](https://arxiv.org/abs/2310.17157)
|
||||
|
||||
|
||||
## 6.3 paper plaza
|
||||
-------
|
||||
|
||||
|
||||
| 时间 | 分类 | Survey | 作者 | GitHub | 描述 |
|
||||
|:---:|:----:|:------:|:---:|:------:|:----:|
|
||||
| 2024/09/23 | 日常论文精选 | [metame-ai/awesome-llm-plaza](https://github.com/metame-ai/awesome-llm-plaza) | [metame-ai](https://github.com/metame-ai/awesome-llm-plaza) | [awesome-llm-plaza](https://github.com/metame-ai/awesome-llm-plaza) | 日常论文精选 |
|
||||
| 2024/10/25 | 日常论文精选 | [xianshang33/llm-paper-daily](https://github.com/xianshang33/llm-paper-daily) | [xianshang33](https://github.com/xianshang33/llm-paper-daily) | [xianshang33/llm-paper-daily](https://github.com/xianshang33/llm-paper-daily) | 日常论文精选 |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -658,9 +658,9 @@ bperf 试图通过允许多个 "周期" 或 "指令" 的 perf_event (在不同
|
||||
### 13.2.3 BOLT'ing
|
||||
-------
|
||||
|
||||
[[RFC] BOLT: A Framework for Binary Analysis, Transformation, and Optimization](https://discourse.llvm.org/t/rfc-bolt-a-framework-for-binary-analysis-transformation-and-optimization/56722)
|
||||
[[RFC] BOLT: A Framework for Binary Analysis, Transformation, and Optimization](https://discourse.llvm.org/t/rfc-bolt-a-framework-for-binary-analysis-transformation-and-optimization/56722).
|
||||
|
||||
[BOLT: A Practical Binary Optimizer for Data Centers and Beyond](https://arxiv.org/pdf/1807.06735.pdf)
|
||||
BOLT 论文 [BOLT: A Practical Binary Optimizer for Data Centers and Beyond](https://arxiv.org/pdf/1807.06735.pdf).
|
||||
|
||||
几年来, Facebook 的工程师们一直在研究 [BOLT](https://www.phoronix.com/scan.php?page=news_item&px=Facebook-BOLT-Optimize-Binaries), 以此加速 Linux/ELF 二进制文件.
|
||||
|
||||
@@ -676,8 +676,18 @@ LLVM BOLT 优化 GNOME 的 Pango 净改进 ~6%, 参见 phoronix 报道 [LLVM BOL
|
||||
|
||||
ARM 的编译器工程师利用 BOLT 来创建二进制分析工具, 以审查安全强化选项的正确性. 该工具旨在验证堆栈保护器、堆栈冲突保护、分支保护、控制流保护等功能. 二进制分析工具将验证整个程序的强化功能, 并且比今天使用的有限安全强化测试要详细得多. 参见 phoronix 报道 [LLVM's BOLT Being Adapted To Analyze Security Hardening Of Binaries](https://www.phoronix.com/news/LLVM-BOLT-Security-Hardening).
|
||||
|
||||
除了基于 Arch Linux 的 CachyOS 和 Intel 的 Clear Linux 之类的发行版之外, 没有太多发行版以提升系统性能的名义广泛依赖激进的编译器优化. 不过最近有人建议 Fedora 使用配置文件引导优化 (PGO) 和链接后优化, 例如 LLVM BOLT 来开发更多软件包, 参见邮件列表讨论 [2024/10/14, Expand usage of Profile-Guided Optimization (PGO) and LLVM BOLT across Fedora packages](https://discussion.fedoraproject.org/t/expand-usage-of-profile-guided-optimization-pgo-and-llvm-bolt-across-fedora-packages/133724) 和 [Expand usage of Profile-Guided Optimization (PGO) and LLVM BOLT across Fedora packages](https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/TB7CTGA3BYMFAB36CGVSW5P6ICIPFM6V), 以及 phoronix 报道 [phoronix, 2024/10/22, Suggestion Raised For Using PGO + LLVM BOLT To Optimize More Fedora Packages](https://www.phoronix.com/news/Fedora-Idea-More-PGO-LLVM-BOLT).
|
||||
|
||||
### 13.2.4 Propeller
|
||||
LPC 2024 [`Toolchains Track` 领域](https://lpc.events/event/18/sessions/180) 来自 Meta 的 Maksim Panchenko (Meta) 介绍了其是使用 BOLT 优化内核的工作, 议题 [BOLT - Binary Optimizer for Linux Kernel](https://lpc.events/event/18/contributions/1921). 在简要对链接后时间优化做了简介后, 讲解了 BOLT 要成为优化内核的实用工具所面临的挑战. 同时还介绍 BOLT "深度扫描"反汇编的工具, 该工具可以揭示 Linux 内核的相关信息, 否则 objdump 等经典反汇编程序无法获得这些信息, 例如静态调用/密钥. 参见 LWN 报道 [LWN, 2024/10/25, Kernel optimization with BOLT](https://lwn.net/Articles993828).
|
||||
|
||||
### 13.2.4 AutoFDO
|
||||
-------
|
||||
|
||||
|
||||
LPC 2024 [`Toolchains Track` 领域](https://lpc.events/event/18/sessions/180) 来自 Google 的 Maksim Panchenko (Meta) 介绍了 [Optimizing the Linux kernel with AutoFDO including ThinLTO and Propeller](https://lpc.events/event/18/contributions/1922). 自动反馈导向优化(AutoFDO), 它可以与 Propeller 优化器一起使用, 以使用从实际工作负载收集的配置文件信息生成性能更好的内核. 这些工具与 BOLT 链接后优化器之间存在相当多的重叠.
|
||||
|
||||
|
||||
#### 13.2.4.1 Propeller
|
||||
-------
|
||||
|
||||
[Propeller: A Profile Guided, Relinking Optimizer for Warehouse Scale Applications](https://github.com/google/llvm-propeller)
|
||||
@@ -685,7 +695,8 @@ ARM 的编译器工程师利用 BOLT 来创建二进制分析工具, 以审查
|
||||
[[RFC] Propeller: A frame work for Post Link Optimizations](https://discourse.llvm.org/t/rfc-propeller-a-frame-work-for-post-link-optimizations/53161)
|
||||
|
||||
|
||||
### 13.2.5 Thin Layout Optimizer
|
||||
|
||||
#### 13.2.4.2 Thin Layout Optimizer
|
||||
-------
|
||||
|
||||
Thin-Layout-Optimizer 是一种新的代码布局优化器, 主要强调易用性和易采用性, 同时与 BOLT/Propeller 相比在性能上保持竞争力. 与 BOLT/Propeller 一样, Thin-Layout-Optimizer 在使用 Linux perf 和 LBR 生成的配置文件上运行. Thin-Layout-Optimizer 不会反汇编二进制文件, 而是通过类似于 Propeller 的链接器脚本重新排序的部分. 然而, 与 Propeller 不同的是, 它不需要基本块部分, 并且适用于任何部分粒度. 有效的粒度是函数节 (-ffunction-sections), 它几乎得到普遍支持, 并为重新排序优化提供了合理的基础. 此外, 它不需要对链接器命令进行任何更改, 而是通过使用环境变量透明地运行. 最后, 它可以透明地扩展到任意数量的包, 并且几乎不需要增量更改. 参见 phoronix 报道 [Intel's Newest Software Effort For Achieving Greater Performance: Thin Layout Optimizer](https://www.phoronix.com/news/Intel-Thin-Layout-Optimizer).
|
||||
|
||||
@@ -320,6 +320,15 @@ Google 的 Joel Fernandes 等发现 RCU 并没有很好的节能, 在 Android
|
||||
|
||||
[内核工匠-futex问答](https://blog.csdn.net/feelabclihu/article/details/127020166)
|
||||
|
||||
|
||||
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|
||||
|:---:|:----:|:---:|:----:|:---------:|:----:|
|
||||
| 2024/10/25 | Peter Zijlstra <peterz@infradead.org> | [futex: The remaining futex2 bits](https://lore.kernel.org/all/20241025090347.244183920@infradead.org) | [FUTEX2 NUMA & Small Futexes Revived For Linux](https://www.phoronix.com/news/FUTEX2-NUMA-Small-Futex). | v1 ☐☑✓ | [LORE v1,0/6](https://lore.kernel.org/all/20241025090347.244183920@infradead.org) |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# 7 Semaphores
|
||||
-------
|
||||
|
||||
|
||||
@@ -6930,8 +6930,10 @@ LSFMMBPF 2024 上对 sched_ext 进行了讨论 [LWN, 2024/05/23, LSFMMBPF-2024,
|
||||
| 2024/06/18 | Tejun Heo <tj@kernel.org> | [sched_ext: Integrate with schedutil](https://lore.kernel.org/all/20240619031250.2936087-1-tj@kernel.org) | sched_ext 目前没有与 schedutil 集成. 当 schedutil 作为调频 GOVERNOR 时, 频率不受控制. 本补丁集将 sched_ext 与 schedutil 集成, 以便 BPF 调度程序 调度器时可以控制 CPU 频率. 实现 sugov_get_util() 更新, 以添加 BPF 调度器提供的利用率. | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20240619031250.2936087-1-tj@kernel.org) |
|
||||
| 2024/07/10 | K Prateek Nayak <kprateek.nayak@amd.com> | [sched/core: Fixes and enhancements around spurious need_resched() and idle load balancing](https://lore.kernel.org/all/20240710090210.41856-1-kprateek.nayak@amd.com) | TODO | v1 ☐☑✓ | [LORE v1,0/3](https://lore.kernel.org/all/20240710090210.41856-1-kprateek.nayak@amd.com) |
|
||||
| 2024/07/19 | Carlos Bilbao <carlos.bilbao.osdev@gmail.com> | [docs: scheduler: Start documenting the EEVDF scheduler](https://lore.kernel.org/all/20240720002207.444286-1-carlos.bilbao.osdev@gmail.com) | Carlos Bilbao 在更新 CFS(Completely Fair Scheduler) 文档的过程中意识到, 目前还没有指向 EEVDF 文档的资料, 因此他开始了这项工作. | v3 ☐☑✓ | [LORE v3,0/1](https://lore.kernel.org/all/20240720002207.444286-1-carlos.bilbao.osdev@gmail.com) |
|
||||
| 2024/08/26 | Tejun Heo <tj@kernel.org> | [sched_ext: Add cgroup support](https://lore.kernel.org/all/20240826225822.791578-1-tj@kernel.org) | TODO | v2 ☐☑✓ | [2024/08/08, LORE v1, 0/7](https://lore.kernel.org/all/20240808002550.731248-1-tj@kernel.org)<br>*-*-*-*-*-*-*-* <br>[2024/08/26, LORE v2, 0/5](https://lore.kernel.org/all/20240826225822.791578-1-tj@kernel.org) |
|
||||
| 2024/08/26 | Tejun Heo <tj@kernel.org> | [sched_ext: Add cgroup support](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=a4103eacc2ab408bb65e9902f0857b219fb489de) | TODO | v2 ☐☑✓ v6.12-rc1 | [2024/08/08, LORE v1, 0/7](https://lore.kernel.org/all/20240808002550.731248-1-tj@kernel.org)<br>*-*-*-*-*-*-*-* <br>[2024/08/26, LORE v2, 0/5](https://lore.kernel.org/all/20240826225822.791578-1-tj@kernel.org) |
|
||||
| 2024/09/03 | Tejun Heo <tj@kernel.org> | [sched_ext: Apply pick_next_task() updates and remove switch_class()](https://lore.kernel.org/all/20240904080326.1132275-1-tj@kernel.org) | 这个补丁系列针对 Linux 内核调度器(scheduler)的扩展(sched_ext)进行了更新, 以适应内核主分支中对 pick_next_task() 函数的更新, 并移除了 switch_class() 函数. 以下是补丁系列的主要工作内容:<br>1. 更新 pick_next_task(): 补丁系列替换了 pick_next_task_scx() 函数, 引入了新的 pick_task_scx() 函数. 新函数不需要当前任务已经被排入队列, 并且能够不依赖于当前任务的状态来确定是选择当前任务还是本地直接队列(DSQ)顶部的任务. 统一常规和核心调度器的任务选择路径: 通过这次更新, 常规和基于核心的调度器的任务选择路径被统一, 简化了代码结构.<br>2. 移除 switch_class(): 在更新后, sched_class->switch_class() 不再被使用, 并从代码中移除. 这意味着调度器扩展不再需要这个接口.<br>3. 对 BPF 调度器的影响: 这次更改对基于 BPF(Berkeley Packet Filter)的调度器造成了两个微妙的 API 变化, 但这些变化是期望的, 并且现有的所有调度器都应该能够适应这些变化. | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20240904080326.1132275-1-tj@kernel.org) |
|
||||
| 2024/10/23 | Andrea Righi <arighi@nvidia.com> | [sched_ext: Introduce LLC awareness to the default idle selection policy](https://lore.kernel.org/all/20241022234718.63258-1-arighi@nvidia.com) | 主要目的是为 sched_ext 调度扩展模块中的默认空闲 CPU 选择策略引入 LLC(Last Level Cache) 意识. 这使得使用内置策略的调度器在具有多个 LLC 的系统中(如 NUMA 系统或基于芯片的架构)做出更明智的空闲 CPU 选择决策, 使得任务能够更好地保持在相同的 LLC 域内, 有效改善缓存局部性, 从而提高性能. LLC 意识目前仅应用于那些可以在系统中所有 CPU 上运行的任务. 如果任务的亲和性 (affinity) 被用户空间修改, 那么用户空间需要负责选择合适的优化调度域. 通过这些改动, sched_ext 调度器在处理多 LLC 系统时, 能够更有效地管理缓存资源, 进而提高整体的系统性能. 参见 phoronix 报道 [phoronix, 2024/10/28, Sched_ext Scheduler Idle Selection Being Extended For LLC & NUMA Awareness](https://www.phoronix.com/news/sched_ext-NUMA-Awareness). | v3 ☐☑✓ | [LORE](https://lore.kernel.org/all/20241022234718.63258-1-arighi@nvidia.com) |
|
||||
| 2024/10/27 | Andrea Righi <arighi@nvidia.com> | [sched_ext: Introduce NUMA awareness to the default idle selection policy](https://lore.kernel.org/all/20241027174953.49655-1-arighi@nvidia.com) | 为 sched_ext 模块引入了 NUMA 意识, 使其在选择空闲 CPU 时优先考虑同一 NUMA 节点内的 CPU. 类似于之前对 LLC(Last Level Cache)意识的支持. 其目的是在选择空闲 CPU 时优先考虑同一 NUMA 节点内的 CPU, 以优化性能和减少跨节点的通信延迟. 扩展内置的空闲 CPU 选择策略, 使其也优先考虑同一 NUMA 节点内的 CPU, 始终优先考虑来自完全空闲的 SMT 内核的 CPU. 如果可能,请选择相同的 CPU, 选择同一 LLC 域内的 CPU, 选择同一 NUMA 节点中的 CPU. 目前的逻辑仅试图让任务在同一 NUMA 节点内运行. 如果节点内的所有 CPU 都忙m 则随机选择下一个 NUMA 节点. 未来可以考虑改进 NUMA 节点的选择逻辑, 以考虑从当前 CPU 到目标 NUMA 节点的距离. 参见 phoronix 报道 [phoronix, 2024/10/28, Sched_ext Scheduler Idle Selection Being Extended For LLC & NUMA Awareness](https://www.phoronix.com/news/sched_ext-NUMA-Awareness). | v3 ☐☑✓ | [2024/10/27, LORE v4](https://lore.kernel.org/all/20241027174953.49655-1-arighi@nvidia.com)<br>*-*-*-*-*-*-*-* <br>[2024/10/25, LORE v5](https://lore.kernel.org/all/20241029101618.318812-1-arighi@nvidia.com) |
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -786,7 +786,6 @@ https://lore.kernel.org/all/20240830130309.2141697-1-vincent.guittot@linaro.org/
|
||||
|
||||
|
||||
|
||||
[](https://www.phoronix.com/news/AMD-Linux-Hetero-Max-Detect)
|
||||
|
||||
|
||||
| 编号 | 调度器 | 语言 | 用途 |
|
||||
@@ -794,3 +793,7 @@ https://lore.kernel.org/all/20240830130309.2141697-1-vincent.guittot@linaro.org/
|
||||
| 1 | scx_lavd | 程序专注于交互性, 具体来说, 就是始终如一地从游戏中获得更高的帧速率. |
|
||||
| 2 | scx_rustland | RUST | 将调度事件转发到用户空间, 在那里做出决策. 还包含 scx_rusty 用于复杂 CPU 拓扑上的负载平衡, 以及, 一个 scx_layered 分区计划程序. |
|
||||
| 3 |
|
||||
|
||||
|
||||
|
||||
主要目的是为 sched_ext 调度扩展模块中的默认空闲 CPU 选择策略引入 LLC(Last Level Cache) 意识. 这使得使用内置策略的调度器在具有多个 LLC 的系统中(如 NUMA 系统或基于芯片的架构)做出更明智的空闲 CPU 选择决策, 使得任务能够更好地保持在相同的 LLC 域内, 有效改善缓存局部性, 从而提高性能. LLC 意识目前仅应用于那些可以在系统中所有 CPU 上运行的任务. 如果任务的亲和性 (affinity) 被用户空间修改, 那么用户空间需要负责选择合适的优化调度域. 通过这些改动, sched_ext 调度器在处理多 LLC 系统时, 能够更有效地管理缓存资源, 进而提高整体的系统性能.
|
||||
Reference in New Issue
Block a user