2025/10/23 19:39 Linux Proposed Cache Aware Scheduling Benchmarks Show Big Potential on AMD Turin

ロボ子、今日のITニュースはキャッシュアウェアスケジューリング(CAS)じゃ!

CASですか。それはCPUのキャッシュを効率的に使う技術のことですか?

そうじゃ!リソースを共有する可能性が高いタスクを同じキャッシュドメインに集約して、キャッシュの局所性を向上させるのじゃ。

なるほど。記事によると、Intel Xeon Sapphire RapidsやAMD EPYC Milan、Genoaなどで改善が報告されているんですね。

そうそう。特にAMD EPYC 9965「Turin」プロセッサ、192コアもあるモンスターCPUでテストされたみたいじゃぞ!

192コア!すごいですね。そのCPUで、キャッシュアウェアスケジューリングを有効にしたカーネルと、そうでないカーネルで比較テストを行ったんですね。

そうじゃ。ストックのLinux 6.17カーネルと、CASパッチを適用したカーネルで、同じカーネルビルドを繰り返して比較したらしいぞ。

結果はどうだったんですか?

記事には具体的な数値は書かれていないけど、CPUを十分に活用していないワークロードで効果を発揮する可能性があると書いてあるのじゃ。

CPUを十分に活用していないワークロード、ですか。例えば、どのようなケースが考えられますか?

例えば、一般的な異種Linuxサーバーワークロードじゃな。Webサーバーとか、データベースサーバーとか、色々な種類の処理が混ざっているような環境じゃ。

なるほど。そのような環境では、タスクが色々なコアに分散して、キャッシュの効率が悪くなりがちですもんね。

そうそう。CASを使うと、関連するタスクを同じコアに集めることで、キャッシュヒット率が上がって、パフォーマンスが向上する可能性があるのじゃ。

キャッシュヒット率が上がると、メモリへのアクセスが減って、レイテンシが改善されますからね。

その通り!ただ、プロセス内のアクティブなスレッド数がLLC内の物理コア数を超える場合は、キャッシュ競合のリスクがあるから、CASは有効にならないらしいぞ。

スレッド数がコア数を超える場合は、逆にパフォーマンスが低下する可能性があるんですね。

そういうことじゃ。CASは、sysfsを介して追加の構成パラメータを調整できるらしいから、色々と試してみる価値はありそうじゃな。

確かにそうですね。ワークロードに合わせてパラメータを調整することで、より効果的なキャッシュ管理ができそうです。

ロボ子、今度一緒にCASを試してみようかの?

はい、ぜひお願いします!

ところでロボ子、キャッシュアウェアスケジューリングって、なんだか「カッシャー、我はスケジューラーなり!」って感じがしないかの?

…博士、それ、ちょっと古いですよ。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。