「windows azure でスーパーコンピューティング!」for microsoft mvp camp 2014...
DESCRIPTION
2014年3月にMicrosoft社開催のワールドワイドイベント『Microsoft MVP Camp 2014』大阪会場にてのセッションスライド。 Microsoft Azure 上でHPCするための構築方法と、出来立てのほやほやのニューインスタンス『A8/A9』を使った巨大デモンストレーションを実施。TRANSCRIPT
Windows Azureでスーパーコンピューティング︕
(公開⽤)
Japan Windows Azure User Group
⿊⽥ 幸智
2014年3⽉22⽇MVP CommunityCamp 2014 ⼤阪会場
今⽇のお話は・・・• Windows Azure とHPC• 新しいインスタンスとその基本• 実際にWindowsAzureで、
A8/A9インスタンスを使ってHPCする。
などなど。
2Kurochin's Mind Control
ちょっと⾃⼰紹介⽇本で
「HPC 偽エヴァンジェリスト」といえば
JAZUG 宴会部⻑ くろちん こと⿊⽥ 幸智 でお願いします。
現在、Microsoft MVP 「Windows Azure Administration」として静かに活動中。
・FaceBook は本名の「⿊⽥幸智」です。フォローオッケーです︕
WEBsitehttp://kurodayk.wordpress.com/
3Kurochin's Mind Control 3
コミュニティのご紹介
4
• Japan Windows Azure User Groupの略• Windows Azureを学び、楽しみ、活かす、
⽇本のユーザーグループ• 2010/8/26に結成したコミュニティ3周年を迎えました︕
• ちょっと興味がある=ゆるふわな⽅ から実ビジネスで使うんだよね な⽅まで歓迎職種はなんでもござれ※プログラマ~企画者、デザイナ歓迎
• ゆるふわなコミュニティ
Kurochin's Mind Control
Windows Azureに興味がわいたら︖
• Windows Azure に興味がわいたら︕• JAZに参加してみよう︕
– 対象︓Azureに興味がある⼈– http://www.facebook.com/jazug.jp
300⼈突破︕• Twitterで #jazug タグであれこれ
つぶやくもよし• MSDN Forumで技術的な質問するもよし• 関⻄Azure研究会 というのもあります
– https://www.facebook.com/groups/kansaiazure/
5Kurochin's Mind Control
さて、始めましょう。6Kurochin's Mind Control
Q&Aコーナー
皆さんは、「Windows Azure」って
なんだかお分かりですよね︖
7
Windows Azureは、2010年に正式サービスが開始された
Microsoft社のクラウドサービス
Kurochin's Mind Control
8
リージョン
Kurochin's Mind Control
Azureの主⼒はIaasとPaas
9Kurochin's Mind Control
Q&Aコーナー その2皆さんは、「High Performance Computing」って
なんだかお分かりですよね︖
10
・クレイ、IBM・・・・ブラッディーマンデイ(古)・TSUBAME・スパコン・京(けい)コンピューター ︕
Kurochin's Mind Control
計算科学研究機構(理研)-『京』
• 2011年度世界⼀位• CPU 548,352コア
機構パンフレットより引⽤11Kurochin's Mind Control 11
HPC(High Perfomance Computing)ってなにさ︖
• スーパーコンピュータ(英: supercomputer)は、内部の演算処理速度が
その時代の⼀般的なコンピュータより極めて⾼速なコンピュータのこと。略称はスパコン。
• 膨⼤な計算処理が⽬的であり、それを実現するための⼤規模なハードウェアやソフトウェアを備える。有限要素法や境界要素法などに基づく構造解析、気象予測、分⼦動⼒学、シミュレーション天⽂学、最適化問題、⾦融⼯学のような⼤規模数値解析に基づくシミュレーション等
に利⽤される。
12
実は2006年からMicrosoft製品としてあったんです。
Microsoft HPC server製品群(オンプレ)
Kurochin's Mind Control 12
スーパーコンピューティング環境の推移
13
2014年
2014年2月2012R2版
リリース済み
Windowsでできるスパコンということは・・・
Windows Azureでスパコンが構築できる︕
14
Azure IaaS と HPC Pack の組み合わせ
Kurochin's Mind Control
スパコンイベント “SC12” で 2012 年 11 ⽉版発表 (年2回発表) Windows Azure は 151.3 TFLOPS (効率 90.2%)で165
位(全 500 システム中) 2013 年 6 ⽉版では 241 位
15
【注意︕】これは昨年のお話です︕
公式スコア︕
Kurochin's Mind Control 15
HPC利⽤の条件として• 強⼒なハードウェアが多数必要。
• 複数のCPUを並列で利⽤するためのミドルウェアが必要。
• 並列計算対応したアプリケーション。
16Kurochin's Mind Control
強⼒なハードウェア<⾼性能インスタンス提供開始>
• Windows Azure でHPCに使える⾼性能仮想マシンがリリース
(2014年3⽉現在、北⽶と⻄ヨーロッパのみ)
A8A9
Kurochin's Mind Control 17
DEMO︓並列と⾮並列
18
⾮並列(single プロセス)
Kurochin's Mind Control
DEMO︓並列と⾮並列
19
並列(Multiプロセス)
Kurochin's Mind Control
A8/A9のハードウェアのキモを考えてみる。
20Kurochin's Mind Control
A8/A9インスタンスのキモ• 潤沢なメモリ
• ⾼性能なCPUIntel Xeon E5-2670(2.6GHz)
• NICが2つになった10G-イーサネット40G-infiniband ネットワーク
注意︓10G=10Gbit/sec=1.25GB/sec21
A8A9
Kurochin's Mind Control
CPUについて
22
http://ark.intel.com/ja/products/64595/Intel-Xeon-Processor-E5-2670-20M-Cache-2_60-GHz-8_00-GTs-Intel-QPI?q=E5-2670
2012年4⽉24⽇に第3世代Coreプロセッサーとして製品化が正式発表された。
Kurochin's Mind Control
Intel CPUのジェネレーション
23
http://ja.wikipedia.org/wiki/Sandy_Bridge%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3#.E5.BE.8C.E7.B6.99
Kurochin's Mind Control
Intelアーキテクチャの推移
24Kurochin's Mind Control
2014年3⽉現在2014/03/08時点資料 Intel® Xeon® Processor E5-
2670 (20M Cache, 2.60 GHz)Intel® Xeon® Processor E5-2670 v2 (25M Cache, 2.50 GHz)
Intel® Xeon® Processor E5-2697 v2 (30M Cache, 2.70 GHz)
開発コード名 Sandy Bridge-EP Ivy Bridge EP Ivy Bridge EP Essentials発売⽇ 2012第1四半期 2013第3四半期 2013第3四半期プロセッサー・ナンバー E5-2670 E5-2670V2 E5-2697V2コアの数 8 10 12スレッド数 16 20 24動作周波数 2.6 GHz 2.5 GHz 2.7 GHzターボ・ブースト利⽤時の最⼤周波数 3.3 GHz 3.3 GHz 3.5 GHzキャッシュ 20 MB 25 MB 30 MBバスの種類 QPI QPI QPIシステムバス 8 GT/s 8 GT/s 8 GT/sQPI リンク数 2 2 2命令セット 64-bit 64-bit 64-bit命令セット拡張 AVX Intel® AVX Intel® AVXリソグラフィー 32 nm 22 nm 22 nm最⼤ TDP 115 W 115 W 130 WMemory Specifications最⼤メモリーサイズ (メモリーの種類に依存) 384 GB 768 GB 768 GB
メモリーの種類 DDR3-800/1066/1333/1600 DDR3-800/1066/1333/1600/1866 DDR3-800/1066/1333/1600/1866メモリーチャネル数 4 4 4最⼤メモリー帯域幅 51.2 GB/s 59.7 GB/s 59.7 GB/sExpansion OptionsPCI Express リビジョン 3.0 3.0 3.0PCI Express レーンの最⼤数 40 40 40
25Kurochin's Mind Control
PCI Express性能についてリンク幅毎のデータリンク層転送帯域(双⽅向/⼀⽅向あたり)(GB/sec)
リンク幅 x1 x2 x4 x8 x12 x16 x32PCI Express 1.1(Gen1) 0.5/0.25 1.0/0.5 2.0/1.0 4.0/2.0 6.0/3.0 8.0/4.0 16.0/8.0PCI Express 2.0(Gen2) 1.0/0.5 2.0/1.0 4.0/2.0 8.0/4.0 12.0/6.0 16.0/8.0 32.0/16.
0PCI Express 3.0(Gen3) 2.0/1.0 4.0/2.0 8.0/4.0 16.0/8.0 24.0/12.
032.0/16.0
64.0/32.0
26
http://ja.wikipedia.org/wiki/PCI_Express を引⽤・編集
転送速度規格PCI Express 1.1(Gen1)では、伝送路1レーンあたりの物理レイヤの帯域は⽚⽅向2.5Gbpsで双⽅向では5.0Gbpsであるが、実効データ8ビットを送るのに物理レイヤ上で2ビットの同期制御ビットを加える8b/10bエンコード⽅式を⽤いているため、実効データ転送速度は⽚⽅向250Mbyte/secで双⽅向500Mbyte/secになる。ポートは1レーン、2レーン、4レーン、8レーン、12レーン、16レーン、32レーンなどとあり、x1、x2、x4、x8、x12、x16、x32などと表す。伝送路であるレーンを束ねることでポートのデータ転送速度を向上させることができる。16レーンを束ねたPCI-E 1.1 x16の通信ポートであれば、ポートの実効データ転送速度は⽚⽅向4Gbytes/sec、双⽅向では8Gbyte/secになる。規格PCI Express 2.0 (Gen2) では速度をPCI Express 1.1の2倍に引き上げたので、1レーンあたりの物理帯域は⽚⽅向5.0Gbpsで実効データ転送速度は⽚⽅向500Mbyte/secで双⽅向1Gbyte/secとなった。規格PCI Express 3.0 (Gen3) では1レーンあたりの物理帯域を8Gbps、エンコード⽅式を128b/130bとして転送効率を向上させ、1レーンあたり⽚⽅向1.0Gbyte/secで双⽅向2.0Gbyte/secの実効データ転送速度を得た。PCI Express 3.0の場合にポートは規格上最⼤32レーンまで束ねられるので、1ポートの最⼤の実効データ転送レートは⽚⽅向32Gbyte/sec、双⽅向64Gbyte/secである。エンコードの変更による分かりにくさを回避するため、PCI Express 3.0以降では#物理レイヤの帯域をGbps(ギガビット毎秒)ではなくGT/s(ギガトランスファ毎秒)で表記することが多い。
(補⾜)IBMがパラレル・データにクロックを埋め込んでシリアル・データ化するという8b/10b技術を開発したことにより、シリアル転送が急速に注⽬を集めはじめた。さらにイーサネットでこの⽅式が採⽤され、普及が広まると8b/10b機能を搭載したSERDESチップのコストも急激に低下し、さらにファイバーチャネルやギガビットイーサネット (GbE) の登場により転送速度も急激に⾼速化された。
Kurochin's Mind Control
Infinibandボード(例)
27
最⼤の帯域幅はPCI Express 3.0 x16とFDR InfiniBandの⼆つのポートを通して伝えられ、全CPUコアに渡り⼀貫性のある低レイテンシーとともに100Gb/s以上のスループットに応じることができます。また、Connect-IBを使うことでPCI Express 2.0 x16システムがFDRを充分に活⽤できるようになり、現存のPCIe 2.0ソリューションの少なくとも2倍の帯域幅を実現しています。 (mellanox製品ページより)
Ordering Part Number InfiniBand Ports PCI ExpressMCB191A-FCAT Single FDR 56Gb/s 3.0 x8MCB192A-FCAT Dual FDR 56Gb/s 3.0 x8MCB193A-FCAT Single FDR 56Gb/s 3.0 x16MCB194A-FCAT Dual FDR 56Gb/s 3.0 x16
Kurochin's Mind Control
メモリ規格についてチップ規格 モジュール規
格メモリクロッ
ク バスクロック 転送速度 データ転送速度
データ転送速度 モジュールのデータ転送速度
(MHz) (MHz) (GB/秒) (サイクル) (転送回数) (64ビットデータ=8バイト(B)(1バイト=8ビット))
(MHz) (MT/秒)
DDR3-800 PC3-6400 100 400 6.4 800 800800MHz x 8B = 6,400MB/秒 = 6.4GB/秒
DDR3-1066 PC3-8500 133 533 8.533 1,066 1,0661,066MHz x 8B ≒ 8,533MB/秒 = 8.533GB/秒
DDR3-1333 PC3-10600 166 667 10.667 1,333 1,3331,333MHz x 8B ≒ 10,667MB/秒 = 10.667GB/秒
DDR3-1600 PC3-12800 200 800 12.8 1,600 1,6001,600MHz x 8B = 12,800MB/秒 = 12.8GB/秒
DDR3-1866 PC3-14900 233 933 14.933 1,866 1,8661,866MHz x 8B ≒ 14,933MB/秒 = 14.933GB/秒
DDR3-2133 PC3-17000 266 1066 17.067 2,133 2,1332,133MHz x 8B ≒ 17,067MB/秒 = 17.067GB/秒
DDR3-2400 PC3-19200 300 1200 19.2 2,400 2,4002,400MHz x 8B = 19,200MB/秒 = 19.2GB/秒
DDR3-2666 PC3-21333 333 1333 21.333 2,666 2,6662,666MHz x 8B ≒ 21,333MB/秒 = 21.333GB/秒
28Kurochin's Mind Control
40Gネットワークの実感(TEST中)
• 40G-infinibandの性能を体感するために、40G-イーサネットでファイル転送実験
・Mellanox製 40GbE を使⽤・DELL製 VRTX機 を使⽤
29
※後⽇、わんくまおよびJAZUGなどで報告します。
Kurochin's Mind Control
Azureインスタンスの例(1)
30
【関⻄限定情報】⻄⽇本の単価は、
東⽇本よりお安いんですよ。
Kurochin's Mind Control
Azureインスタンスの例(2)
31Kurochin's Mind Control
Azureインスタンスの例(3)
32Kurochin's Mind Control
WINDOWS AZUREでHPCつくってみる。
33Kurochin's Mind Control
具体的な⼿順は(1)HPCの要となる「Headノード」を
構築する。
34
(2)Windows Azure上にクラウドサービスとして
「計算ノード」を構成する。
(3)できあがり︕
Kurochin's Mind Control
①仮想ネットワークの作成Headノードが「仮想マシン」としてつながるために必要。
Kurochin's Mind Control 35
Kurochin's Mind Control 36
ここは省略可能です。
Kurochin's Mind Control 37
仮想ネットワークの設定
Kurochin's Mind Control 38
Headノード⽤仮想マシン簡易作成の場合
Kurochin's Mind Control 39
ギャラリーから仮想マシン
Kurochin's Mind Control 40
ここは省略可能です。
Kurochin's Mind Control 41
Headノード仮想マシンにリモートデスクトップ接続
Kurochin's Mind Control 42
Kurochin's Mind Control 43
Tips:RDP設定
Kurochin's Mind Control 44
RDPで接続できた
Kurochin's Mind Control 45
当然英語表⽰です。
Kurochin's Mind Control 46
Tips:⽇本語にする
Kurochin's Mind Control 47
再ログイン後、⽇本語になる。
追加で、好みでタイムゾーンを「東京・⼤阪」にする。
Kurochin's Mind Control 48
PowerShell を使って、仮想マシンをドメインコントローラーにする
49Kurochin's Mind Control
(1) PS-ActiveDirectoryDSコンポーネントをロードする。Add-WindowsFeature -name ad-domain-services
–IncludeManagementTools
(2) Install-ADDSForestコマンドレットでドメインコントローラーに構成する。Install-ADDSForest -CreateDnsDelegation:$false -DomainName
“hpc2012r2.local” -DomainNetbiosName “HPC2012R2” -DomainMode“Win2012R2” -ForestMode “Win2012R2” -InstallDns:$true -NoRebootOnCompletion:$false -Force:$true
<構成条件>ドメイン名 : hpc2012.local
ドメインの機能レベル : Windows Server 2012 R2 フォレストの機能レベル : Windows Server 2012 R2
管理者モード PowerShell
Kurochin's Mind Control 50
AD管理者パスワードの要求
⾃動的に進む。再起動後完了。
Kurochin's Mind Control 51
無償のミドルウェア「HPC pack」を実⾏し、Headノードを構築する。
52Kurochin's Mind Control
Microsoft ダウンロードセンターから
「HPC Pack 2012 R2」を⼊⼿。
(できればHeadノード上で)
Kurochin's Mind Control 53
管理者モード PowerShell
Zipファイルを任意の場所に解凍し、
管理者PowerShellで
このコマンドを実⾏(DOSプロンプト可)
Kurochin's Mind Control 54
Kurochin's Mind Control 55
HeadノードがAzureのサービスを制御できるよう、証明書の登録を⾏う。
56Kurochin's Mind Control
<重要>証明書コントロール
HPCHeadNode
Azure Portalクラウドサービス
(計算Node)
Windows Azure計算ノードを構築するためには、Windows Azure「サービス管理API」を呼び出す必要があります。
Windows Azure サービス管理 API では、サービスに対して⾏われた要求が安全であることを保証するために、SSL を介した管理証明書の相互認証が必要です。匿名の要求は許可されません。http://msdn.microsoft.com/ja-jp/library/windowsazure/ee460782.aspx
Kurochin's Mind Control 57
作業は• HPC HeadNodeにPack導⼊後に⾃動⽣成
された公開鍵証明書と、それに対応する秘密鍵を取得。
• Azure管理ポータルの管理証明書欄に公開鍵証明書を登録。
(秘密鍵は絶対外に出しません。)
Kurochin's Mind Control 58
PS C:¥> dir Cert:¥LocalMachine¥My | ?{$_.Subject -match "HPC Azure"} | ft Subject,Thumbprint,HasPrivateKey -AutoSize
PS C:¥> dir Cert:¥LocalMachine¥Root | ?{$_.Subject -match "HPC Azure"} | ft Subject,Thumbprint,HasPrivateKey -AutoSize
公開鍵証明書を表⽰
鍵ペアを表⽰
Kurochin's Mind Control 59
CN=Default Microsoft HPC Azure Management の公開鍵証明書をエクスポート
PS C:¥> Get-Item Cert:¥LocalMachine¥Root¥[Thumbprint] | Export-Certificate -Type CERT –FilePath [ExportFileName.cer]
今回の場合 Thumbprint =820EF576E28702B460B3EDC8AF4A024846686060ExportFileName.cer =d:¥AZHEAD.cer
“cer”はcertificateの意味で、主に⾃⼰証明書(ルート証明書)に使⽤。証明書の内容は直接視可。
“pfx”はマイクロソフトの電⼦証明書の規格。cer形式の電⼦証明書とRC2⽅式で暗号化した秘密鍵がパッケージされたもの。パスワードで保護されている。Kurochin's Mind Control 60
Kurochin's Mind Control 61
クラウドサービスの作成
ストレージアカウントの作成
HPCヘッドからAzureノードコントロールの際に利⽤される
Kurochin's Mind Control 62
Headノードで、初期構成をウィザードに沿って進める。
63Kurochin's Mind Control
Kurochin's Mind Control 64
Kurochin's Mind Control 65
Kurochin's Mind Control 66
Kurochin's Mind Control 67
Kurochin's Mind Control 68
Kurochin's Mind Control 69
<超重要︕>2014年3⽉現在、
Azure上のWin2012R2 OSは、Infinibandの動作が確定していません。
とりあえずWin2012を選択。
Kurochin's Mind Control 70
Kurochin's Mind Control 71
Kurochin's Mind Control 72
<超重要︕>2014年3⽉現在、
Azure上のA8/A9インスタンスは、クラウドサービスとしてしか利⽤できない。
Kurochin's Mind Control 73
テンプレ名は簡単に。必要なノードを⼊⼒。
(ここで⼊⼒した数単位で構成される)
Kurochin's Mind Control 74
後でもまとめて編集できます
75Kurochin's Mind Control
Kurochin's Mind Control 76
Kurochin's Mind Control 77
Kurochin's Mind Control 78
DEMO• Azure上に、
HPC⽤クラウドサービスとして、
A9インスタンスを30個作成します。
Kurochin's Mind Control 79
80 Kurochin's Mind Control
81
みなさんもAzure A8/A9インスタンス
使ってくださいね。(ご利⽤は計画的に)
最後に・・
Kurochin's Mind Control
参考資料• ⽇本マイクロソフト 佐々⽊邦暢⽒ブログ
「More Than One Way」http://blogs.technet.com/b/ksasaki/
• Mellanox http://jp.mellanox.com/
• Windows Azure http://www.windowsazure.com/ja-jp/
82Kurochin's Mind Control