web-dev-qa-db-ja.com

SQL Serverは、ソケットごとに4つのコアを持つ2つのソケットを検出しましたが、NUMAノードは1つだけです

SQL Server 2012 SP VMWareホストに2 CU 8インスタンスがあります。オペレーティングシステムはWindows Server 2012 R2です。

Windowsタスクマネージャーによると、2つのソケットと8つの仮想コアがあります。この番号は、ゲストの下の実際のハードウェアに対応しています。

Task Manager socket and core count

タスクマネージャーでは、ビューをNUMAノードに変更することもできません。

Still no NUMA nodes

SQL Serverでは、まだ1つのNUMAノードしか表示されません SQL Server NUMA config

また、Glen Berrys診断クエリからのこのスニペットは私にこの情報を与えます

EXEC sys.xp_readerrorlog 0, 1, N'detected', N'socket';

SQL Serverは、ソケットあたり4つのコアとソケットあたり4つの論理プロセッサ、合計8つの論理プロセッサを持つ2つのソケットを検出しました。 SQL Serverライセンスに基づく8つの論理プロセッサを使用します。これは情報メッセージです。ユーザーの操作は必要ありません。

これらすべての情報から、NUMAノードは1つだけで、2つのソケットで実行されていると思います。

私の質問:

  1. 1つのNUMAノードだけで実行しているのは正しいことですか?
  2. すべてが1つのNUMAノードに配置されている場合でも、パフォーマンスが低下する可能性はありますか?
  3. どのコンポーネントがNUMA境界を正確に指示しますか?例えば。 2つのIntel E5プロセッサーを搭載した2ソケットのメインボードがある場合、メインボードは、NUMAノードまたはプロセッサーの数を指示します。

NUMAノードに関する誤解がたくさんあると思います。誰かが私の質問に答えたり、この概念を詳細に説明する有用なリソースを指摘したりできると、本当にありがたいです。

7
Hans Vader

次の2つの記事は、VMwareが最適なゲストOSに仮想NUMA構成を提示することを明らかにしています。したがって、VM=で構成されているソケットの数は、NUMAノードの数とは無関係です。実際のハードウェアのNUMAノードに少なくとも8つのコアがある場合、VMwareは、VMのソケット数に関係なく、CPUが8個のゲストに1つのNUMAノードを提示するだけです。

corespersocketはパフォーマンスに影響しますか?

仮想マシンのvCPUおよびvNUMAの適正化–経験則

最近のCPUのNUMAノード境界の決定 には、ハードウェア上でもソケットの数がNUMAノードの数と必ずしも同じではないことを示す2つの役立つ引用符が含まれています。

最初にこの分析を行ったとき、一般的なマルチコアプロセッサはデュアルコアまたは多くてもクアッドコアでした。これらのチップでは、ハードウェアメーカーがNUMA境界をソケットではなくコアに分割しました。しかし、その構成はより大きなマルチコア(6、12など)チップでは同じではないようです。

そして

つまり、NUMA境界がコアに分割されていると想定しないでください。特定のCPUアーキテクチャに大きく依存します。

また、TechNetの記事、 Soft-NUMA(SQL Server) にも遭遇し、各ソケットは 通常 1つのNUMAノードで表されますが、そうでない場合は説明されません。

ハードウェアのBIOSをチェックして、NUMAが有効になっていることを確認することもできます。無効になっていると驚きますが、自分のキャリアを通じて、誰かが完全に不合理なことをしていないと思い込まないことを学びました。

あなたの質問への回答:

  1. 手元にある証拠を考えれば、そうです。SQLServerとWindowsの両方がNUMAノードが1つしかないことを通知しているので、VMwareのソースから、NUMAノードが1つになるゲストに最適なvNUMA構成を提示するというドキュメントがいくつかあります。ゲストがハードウェアソケットのコア数以下で構成されており、ゲストに提示されるソケットの数が無関係である限り、ノード。
  2. システムアーキテクチャがOSにNUMAノードが1つあることを通知している場合は、NUMAノードが1つあり、すべてのCPUが同じメモリを使用しているため、これが最適です。実際には2つのNUMAノードでしたが、SQL Serverは1つしか認識しない場合、はい、並列実行されるすべてのノードのパフォーマンスに影響します。
  3. メインボードアーキテクチャを決定するCPUアーキテクチャ。 VMでは、ゲストに提示されるNUMA構成は仮想化ホスト(VMware、Hyper-Vなど)によって決定されます。
4
Tony Hinkle