SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Windows Azure 仮想マシンで NUMA 構成の環境が利用できます

leave a comment

Windows Azure: General Availability of Infrastructure as a Service (IaaS)  でアナウンスされていますように Windows Azure 仮想マシン (Virtual Machine) が GA しました。

仮想マシンではサイズによっては NUMA 構成のゲスト OS として利用ができそうです。

以下は L サイズのインスタンスの CPU の情報になります。
CPU として AMD Opteron 4717 HE が使用されており、コア数としては 4 コア認識されているのが確認できます。

image

以下は、 http://www.windowsazure.com/ja-jp/pricing/details/virtual-machines/ に記載されている料金表ですが、L の場合は 4 コアですので、記載されているコア数が認識されている形になりますね。

image

先ほどのタスクマネージャーの画像ですが、少しわかりにくいのですが、[NUMA nodes] の値がグレーアウトしていることが確認できます。

それでは XL でインスタンスを起動してみるとどうなるでしょう。
XL で起動した場合には [NUMA nodes] がグレーアウトしておらず選択できるようになっています。
ゲスト OS で NUMA 構成が取れるということは Windows Server 2012 Hyper-V が使用され仮想マシンは稼働しているようですね。

image

実際に [NUMA nodes] の表示に切り替えたものがこちらになります。
NUMA ノードとしては 2 ノード認識していることが確認できます。

image

リソースモニターで見た時も同様ですね。
こちらでも NUMA ノードは 0 と 1 があることが確認できます。

image

それではメモリはどのようになっているでしょう。
Windows Server 2012 ではパフォーマンスモニターの [NUMA Node Memory] から、各 NUMA ノードのメモリを確認することができるようになっています。

2013/8/22 追記
XL で確認したところメモリも複数のノードを認識していました。

このカウンターを確認したところノード 0 しか認識をしていないことが確認できます。

image

このことから XL のインスタンスは以下のような NUMA ノードの構成がとられたゲスト OS として認識がされています。

  • SCHEDULER NODE 0 /1 (各スケジューラーノードは 4 つのコアを内包)
  • MEMORY NODE 0 (スケジューラーノード 0 のローカルメモリ)

image

仮想マシンでは今回の GA のタイミングで A6 と A7 というサイズを選択できるようになりました。
image

最大のサイズである A7 で起動したものがこちらになります。
メモリは 56GB 認識していますね。

image

この時の NUMA Node Memory の状態が以下になります。
ノードとしては 0/1 を認識しています。

image

このことから A7 の場合は

  • SCHEDULER NODE 0 /1 (各スケジューラーノードは 4 つのコアを内包)
  • MEMORY NODE 0 / 1 (各スケジューラーノード 0 にローカルメモリが存在する)

image

という構成になっていることが確認できます。
# メモリの最大サイズは確認できていないのですが、各ノード 28GB ずつメモリが接続されているのかな。

A6 の場合は以下のようになります。
A6 と L は CPU のコア数は同一でメモリのサイズが違う構成ですのが、28GB のメモリでもメモリノードは 0 のみとなるようですね。

image

NUMA の構成がとられた環境で、各スケジューラーノードに接続されたローカルメモリが存在する構成にするためには最大のサイズである A7 を設定する必要が出てきそうです。
# スケジューラーノードが NUMA の構成になっているものに関しては XL で試せますが今回調べた環境では NUMA NODE 0 以外のスケジューラーはリモートメモリへのアクセスとなります

SQL Server は NUMA 関連の項目も取得することができ、私の手元の環境には NUMA 構成のものがないので今まで実案件内でしかデータが取れないものがあったのですが、今後は Windows Azure の仮想マシンを利用することで取得することができそうです。

Web / Worker ロールの XL の環境でも NUMA 構成の環境が利用できるのかもしれないですね。
# 3.x 系の Guest OS で起動すればわかるのですが、Visual Studio が入っている環境がなくデプロイできないので確認できていません…。

Share

Written by Masayuki.Ozawa

4月 17th, 2013 at 12:26 am

Posted in Windows Azure

Tagged with

Leave a Reply