第8章 NUMA 対応ワークロードのスケジューリング
NUMA 対応のスケジューリングと、それを使用して OpenShift Container Platform クラスターに高パフォーマンスのワークロードをデプロイする方法を学びます。
NUMA 対応のスケジューリングは、OpenShift Container Platform バージョン 4.12.0 から 4.12.23 のみのテクノロジープレビュー機能です。通常、これは OpenShift Container Platform バージョン 4.12.24 以降で利用できます。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
NUMA Resources Operator を使用すると、同じ NUMA ゾーンで高パフォーマンスのワークロードをスケジュールすることができます。これは、利用可能なクラスターノードの NUMA リソースを報告するノードリソースエクスポートエージェントと、ワークロードを管理するセカンダリースケジューラーをデプロイします。
8.1. NUMA について リンクのコピーリンクがクリップボードにコピーされました!
Non-Uniform Memory Access (NUMA) アーキテクチャーは、CPU がすべての場所のすべてのメモリーに同じ速度でアクセスしないマルチプロセッサーアーキテクチャーモデルです。代わりに、CPU は、近くにあるメモリーや ローカル なメモリーへ高速にアクセスできますが、遠くにあるメモリーへのアクセスは遅くなります。
複数のメモリーコントローラーを備えた CPU は、メモリーが配置されている場所に関係なく、CPU コンプレックス全体で使用可能なメモリーをすべて使用できます。ただし、このように柔軟性が向上したことで、パフォーマンスが犠牲になっています。
NUMA リソーストポロジー とは、NUMA ゾーン 内の CPU、メモリー、および PCI デバイスの相互の相対的な物理的位置関係を指します。NUMA アーキテクチャーでは、NUMA ゾーンは独自のプロセッサーとメモリーを持つ CPU のグループです。同じ場所に配置されたリソースは同一の NUMA ゾーンにあるとされ、ゾーン内の CPU は、そのゾーン外の CPU よりも、そのゾーンのローカルメモリーへ高速にアクセスできます。NUMA ゾーン外のメモリーを使用してワークロードを処理する CPU は、単一の NUMA ゾーンで処理されるワークロードよりも遅くなります。I/O に制約のあるワークロードの場合、離れた NUMA ゾーンのネットワークインターフェイスにより、情報がアプリケーションに到達する速度が低下します。
アプリケーションは、データと処理を同じ NUMA ゾーン内に含めることで、より優れたパフォーマンスを実現できます。通信ワークロードなどの高パフォーマンスのワークロードとアプリケーションの場合、ワークロードが仕様どおりに動作できるように、クラスターは単一の NUMA ゾーンで Pod ワークロードを処理する必要があります。