Linux 7.3、IntelハイブリッドCPUのクラスタ負荷分散を改善
Intelが提供したパッチ群がLinux 7.3マージウィンドウで統合され、PコアとEコアを混在させるハイブリッドCPU向けのクラスタ分散スケジューリングが大幅に改善される見込みだ。
IntelエンジニアRicardo Neriが開発したパッチ群は、PコアとEコア(LPEコア)を混在させるIntel Core(Ultra)シリーズのハイブリッドCPUにおいて、クラスタ認識スケジューリングの負荷分散を根本的に改善するものだ。PhoronixのMichael Larabelの報道によれば、これらのパッチはLinux 7.3のマージウィンドウで統合される予定であり、tip/tip.gitのsched/coreブランチに既にキューイングされている。
クラスタスケジューリングの課題
クラスタ認識スケジューリングは2021年にLinuxカーネルに導入された機能だ。L2キャッシュやその他の中間レベルリソースを共有するCPUコアのクラスタ間で、タスクの負荷を効率的に分散させるために設計された。均一なトポロジーを前提とした設計であり、均等な性能を持つコア群では適切に動作する。
問題はIntelのハイブリッドアーキテクチャに発生する。Alder Lake以降のプロセッサーでは、高性能なPコアと高効率なEコアが同一チップに搭載される構成が採用されており、コア間で性能容量に非対称性が存在する。クラスタ認識スケジューリングはこの非対称容量を持つトポロジーで正常に機能しなかった。
Neriはパッチの説明書で次のように指摘している。
Cluster scheduling aims to maximize performance by spreading load across clusters of CPUs that share mid-level resources. It works well on uniform systems, but it breaks down on topologies with big and small cores arranged in clusters. As a result, it fails on several generations of Intel processors already shipped and upcoming.
部分的にビジーなシステム、すなわち空闲CPUがあり、ビジーなCPUがそれぞれ1つのタスクを持つ状態では、スケジューラは非適合タスクをbigコアに割り当てる。しかし、残りのタスクはsmallコア群に分散されるはずである。CONFIG_SCHED_CLUSTERが有効な場合、これらの残りタスクはsmallコアのクラスタ間で均等に分散されることが期待される。現行の実装では、この均等分散が達成されていなかった。
既存問題の具体的な内容
Neriのパッチ群は、非対称CPU容量を持つシステムでのクラスタレベルの負荷分散を妨げる複数の問題を同時に解決する。パッチの説明では、各問題の詳細、根拠、コード変更が個別のパッチ内で説明されているとされる。
テストはAlder Lake、Lunar Lake、Panther Lakeの3世代で実施された。Alder LakeではSMT搭載のPコアとEコアのクラスタを持ち、SMTの有効・無効の両条件で検証された。Lunar LakeとPanther Lakeでは、L3キャッシュに接続されていないEコアクラスタが存在するという異なるトポロジーでのテストが行われた。CONFIG_SCHED_CLUSTERを無効にした状態でも同様の実験が繰り返され、負荷分散器が所定の動作を示したことが確認された。
Phoronixでは、Linux 7.3サイクルが開始された段階でIntel Core Ultraプロセッサーを用いたベンチマークテストを実施し、様々なワークロードにおける性能影響を計測する予定とされている。パッチ自体に性能数値は公開されていない。
歴史的経緯と影響範囲
クラスタ認識スケジューリングの導入以来、ハイブリッドCPUでのリグレッション問題はPhoronixでも指摘されてきた。導入後しばらくしてスケジューリングにリグレッションが発生していることが報告され、 のカーネルリリースで改善が行われてきたが、最適化されていない状態が続いていた。
関連記事として、当サイトではLinux Cache Aware Scheduling拡張、MySQL最大360%高速化でMySQLワークロードでのキャッシュ認識スケジューリングの効果を報告している。また、Linux 7.3、Intel Nova Lake S統合GPUを安定対応へでは、同じLinux 7.3サイクルにおけるIntelの統合GPU対応について触れている。
本パッチの影響を受けるのはIntelの複数世代のプロセッサーである。Alder Lakeから Panther Lakeに至るまで、ハイブリッドアーキテクチャを採用するすべてのプロセッサーが対象となる。Neriの説明によれば、「すでに出荷されている、および今後出荷される複数世代のIntelプロセッサー」で問題が発生していたとされる。
クラスタ分散スケジューリングの改善は、Linux上でハイブリッドCPUを用いるサーバーワークロードやデスクトップワークフローの両方に影響する可能性がある。特に、一部のコアがアイドル状態にあるシステムでは、タスクの再設定が適切に行われることで、性能のばらつきが抑制されることが期待できる。
編集部の見解
短期的影響 本パッチの統合は、Linux 7.3リリース時にIntelハイブリッドCPUユーザーに直接的な恩恵をもたらす見込みだ。Alder Lake以降のCore(Ultra)シリーズを搭載したワークステーションやノートPCで、負荷分散の不均衡に起因する性能低下が軽減される可能性がある。サーバー分野でも、IntelのハイブリッドXeon製品が将来的に展開された場合に、カーネル側の基盤が整備されることになる。 長期的視点 クラスタスケジューリングの修正は、ARMbig.LITTLE構成との併用や将来の不均一アーキテクチャにも波及する技術基盤の整備と捉えることができる。x86とARMの両方で非対称マルチプロセッシングが主流になる中、カーネルのスケジューラがトポロジーの多様性にどう適応していくかは、将来的なエッジコンピューティングやモバイルサーバーの性能に直結する論点だ。 編集部からの問い 本パッチはIntelのトポロジーに特化した修正であり、ARMベースの非対称システムに対するクラスタスケジューリングの改善が並行して進んでいるかは検証が必要な論点である。
参考
- 「Linux 7.3 To Better Handle Cluster Load Balancing On Intel Hybrid CPUs」, by Michael Larabel — Phoronix, 2026-08-08T17:27:05.000Z (ARR)
- 元記事URL: https://www.phoronix.com/news/Linux-7.3-Better-Intel-Hybrid
コメント