Azure で更なる高級和牛である、コンピューティング集中型インスタンス(Compute Intensive Instances)の A8 / A9 がクラウドサービスで使えるようになりましたので触ってみました。
比較として使用した A7 インスタンスの環境の情報が以下になります。
A7 インスタンスでは 8 コア (AMD Opteron 4171 HE) 使用することができ、NUMA ノードが 2 ノード構成となっています。
各 NUMA ノードに、CPU が 4 コアずつ割り当てられ、メモリノードとしては 28GB 割り当てられています。
ネットワークについては仮想 NIC が一つ割り当てられています。
それでは、A8 / A9 で同じ情報を見てみたいと思います。
A8
A9
A7 と A8 はコア数は同じですが、CPU が AMD Opteron 4171 HE と Intel Xeon E5-2670 の違いがあります。
Xeon E5-2670 は 1 ソケットで 8 コアの CPU となりますので、A7 は 2 ノード / A8 は 1 ノードと NUMA ノード数に違いが出ています。
A9 の場合は各 NUMA ノード 8 コア / メモリ 56 GB の 2 NUMA ノード構成となっています。
同じコア数でも使用する CPU によって、NUMA ノード数が変わってきていますね。
次に、以下のコマンドでダミーのファイルを作成し、そのファイルをインスタンス間でコピーしてみます。
fsutil file createnew D:dummy.tmp 10240000000
左が A7 / 右が A8 でインスタンス間でファイルをコピーした際の CPU 負荷と転送速度になります。
A7 の場合は 2Gbps / A8 の場合は InfiniBand の 40Gbps がネットワーク上限となっているかと思います。
# ゲスト OS としては 10Gbps が上限になっているかと思いますが。
RDMA に対応しているネットワークカードでのゲスト OS の挙動がいまいちわかっていないのですが、CPU 使用率のトレンドが異なっているのとネットワーク速度では差が出ていました。
# RDMA が有効であれば CPU 使用率もっと下がりそうな気がするのですが。
172.16.1.xx のセグメント同士では、通信がうまくできなかったので、デフォルトゲートウェイが設定されているネットワークカード経由でコピーをしています。
今回は Windows Server 2012 R2 のインスタンス間になりますので、SMB 3.02 での通信となっています。
A7
A9
ネットワーク周りは時間があるときにもう少し調べないといけないと思うのですが、きっとNo.1が調べてくれると思うので安心して毎日を過ごすことができます。
追記
172.16 のセグメントがInfiniBand 経由の通信になるのそうなのですが、現状は以下のような制限があるようです。
上記の検証では、Windows Server 2012 R2 (OS Family = 4) を使用していたので、Network Direct ドライバが導入されずに、172.16 のセグメントでの通信ができなかったようです。
Windows Server 2012 (OS Family = 3) で A8 のインスタンスをデプロイしたところ、ネットワークアダプターとして Mellanox のドライバーが認識されていました。
# 2012 R2 の時に Other devices となっていたのはこのドライバーかもしれませんね。
現状、IB 経由の通信は MPI のみとなるそうで
HPC Pack 2012 MS-MPI Redistributable Package – 日本語
HPC Pack 2012 R2 MS-MPI Redistributable Package
あたりを使う必要がありそうです。
# mpipingpong つかうとテストできそうです。