9.2. NUMA リソーススケジューリングストラテジー


高パフォーマンスのワークロードをスケジュールする場合、セカンダリースケジューラーは、さまざまなストラテジーを採用して、選択したワーカーノード内のどの NUMA ノードによってワークロードを処理するかを決定できます。OpenShift Container Platform でサポートされているストラテジーには、LeastAllocatedMostAllocatedBalancedAllocation があります。これらのストラテジーを理解することで、パフォーマンスとリソース使用率のためにワークロードの配置を最適化できます。

NUMA 対応クラスターで高パフォーマンスワークロードがスケジュールされるときには、次の手順が実行されます。

  1. まず、スケジューラーがクラスター全体の基準に基づいて適切なワーカーノードを選択します。たとえば、taint、ラベル、リソースの可用性などの基準です。
  2. ワーカーノードが選択されると、スケジューラーはその NUMA ノードを評価し、スコアリングストラテジーを適用して、どの NUMA ノードによってワークロードを処理するかを決定します。
  3. ワークロードがスケジュールされると、選択された NUMA ノードのリソースが更新され、割り当てが反映されます。

適用されるデフォルトのストラテジーは、LeastAllocated ストラテジーです。このストラテジーでは、利用可能なリソースが最も多く、使用率が最も低い NUMA ノードにワークロードが割り当てられます。このストラテジーの目的は、競合を減らし、ホットスポットを回避するために、NUMA ノード全体にワークロードを分散することです。

次の表に、各ストラテジーとその効果の概要を示します。

スコアリングストラテジーの概要

表9.1 スコアリングストラテジーの概要
ストラテジー説明効果

LeastAllocated

利用可能なリソースが最も多い NUMA ノードを優先します。

ワークロードを分散して競合を減らし、優先度の高いタスクのための余裕を確保します。

MostAllocated

利用可能なリソースが最も少ない NUMA ノードを優先します。

ワークロードを少数の NUMA ノードに集約し、他のノードを解放してエネルギー効率を高めます。

BalancedAllocation

CPU とメモリーの使用量がバランスのとれた NUMA ノードを優先します。

均等なリソース使用を実現し、偏った使用パターンを防ぎます。

LeastAllocated ストラテジーの例

LeastAllocated がデフォルトのストラテジーです。このストラテジーでは、利用可能なリソースが最も多い NUMA ノードにワークロードを割り当て、リソースの競合を最小限に抑え、ワークロードを NUMA ノード全体に分散します。これにより、ホットスポットが削減され、優先度の高いタスクに十分な余裕が確保されます。ワーカーノードに 2 つの NUMA ノードがあり、ワークロードに 4 つの仮想 CPU と 8 GB のメモリーが必要であると仮定します。

表9.2 NUMA ノード初期状態の例
NUMA ノード合計 CPU 数使用済み CPU 数合計メモリー (GB)使用済みメモリー (GB)利用可能なリソース

NUMA 1

16

12

64

56

4 CPU、8 GB のメモリー

NUMA 2

16

6

64

24

10 CPU、40 GB のメモリー

NUMA 2 には NUMA 1 と比較して利用可能なリソースが多いため、ワークロードは NUMA 2 に割り当てられます。

MostAllocated ストラテジーの例

MostAllocated ストラテジーは、利用可能なリソースが最も少ない NUMA ノード (最も使用されている NUMA ノード) にワークロードを割り当てることで、ワークロードを集約します。この方法により、エネルギー効率や完全な分離を必要とする重要なワークロードのために、他の NUMA ノードを解放できます。この例では、LeastAllocated セクションにリストされている「NUMA ノード初期状態の例」の値を使用します。

このワークロードには、4 つの仮想 CPU と 8 GB のメモリーが必要です。NUMA 1 は NUMA 2 に比べて利用可能なリソースが少ないため、スケジューラーはワークロードを NUMA 1 に割り当て、そのリソースをさらに活用します。一方、NUMA 2 はアイドル状態にするか、その負荷を最小限に抑えます。

BalancedAllocation ストラテジーの例

BalancedAllocation ストラテジーでは、CPU とメモリーのリソース使用率が最もバランスのとれた NUMA ノードにワークロードを割り当てます。目的は、メモリーが十分に使用されていないのに CPU 使用率が高くなるなど、不均衡な使用を防ぐことです。ワーカーノードの NUMA ノードの状態が次のようなものであると仮定します。

表9.3 BalancedAllocation の NUMA ノード初期状態の例
NUMA ノードCPU の使用率メモリー使用率BalancedAllocation のスコア

NUMA 1

60%

55%

高 (バランスがとれている)

NUMA 2

80%

20%

低 (バランスがとれていない)

NUMA 1 は、NUMA 2 と比較して CPU とメモリーの使用率がよりバランスがとれています。そのため、BalancedAllocation ストラテジーを適用すると、ワークロードは NUMA 1 に割り当てられます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.