More Related Content Similar to Effective Hyper-V - 久しぶりエディション (20) More from Kuninobu SaSaki (20) Effective Hyper-V - 久しぶりエディション7. SMP (対称型マルチ プロセッシング)
一つのメモリ コントローラが、全ての
プロセッサとメモリを接続している。
コア コア コア コア どのプロセッサも、メモリ全体に同じ
速度でアクセスできる。
プロセッサ プロセッサ
チップセット
(メモリ コントローラー)
8. プロセッサが増えるとメモリへの経路がネックに
コア コア コア コア コア コア コア コア
コア コア コア コア コア コア コア コア
プロセッサ プロセッサ プロセッサ プロセッサ
チップセット (メモリ コントローラー)
みんなが通るから狭いよ!
10. そんなわけで最近はこんな感じになってます
NUMA ノード NUMA ノード
メ メ
モ モ
リ コア コア コア コア リ
コ コ
ン ン
ト ト
ロ コア コア コア コア ロ
ー ー
ラ ラ
ー ー
コア コア コア コア
プロセッサ プロセッサ
11. そんなわけで最近はこんな感じになってます
NUMA ノード NUMA ノード
メ メ
モ モ
リ コア コア コア コア リ
コ コ
ン ン
ト ト
ロ コア コア コア コア ロ
ー ー
ラ ラ
ー ー
コア コア コア コア
プロセッサ プロセッサ
12. Logical to Physical Processor Map:
**---------------------- Physical Processor 0 (Hyperthreaded)
--**-------------------- Physical Processor 1 (Hyperthreaded)
----**------------------ Physical Processor 2 (Hyperthreaded)
------**---------------- Physical Processor 3 (Hyperthreaded)
--------**-------------- Physical Processor 4 (Hyperthreaded)
----------**------------ Physical Processor 5 (Hyperthreaded)
------------**---------- Physical Processor 6 (Hyperthreaded)
--------------**-------- Physical Processor 7 (Hyperthreaded)
----------------**------ Physical Processor 8 (Hyperthreaded)
------------------**---- Physical Processor 9 (Hyperthreaded)
--------------------**-- Physical Processor 10 (Hyperthreaded)
----------------------** Physical Processor 11 (Hyperthreaded)
Logical Processor to Socket Map:
************------------ Socket 0
------------************ Socket 1
Logical Processor to NUMA Node Map:
************------------ NUMA Node 0
------------************ NUMA Node 1
Calculating Cross-NUMA Node Access Cost...
Approximate Cross-NUMA Node Access Cost (relative to fastest):
00 01
00: 1.0 1.3
01: 1.5 1.2
13. Hyper-V と NUMA – 2008 R2 まで
例えば VM 配置時に NUMA ノードを考慮。
できるだけ、NUMA ノードをまたがない
ように VM のメモリを確保する。
単一の NUMA ノード内でメモリを確保できなかった
場合は、ノードをまたいでメモリを確保する。
メモリに空きがあれば、 NUMA ノードの大きさを超
える「大きな VM」も配置できることになる。
Hyper-V の全体設定項目
「NUMA ノードにまたがるメモリ割り当て」
(右図)の設定によって挙動が変わる。
NUMA ノードをまたぐメモリ割り当ては行わない。
「システム全体でみればメモリが空いているように
見えるが、 VM を起動できない」ことがあり得る。
15. Windows Server 2008 R2 までの Hyper-V では
物理マシン 仮想マシン
NUMA ノード 0 NUMA ノード 0 Windows や SQL Server のような
“NUMA-aware” ソフトウェアが
その能力を発揮できない。
メモリ コア メモリ コア
VM リモート メモリもローカルで
NUMA ノード 1 作成 あるように見えてしまう。
「NUMA ノードをまたいだ
コア コア VM配置はできるだけ避けるべき」
メモリ メモリ
ということになる。
16. これが Windows Server 2012 になると
物理マシン 仮想マシン
NUMA ノード 0 NUMA ノード 0 「NUMA ノードまたぎ」を
過度に避ける必要はありません。
それゆえ、デフォルトで
メモリ コア メモリ コア ON になっています。
VM
NUMA ノード 1 作成 NUMA ノード 1
メモリ コア メモリ コア
19. [悲報] Dynamic Memory と NUMA
Dynamic Memory を無効化
VP 数を 4 に、ノードあたりの
VP 数を 1 に設定
NUMA ノードが確かに 4 つある
Dynamic Memory を有効化
NUMA ノードが 1 つになってしまう!
20. NUMA 関連 PowerShell コマンドレット
Set-VMProcessor
-MaximumCountPerNumaNode
Set-VMMemory
-MaximumAmountPerNumaNodeBytes
Set-VMProcessor
-MaximumCountPerNumaSocket
22. 30 秒で復習する Dynamic Memory
控えめな メモリを追加
メモリ足りない! 余れば回収
メモリで起動 (Hot-Add)
最大 RAM
空き
追加 回収
スタートアップ
RAM 空き
空き 空き
使用中
使用中
使用中 使用中
メモリ空間 メモリ空間 メモリ空間 メモリ空間
仮想マシン 仮想マシン 仮想マシン 仮想マシン
29. 「最小 RAM」設定の働き
起動時にはある程度の 落ち着いてくると 「最小RAM」を
メモリを必要とするが メモリ使用量は減る 下限として縮退
最大 RAM
スタートアップ
RAM
空き
この分節約できた!
空き
最小 RAM 空き
使用中
使用中 使用中
メモリ空間 メモリ空間 メモリ空間
仮想マシン 仮想マシン 仮想マシン
30. しかし、困ったことが一つ
仮想マシン 1 仮想マシン 2 仮想マシン 3 … 仮想マシン n
最大 RAM
スタートアップ
RAM
節約 節約 節約 節約
最小 RAM 空き 空き
空き 空き
使用中 使用中 使用中 使用中
メモリ空間 メモリ空間 メモリ空間 メモリ空間
32. スマートページングは
「超満員状態」での
再起動を助けるための機能
つまり、本当の「最後の救済手段」です。
日常的に利用することを想定した機能ではありません。
仮想マシンの起動時にだけ働きます。
起動後10分程度しか働きません。 起動直後のメモリはスマートページン
グに助けてもらう。
その後はどうなる? 落ち着いて余裕ができたらまた最小
RAMまで縮退し、スマートページン
グから卒業する。
35. 前史時代のクラスタ (Windows Server 2008まで)
VM1 VM2 VM3 VM4
Hyper-V Hyper-V Hyper-V Hyper-V
1号機 2号機 3号機 4号機
予約 予約 予約 予約
VM1 VM2 VM3 VM4
LUN1 LUN2 LUN3 LUN4
G: H: I: J:
SANストレージ (Fibre Channel or iSCSI)
36. CSV でこうなった
VM1 VM2 VM3 VM4
Hyper-V Hyper-V Hyper-V Hyper-V
1号機 2号機 3号機 4号機
全ノードから同時かつ直接にアクセス可能
VM1 VM2 VM3 VM4
LUN1
SANストレージ (Fibre Channel or iSCSI)
37. ライブ マイグレーション
VM1 VM2 VM3 VM4
Hyper-V Hyper-V Hyper-V Hyper-V
1号機 2号機 3号機 4号機
全ノードから同時かつ直接にアクセス可能
VM1 VM2 VM3 VM4
LUN1
SANストレージ (Fibre Channel or iSCSI)
41. Windows Server 2008 R2 CSV の問題点
Windows Server 2008 R2 の CSV は「CSV であることがわかりづらい」のが欠点。
例えば、マウントポイントであるC:CluserStorage フォルダを見てみると、
普通のフォルダにしか見えませんが、
実は特殊なリパースポイントなんです。
普通、ボリュームのマウントポイントは「ジャンクション」として見えるはず…
42. Windows Server 2012 CSV での改良
2012では、 C:CluserStorage フォルダの下に、ジャンクションが見えています。
これは、「通常のボリュームをマウントした」のと同じ状態。
“Volume1”などのマウントポイントの名前を変えることも普通にできます。
以前の CSV では通常の方法でマウントしていなかったので、名前も変えられませんでし
た。
43. CSV プロキシ ファイルシステム - “CSVFS”
Windows Server 2008 R2 の CSV は、
普通の NTFS ボリュームにしか見えませ
ん。
Windows Server 2012 では、“CSVFS”
というファイルシステムが見えます。
ボリュームが CSV であることを、人間的に
もプログラム的にも容易に判別できます。
44. CSV とキャッシュ
Windows Server 2008 R2 の CSV では、
「ダイレクト I/O」の際にフィルタドライバが
いろんなものをスキップしてディスクに直接
アクセスしてしまいます。
そのため、せっかく Windows が持っている
キャッシュマネージャの機能も生かされて
いませんでした。
45. CSV ブロック キャッシング – 2 種類
通常のバッファリングされる I/O は、NTFSと同様に Windows のキャッシュマネージャによっ
てキャッシュされるようになりました。
こちらはバッファ無し I/O の場合に有効なリードオンリーキャッシュ。
バッファ無し I/O は Windows のキャッシュマネージャがキャッシュしてくれないので、 WSFC
が自前でキャッシュ機能を持ちました。
ズバリ具体的には、読み取り専用の VHD から多くの差分ディスクを生成するよう、
VDI のような環境で非常に有効です。
46. CSV と Active Directory
これは CSV だけの話ではなく WSFC 全体の話ですが、ドメインコントローラーでの認証を
行わずとも、クラスターの形成やフェールオーバーができるようになっています。
そのため、”CLIUSR” というローカルユーザーが各ノードに作成されます。
なにせ「ドメインコントローラーも仮想化」される時代なので、Hyper-V ホストは
「ドメインコントローラーの存在しない世界」でコールドブートすることを考慮しているのです。
49. サマリー
スパコンイベント “SC12” で 2012 年 11 月版発表 (年 2 回発表)
Windows Azure は 151.3 TFLOPS (効率 90.2%) で 165 位 (全 500 システム中)
16 コア (Xeon E5-2670), メモリ 128 GB
TOP500 チャレンジは、504ノード, 8064 コアで実施
今後、Windows Azure コンピュートサービスで提供予定
サーバー間を Infiniband QDR (40 Gbps) で接続
仮想マシン上で RDMA over Infiniband を実現 (物理環境と遜色ない低遅延接続)
50. 最新の HPC Azure 環境
通常の Windows Azure コンピュートサービスと同様の仮想環境です。
ゲスト OS は最新の Windows Server 2012 です。
HPC Pack も最新の HPC Pack 2012 を利用しています。
(HPC Pack 2012 は現在ベータ版公開中、年内に正式公開予定)
計算ノードだけでなく、ヘッドノードや Active Directory のドメイン
コントローラーまで Windows Azure 上に配置した完全クラウド構成です。
TOP500 チャレンジに使用した新ハードウェアは、2 種類の VM として利用可能になる
予定です
① 8 コア, メモリ 60 GB
② 16 コア, メモリ 120 GB
いずれも、40 Gbps の QDR Infiniband を、RDMA で利用できます。
ゲスト OS のカーネルや仮想環境のハイパーバイザをバイパスし、低遅延かつ
広帯域のノード間通信を実現します。
51. 関連情報: Windows Azure と HPC
機能紹介、開発者向け情報、無料評価版の申し込み等すべてここにあります
http://www.windowsazure.com/ja-jp/
Windows Azure 管理ポータルサイト
https://manage.windowsazure.com/
各種情報へのリンクと、評価版のダウンロード
http://technet.microsoft.com/ja-jp/windowsserver/hh534429.aspx
”Announcing the HPC Pack 2012 Beta Program“
http://blogs.technet.com/b/windowshpc/archive/2012/09/06/announcing-the-hpc-pack-
2012-beta-program.aspx
「HPC Pack 2012 Beta を試すには?」
http://blogs.technet.com/b/ksasaki/archive/2012/09/13/hpc-pack-2012-beta-microsoft-
connect.aspx
52. 関連情報
“Hypervisor Top-Level Functional Specification 2.0A: Windows Server 2008 R2”
https://www.microsoft.com/en-us/download/details.aspx?id=18673
“VHDX Format Specification v1.00”
http://www.microsoft.com/en-us/download/details.aspx?id=34750
“Application Compatibility and API Support for SMB 3.0, CSVFS, and ReFS”
http://www.microsoft.com/en-us/download/details.aspx?id=29043
“Coreinfo v3.2”
http://technet.microsoft.com/en-us/sysinternals/cc835722.aspx
“DBサーバー統合におけるNUMA対応IAサーバーの性能評価 - IBM”
http://www-06.ibm.com/ibm/jp/provision/no42/pdf/42_ppr3.pdf
“Hyper-V Performance Counters - Part five of many - "Hyper-VM VM Vid Numa Node"”
http://blogs.msdn.com/b/tvoellm/archive/2008/09/29/hyper-v-performance-counters-part-five-of-
many-hyper-vm-vm-vid-numa-node.aspx