第12章 NUMA 対応ワークロードのスケジューリング
NUMA 対応のスケジューリングと、それを使用して OpenShift Container Platform クラスターに高パフォーマンスのワークロードをデプロイする方法を学びます。
NUMA Resources Operator を使用すると、同じ NUMA ゾーンで高パフォーマンスのワークロードをスケジュールすることができます。これは、利用可能なクラスターノードの NUMA リソースを報告するノードリソースエクスポートエージェントと、ワークロードを管理するセカンダリースケジューラーをデプロイします。
12.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 ワークロードを処理する必要があります。