Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
テスト用スライド
Effective Hyper-V  久しぶりエディション      2012 年 12 月 1 日    佐々木邦暢 (@ksasakims)   日本マイクロソフト株式会社
佐々木と申します (@ksasakims)
そもそも NUMA とは
Non-UniformMemory Access
SMP (対称型マルチ プロセッシング)                           一つのメモリ コントローラが、全ての                            プロセッサとメモリを接続している。コア    コア   ...
プロセッサが増えるとメモリへの経路がネックにコア   コア   コア     コア   コア    コア   コア   コアコア   コア   コア     コア   コア    コア   コア   コア プロセッサ    プロセッサ     ...
しかし考えてみてほしい たくさんあるプロセスのそれぞれが、広大なメモリ空間の大部分を  なめるようにアクセスすることは稀です。 よく使うデータが手の届く範囲にあれば、結構間に合うものです。 「参照の局所性」というやつです。
そんなわけで最近はこんな感じになってます  NUMA ノード             NUMA ノード  メ                         メ  モ                         モ  リ    コア    ...
そんなわけで最近はこんな感じになってます  NUMA ノード             NUMA ノード  メ                         メ  モ                         モ  リ    コア    ...
Logical to Physical Processor Map:**---------------------- Physical    Processor   0 (Hyperthreaded)--**------------------...
Hyper-V と NUMA – 2008 R2 まで 例えば VM 配置時に NUMA ノードを考慮。 できるだけ、NUMA ノードをまたがない  ように VM のメモリを確保する。                            ...
ノードをまたいで なにが悪い
Windows Server 2008 R2 までの Hyper-V では 物理マシン             仮想マシンNUMA ノード 0        NUMA ノード 0     Windows や SQL Server のような   ...
これが Windows Server 2012 になると 物理マシン             仮想マシンNUMA ノード 0        NUMA ノード 0    「NUMA ノードまたぎ」を                        ...
ゲストの NUMA トポロジはホストと別でもOK“Coreinfo v3.2”http://technet.microsoft.com/en-us/sysinternals/cc835722.aspx
[悲報] Dynamic Memory と NUMA                         Dynamic Memory を無効化                        VP 数を 4 に、ノードあたりの           ...
NUMA 関連 PowerShell コマンドレット              Set-VMProcessor              -MaximumCountPerNumaNode              Set-VMMemory   ...
30 秒で復習する Dynamic Memory           控えめな               メモリを追加                   メモリ足りない!                          余れば回収    ...
で、スマートページングとは? 一言で表すと「メモリが足りない時にディスクで補う」仕組みで  す。
それって「ホストページング」  じゃないの?
ホストページングしないって言ってたじゃん KVM でも ESX でも、  「最後の手段」としてい  る。 Hyper-V では、ホスト  ページングを避けるべく、  Dynamic Memory を設計し  たのではなかったか?
「最後の手段」なので  積極的には 利用しませんが
2012 で追加された「最小 RAM 」の設定
最小 RAM 設定とスマートページングは密接に関連しています
「最小 RAM」設定の働き          起動時にはある程度の    落ち着いてくると   「最小RAM」を          メモリを必要とするが   メモリ使用量は減る   下限として縮退最大 RAMスタートアップ  RAM      ...
しかし、困ったことが一つ          仮想マシン 1   仮想マシン 2   仮想マシン 3   …   仮想マシン n最大 RAMスタートアップ  RAM            節約        節約        節約       ...
「スタートアップ RAM」  を確保できない   起動失敗!
スマートページングは     「超満員状態」での   再起動を助けるための機能 つまり、本当の「最後の救済手段」です。  日常的に利用することを想定した機能ではありません。 仮想マシンの起動時にだけ働きます。  起動後10分程度しか働き...
1分で復習!
前史時代のクラスタ (Windows Server 2008まで)      VM1                  VM2                VM3                VM4    Hyper-V          ...
CSV でこうなった  VM1             VM2                VM3        VM4Hyper-V         Hyper-V            Hyper-V    Hyper-V 1号機    ...
ライブ マイグレーション  VM1              VM2                VM3        VM4Hyper-V          Hyper-V            Hyper-V    Hyper-V 1号機...
「Hyper-V 専用のちょっと特殊な機能」でした
2012 では WSFC の標 準機能になりました
かなりあちこち改良されています
Windows Server 2008 R2 CSV の問題点 Windows Server 2008 R2 の CSV は「CSV であることがわかりづらい」のが欠点。 例えば、マウントポイントであるC:CluserStorage フォル...
Windows Server 2012 CSV での改良 2012では、 C:CluserStorage フォルダの下に、ジャンクションが見えています。 これは、「通常のボリュームをマウントした」のと同じ状態。 “Volume1”などのマ...
CSV プロキシ ファイルシステム - “CSVFS”           Windows Server 2008 R2 の CSV は、            普通の NTFS ボリュームにしか見えませ            ん。     ...
CSV とキャッシュ Windows Server 2008 R2 の CSV では、  「ダイレクト I/O」の際にフィルタドライバが  いろんなものをスキップしてディスクに直接  アクセスしてしまいます。 そのため、せっかく Windo...
CSV ブロック キャッシング – 2 種類 通常のバッファリングされる I/O は、NTFSと同様に Windows のキャッシュマネージャによっ  てキャッシュされるようになりました。 こちらはバッファ無し I/O の場合に有効なリード...
CSV と Active Directory これは CSV だけの話ではなく WSFC 全体の話ですが、ドメインコントローラーでの認証を  行わずとも、クラスターの形成やフェールオーバーができるようになっています。 そのため、”CLIUS...
HPC on Windows Azure   TOP500 にランクイン
サマリー スパコンイベント “SC12” で 2012 年 11 月版発表 (年 2 回発表) Windows Azure は 151.3 TFLOPS (効率 90.2%) で 165 位 (全 500 システム中) 16 コア (Xe...
最新の HPC Azure 環境 通常の Windows Azure コンピュートサービスと同様の仮想環境です。  ゲスト OS は最新の Windows Server 2012 です。 HPC Pack も最新の HPC Pack 201...
関連情報: Windows Azure と HPC 機能紹介、開発者向け情報、無料評価版の申し込み等すべてここにあります  http://www.windowsazure.com/ja-jp/ Windows Azure 管理ポータルサイト...
関連情報 “Hypervisor Top-Level Functional Specification 2.0A: Windows Server 2008 R2”  https://www.microsoft.com/en-us/downlo...
Effective Hyper-V - 久しぶりエディション
Effective Hyper-V - 久しぶりエディション
Effective Hyper-V - 久しぶりエディション
Effective Hyper-V - 久しぶりエディション
Effective Hyper-V - 久しぶりエディション
Effective Hyper-V - 久しぶりエディション
Upcoming SlideShare
Loading in …5
×

Effective Hyper-V - 久しぶりエディション

3,523 views

Published on

2012年12月1日の"System Center User Group Japan 第5回勉強会 (http://atnd.org/events/33503)"で使用した資料です。
Hyper-V 2012 におけるNUMAの扱いやCSV (Cluster Shared Volumes) の改良点を説明したものです。

Published in: Technology
  • Be the first to comment

Effective Hyper-V - 久しぶりエディション

  1. 1. テスト用スライド
  2. 2. Effective Hyper-V 久しぶりエディション 2012 年 12 月 1 日 佐々木邦暢 (@ksasakims) 日本マイクロソフト株式会社
  3. 3. 佐々木と申します (@ksasakims)
  4. 4. そもそも NUMA とは
  5. 5. Non-UniformMemory Access
  6. 6. SMP (対称型マルチ プロセッシング)  一つのメモリ コントローラが、全ての プロセッサとメモリを接続している。コア コア コア コア  どのプロセッサも、メモリ全体に同じ 速度でアクセスできる。 プロセッサ プロセッサ チップセット (メモリ コントローラー)
  7. 7. プロセッサが増えるとメモリへの経路がネックにコア コア コア コア コア コア コア コアコア コア コア コア コア コア コア コア プロセッサ プロセッサ プロセッサ プロセッサ チップセット (メモリ コントローラー) みんなが通るから狭いよ!
  8. 8. しかし考えてみてほしい たくさんあるプロセスのそれぞれが、広大なメモリ空間の大部分を なめるようにアクセスすることは稀です。 よく使うデータが手の届く範囲にあれば、結構間に合うものです。 「参照の局所性」というやつです。
  9. 9. そんなわけで最近はこんな感じになってます NUMA ノード NUMA ノード メ メ モ モ リ コア コア コア コア リ コ コ ン ン ト ト ロ コア コア コア コア ロ ー ー ラ ラ ー ー コア コア コア コア プロセッサ プロセッサ
  10. 10. そんなわけで最近はこんな感じになってます NUMA ノード NUMA ノード メ メ モ モ リ コア コア コア コア リ コ コ ン ン ト ト ロ コア コア コア コア ロ ー ー ラ ラ ー ー コア コア コア コア プロセッサ プロセッサ
  11. 11. 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 1Logical Processor to NUMA Node Map:************------------ NUMA Node 0------------************ NUMA Node 1Calculating Cross-NUMA Node Access Cost...Approximate Cross-NUMA Node Access Cost (relative to fastest): 00 0100: 1.0 1.301: 1.5 1.2
  12. 12. Hyper-V と NUMA – 2008 R2 まで 例えば VM 配置時に NUMA ノードを考慮。 できるだけ、NUMA ノードをまたがない ように VM のメモリを確保する。  単一の NUMA ノード内でメモリを確保できなかった 場合は、ノードをまたいでメモリを確保する。  メモリに空きがあれば、 NUMA ノードの大きさを超 える「大きな VM」も配置できることになる。 Hyper-V の全体設定項目 「NUMA ノードにまたがるメモリ割り当て」 (右図)の設定によって挙動が変わる。  NUMA ノードをまたぐメモリ割り当ては行わない。  「システム全体でみればメモリが空いているように 見えるが、 VM を起動できない」ことがあり得る。
  13. 13. ノードをまたいで なにが悪い
  14. 14. Windows Server 2008 R2 までの Hyper-V では 物理マシン 仮想マシンNUMA ノード 0 NUMA ノード 0 Windows や SQL Server のような “NUMA-aware” ソフトウェアが その能力を発揮できない。メモリ コア メモリ コア VM リモート メモリもローカルでNUMA ノード 1 作成 あるように見えてしまう。 「NUMA ノードをまたいだ コア コア VM配置はできるだけ避けるべき」メモリ メモリ ということになる。
  15. 15. これが Windows Server 2012 になると 物理マシン 仮想マシンNUMA ノード 0 NUMA ノード 0 「NUMA ノードまたぎ」を 過度に避ける必要はありません。 それゆえ、デフォルトでメモリ コア メモリ コア ON になっています。 VMNUMA ノード 1 作成 NUMA ノード 1メモリ コア メモリ コア
  16. 16. ゲストの NUMA トポロジはホストと別でもOK“Coreinfo v3.2”http://technet.microsoft.com/en-us/sysinternals/cc835722.aspx
  17. 17. [悲報] Dynamic Memory と NUMA Dynamic Memory を無効化 VP 数を 4 に、ノードあたりの VP 数を 1 に設定 NUMA ノードが確かに 4 つある Dynamic Memory を有効化 NUMA ノードが 1 つになってしまう!
  18. 18. NUMA 関連 PowerShell コマンドレット Set-VMProcessor -MaximumCountPerNumaNode Set-VMMemory -MaximumAmountPerNumaNodeBytes Set-VMProcessor -MaximumCountPerNumaSocket
  19. 19. 30 秒で復習する Dynamic Memory 控えめな メモリを追加 メモリ足りない! 余れば回収 メモリで起動 (Hot-Add)最大 RAM 空き 追加 回収スタートアップ RAM 空き 空き 空き 使用中 使用中 使用中 使用中 メモリ空間 メモリ空間 メモリ空間 メモリ空間 仮想マシン 仮想マシン 仮想マシン 仮想マシン
  20. 20. で、スマートページングとは? 一言で表すと「メモリが足りない時にディスクで補う」仕組みで す。
  21. 21. それって「ホストページング」 じゃないの?
  22. 22. ホストページングしないって言ってたじゃん KVM でも ESX でも、 「最後の手段」としてい る。 Hyper-V では、ホスト ページングを避けるべく、 Dynamic Memory を設計し たのではなかったか?
  23. 23. 「最後の手段」なので 積極的には 利用しませんが
  24. 24. 2012 で追加された「最小 RAM 」の設定
  25. 25. 最小 RAM 設定とスマートページングは密接に関連しています
  26. 26. 「最小 RAM」設定の働き 起動時にはある程度の 落ち着いてくると 「最小RAM」を メモリを必要とするが メモリ使用量は減る 下限として縮退最大 RAMスタートアップ RAM 空き この分節約できた! 空き最小 RAM 空き 使用中 使用中 使用中 メモリ空間 メモリ空間 メモリ空間 仮想マシン 仮想マシン 仮想マシン
  27. 27. しかし、困ったことが一つ 仮想マシン 1 仮想マシン 2 仮想マシン 3 … 仮想マシン n最大 RAMスタートアップ RAM 節約 節約 節約 節約最小 RAM 空き 空き 空き 空き 使用中 使用中 使用中 使用中 メモリ空間 メモリ空間 メモリ空間 メモリ空間
  28. 28. 「スタートアップ RAM」 を確保できない 起動失敗!
  29. 29. スマートページングは 「超満員状態」での 再起動を助けるための機能 つまり、本当の「最後の救済手段」です。  日常的に利用することを想定した機能ではありません。 仮想マシンの起動時にだけ働きます。  起動後10分程度しか働きません。  起動直後のメモリはスマートページン グに助けてもらう。  その後はどうなる?  落ち着いて余裕ができたらまた最小 RAMまで縮退し、スマートページン グから卒業する。
  30. 30. 1分で復習!
  31. 31. 前史時代のクラスタ (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)
  32. 32. CSV でこうなった VM1 VM2 VM3 VM4Hyper-V Hyper-V Hyper-V Hyper-V 1号機 2号機 3号機 4号機 全ノードから同時かつ直接にアクセス可能 VM1 VM2 VM3 VM4 LUN1 SANストレージ (Fibre Channel or iSCSI)
  33. 33. ライブ マイグレーション VM1 VM2 VM3 VM4Hyper-V Hyper-V Hyper-V Hyper-V 1号機 2号機 3号機 4号機 全ノードから同時かつ直接にアクセス可能 VM1 VM2 VM3 VM4 LUN1 SANストレージ (Fibre Channel or iSCSI)
  34. 34. 「Hyper-V 専用のちょっと特殊な機能」でした
  35. 35. 2012 では WSFC の標 準機能になりました
  36. 36. かなりあちこち改良されています
  37. 37. Windows Server 2008 R2 CSV の問題点 Windows Server 2008 R2 の CSV は「CSV であることがわかりづらい」のが欠点。 例えば、マウントポイントであるC:CluserStorage フォルダを見てみると、  普通のフォルダにしか見えませんが、 実は特殊なリパースポイントなんです。  普通、ボリュームのマウントポイントは「ジャンクション」として見えるはず…
  38. 38. Windows Server 2012 CSV での改良 2012では、 C:CluserStorage フォルダの下に、ジャンクションが見えています。 これは、「通常のボリュームをマウントした」のと同じ状態。 “Volume1”などのマウントポイントの名前を変えることも普通にできます。  以前の CSV では通常の方法でマウントしていなかったので、名前も変えられませんでし た。
  39. 39. CSV プロキシ ファイルシステム - “CSVFS”  Windows Server 2008 R2 の CSV は、 普通の NTFS ボリュームにしか見えませ ん。  Windows Server 2012 では、“CSVFS” というファイルシステムが見えます。  ボリュームが CSV であることを、人間的に もプログラム的にも容易に判別できます。
  40. 40. CSV とキャッシュ Windows Server 2008 R2 の CSV では、 「ダイレクト I/O」の際にフィルタドライバが いろんなものをスキップしてディスクに直接 アクセスしてしまいます。 そのため、せっかく Windows が持っている キャッシュマネージャの機能も生かされて いませんでした。
  41. 41. CSV ブロック キャッシング – 2 種類 通常のバッファリングされる I/O は、NTFSと同様に Windows のキャッシュマネージャによっ てキャッシュされるようになりました。 こちらはバッファ無し I/O の場合に有効なリードオンリーキャッシュ。 バッファ無し I/O は Windows のキャッシュマネージャがキャッシュしてくれないので、 WSFC が自前でキャッシュ機能を持ちました。 ズバリ具体的には、読み取り専用の VHD から多くの差分ディスクを生成するよう、 VDI のような環境で非常に有効です。
  42. 42. CSV と Active Directory これは CSV だけの話ではなく WSFC 全体の話ですが、ドメインコントローラーでの認証を 行わずとも、クラスターの形成やフェールオーバーができるようになっています。 そのため、”CLIUSR” というローカルユーザーが各ノードに作成されます。 なにせ「ドメインコントローラーも仮想化」される時代なので、Hyper-V ホストは「ドメインコントローラーの存在しない世界」でコールドブートすることを考慮しているのです。
  43. 43. HPC on Windows Azure TOP500 にランクイン
  44. 44. サマリー スパコンイベント “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 を実現 (物理環境と遜色ない低遅延接続)
  45. 45. 最新の 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 のカーネルや仮想環境のハイパーバイザをバイパスし、低遅延かつ 広帯域のノード間通信を実現します。
  46. 46. 関連情報: 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
  47. 47. 関連情報 “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

×