Intel は何年も前から Linux の Sapphire Rapids サポートに取り組んできましたが、第 4 世代 Xeon スケーラブル プロセッサで優れた起動時のエクスペリエンスを提供するために、GCC や LLVM/Clang などの他の主要コンポーネントにも取り組んできましたが、まだ改善されていない点が 1 つありました。起動前に、新しい C0.x アイドル状態は解消されました。 POLL と C1 の間のこれらの新しいアイドル状態により、低遅延と POLL より優れた省電力の組み合わせが可能になります。
インテルのエンジニアは、新しい Sapphire Rapids プロセッサの電力効率を高めるために、数か月間、これらの C0.1 および C0.2 アイドル状態に対する Linux パッチの開発に取り組んできました。この作業は、他の保留中のパッチと並行して行われ、I/O 使用率が高い場合の VM パフォーマンスの向上に役立ちます。
土曜日に、Sapphire Rapids C0.x アイドル状態サポートの 3 回目の反復が公開されました。パッチのカバーレターは、この作業を次のようにエレガントに要約しています:
「CPU に作業がない場合、アイドル状態は電力消費を削減します。最も浅い CPU アイドル状態は「POLL」です。ウェイクアップ レイテンシが最も低く、ただし、電力はほとんど節約されません。Intel プラットフォームの次のアイドル状態は「C1」です。待ち時間は長くなりますが、「POLL」よりも多くの電力を節約できます。
Sapphire Rapids Xeon には、新しい C0.1 および C0.2 アイドル状態が追加されています。概念的には、「POLL」と「C1」の間に位置します。これらは、POLL に近いウェイクアップ レイテンシと消費電力が「POLL」と「C1」の中間にある、非常に魅力的な中間点を提供します。
言い換えると、最も遅延に敏感なユーザーを除くすべてのユーザーが、POLL よりもこれらのアイドル状態を好むことを期待しています。
このパッチセットは、Sapphire Rapids Xeon (後-SPR) で C0.2 アイドル状態のサポートを有効にします。新しいアイドル状態は、POLL と C1 の間に追加されます。”
この 3 回目のイテレーションでは、この新しいコードがメインライン カーネルに向けて動作するため、いくつかの小さな技術的変更が加えられています。
インテルによる新しいパッチのテストでは、POLL から C0.2 への変化率を比較すると、AC 電力が 13% 低下し、RAPL CPU 電力が 18% 低下しました。一方、C0.2 を使用すると、4 つのグループで Hackbench スコアが約 4% 向上しました。パッチを使用すると、必要に応じて「intel_idle.states_off=2」カーネル オプションを使用して C0.2 ステートを無効にすることもできます。
興味深い作業であり、このコードがすぐにメインラインに採用されることを願っています。この 3 番目のバージョンのパッチですべてが良好であれば、v6.5 でも採用される可能性があります。現時点では、この成果は linux-pm リストで見つけることができます。 。メインラインに取り込まれたら、必ずいくつかのベンチマークを実行します。