Linux Cache Aware Scheduling拡張、MySQL最大360%高速化
Phoronixが伝えたところによると、Linuxカーネル7.2にマージされたCache Aware Schedulingの拡張パッチが公開され、MySQLで最大360%の性能向上を達成した。
Phoronixの報道によると、Linuxカーネルに先週マージされたCache Aware Scheduling(CAS)の拡張パッチが、新たにカーネルメーリングリストに投稿された。Hygon社が送付したこのパッチは、CASをトポロジー認識型の階層的タスク集約へと拡張するもので、ベンチマークにおいて顕著な性能向上を示している。
Hackbenchで最大49%、Schbenchで20%、MySQLでは**最大360%**の性能向上が確認された。これらの数値は、現行のCASが抱える制約が解消された場合に引き出せる潜在能力を示すものだ。
スケジューラの進化とCASの基礎
CASは、複数のキャッシュドメインを持つ現代的なCPUにおいて、タスク同士が共有するデータを同一のラストレベルキャッシュ(LLC)ドメインに設定する機構である。スケジューラがキャッシュ局所性を意識することで、キャッシュミスやキャッシュバウンスを低減し、全体的なスループットを向上させる。
現状のCASはLLC単位のタスク集約モデルに依存している。単一のLLCドメイン内に収まるワークロードでは高い効果を発揮する。しかし、より高位のドメインへの集約がスケジューラによって行えない場合、局所性が十分に維持されず性能が頭打ちになるという課題があった。
Hygonが提案する階層的集約
Hygonが送付したパッチは、この制約を根本から解決する。集約の仕組みを階層化し、スケジューリングドメインを横断して動的に拡大・縮小できるようにする。ワークロードのサイズやシステムのトポロジーに応じて、集約範囲が自動的に調整される設計だ。
具体的には、LLCドメインの枠を超えて、より大きなキャッシュ階層やNUMAノードレベルでのタスク集約が可能になる。これにより、複数LLCにまたがる大規模なデータベース処理や仮想化環境での性能が大幅に改善されると見られる。
ベンチマーク結果の分析
公開されたベンチマークでは、以下の改善が報告されている。
- Hackbench: 最大49%の性能向上。プロセススケジューリングのベンチマークで、タスクのコンテキストスイッチとキャッシュ競合の低減が寄与した。
- Schbench: 最大20%の改善。スケジューラ負荷テストにおいて、より効率的なタスク設定が実現した。
- MySQL: 最大360%の性能向上。データベースワークロードは共有データへのアクセスパターンが顕著であるため、CASの効果が最も顕著に現れる領域だ。トランザクション処理やクエリ実行において、キャッシュヒット率の向上が直接スループットに跳ね返った結果と評価できる。
これらの数値は特定の条件下での最大値であり、すべてのワークロードで同様の改善が得られるわけではない。ただし、改善の方向性が明確である点は注目に値する。
技術的意義と実用性
今回の拡張は、Linuxカーネルのスケジューラが、ハードウェアのキャッシュ階層をより深く理解し動的に適応する方向へ進化したことを示す。データベースサーバー、HPC、仮想化基盤など、共有キャッシュの効率が性能を左右する領域では、特に大きな恩恵が期待される。
Hygonは中国のx86プロセッサメーカーであり、自社のCPUアーキテクチャに最適化したパッチを提案している点も興味深い。CASが特定のベンダーに依存せず、汎用的なフレームワークとして機能する可能性を示唆している。
編集部の見解
短期的には、このパッチがLinux 7.3へのマージを目指す場合、データベース運用者にとっては待望の改善となる。MySQLやMariaDB、PostgreSQLなど、共有メモリ構造を持つデータベースの性能が劇的に向上する可能性がある。3〜6ヶ月以内にカーネルに取り込まれれば、クラウドプロバイダーやエンタープライズでの採用が加速すると見られる。
長期的視点では、CASの拡張がCPU設計そのものにフィードバックをもたらす可能性がある。IntelやAMDがキャッシュ階層とOSスケジューラの連携を前提としたアーキテクチャを模索する契機となり得る。また、コンテナやKubernetes環境でのリソース管理にも波及効果が及ぶと見る。
編集部としては、ベンチマーク結果の再現性と汎用性に注目したい。特定のハードウェア構成やワークロードでの劇的な向上が報告される一方、現実の多様な運用環境でどこまで効果を発揮するかは未知数だ。カーネルメーリングリストでの議論と、追加のベンチマークデータの公開が待たれる。
参考
- Phoronix: Linux Cache Aware Scheduling Extended For Even Better Performance — 2026-06-25公開
- Linux Kernel Mailing List: 該当パッチスレッド
よくある質問
- Cache Aware SchedulingはどのようなCPUで効果が期待できるか
- 複数のLLCドメインを持つマルチコアCPU全般で効果が期待できる。特にAMD EPYCやIntel Xeonなど、CCXやコアクラスタ単位でキャッシュが分割されるアーキテクチャで顕著な差が出る。単一LLCのCPUでは効果は限定的だ。
- このパッチはいつLinuxカーネル本体に取り込まれる見込みか
- 現時点ではカーネルメーリングリストに投稿された段階であり、マージの時期は未定である。Linux 7.2にCAS本体がマージされたばかりであるため、拡張パッチは7.3以降をターゲットとすると見られる。コミュニティでのレビューを経て、早ければ数ヶ月以内にマージされる可能性がある。
- MySQLの360%向上はすべてのクエリで再現するのか
- 再現しない。この数値は特定のワークロードとハードウェア構成における最大値である。共有データ構造へのアクセスが集中するシナリオ(特にJOINを多用する複雑なクエリや高い並行性を持つトランザクション)で効果が大きい。単純なSELECTやインデックス検索のみの軽量クエリでは差は小さくなる。
コメント