Intel Xeon サーバープロセッサーはしばらくサブ NUMA クラスタリング (SNC) をサポートしていましたが、SNC が有効になっている HPE SGI UV サーバーは Linux では動作しませんでした…しかし、Linux 6.5 では状況が変わります。
サブ NUMA クラスタリングは、プロセッサの CPU コア/キャッシュ/メモリを複数の NUMA ドメインに分割します。サブ NUMA クラスタリングは、Intel Xeon プロセッサで長年にわたって利用可能であり、BIOS から SNC を有効にすることで、多くの NUMA 対応ワークロードのパフォーマンスを向上させることができます。しかし、Ultraviolet/HPE SGI UV プラットフォームの SNC 機能は Linux では適切に検査されていないことが判明しました。
Intel Linux エンジニアの Dave Hansen が、 Linux 6.5 カーネルの x86/プラットフォーム プル:
“6.5 用の x86/プラットフォームの変更をプルしてください。これにより、SGX/HPE Ultraviolet の CPU がサブ NUMA クラスタリング (SNC) の使用を開始できるようになります。モード。SNC はしばらく UV の世界の外に存在していましたが、明らかに UV システムでは動作しませんでした。
SNC は、物理ソケットと NUMA ノード間の 1 対 1 の関係についての悪い仮定を破ることでかなり悪名高いです。UV コードはむしろこれらの仮定が多用されており、それらを削除するにはかなりのリファクタリングが必要でした。”
約 200 行のコードを書き直すことで、HPE SGI UV サーバー上の Sub-NUMA クラスタリングが Linux 上で実際に正しく動作できるようになりました。昨日の時点で、この UV プラットフォームのアップデートは Linux 6.5 にマージされました。