windows azure の中でも動いている infiniband って何?

51
Windows Azure の中でも 動いている InfiniBand って何? Japan Windows Azure User Group Microsoft MVP for Windows Azure 冨田 http://twitter.com/harutama

Upload: sunao-tomita

Post on 16-Jan-2015

2.882 views

Category:

Technology


4 download

DESCRIPTION

2014年3月22日 MVP Community Camp 2014 「Windows Azure の中でも動いている InfiniBand って何?」 セッションスライド

TRANSCRIPT

Page 1: Windows Azure の中でも動いている InfiniBand って何?

Windows Azure の中でも動いている InfiniBand って何?

Japan Windows Azure User Group

Microsoft MVP for Windows Azure

冨田 順

http://twitter.com/harutama

Page 2: Windows Azure の中でも動いている InfiniBand って何?

自己紹介

@harutama

Page 3: Windows Azure の中でも動いている InfiniBand って何?

Microsoft MVP forWindows Azure な人です

Page 4: Windows Azure の中でも動いている InfiniBand って何?

InfiniBand(いんふぃにばんど)

Page 5: Windows Azure の中でも動いている InfiniBand って何?

InfiniBand って?

速いネットワークです。すごく速いネットワークです。それだけ覚えて帰ってください。

Page 6: Windows Azure の中でも動いている InfiniBand って何?

InfiniBand の速度• InfiniBand は全二重シリアル通信

– データレート• 基準に対して何倍速でデータを送受信するか?

Single → Double → Quad → Fourteen → Enhanced

– レーン数• 何本の線を束ねて通信するか?

1本 → 4本 → 12本 → …

データレート

SDR DDR QDR FDR EDR

レーン数

1X 2.5 Gbit/s 5 Gbit/s 10 Gbit/s 14 Gbit/s 26 Gbit/s

4X 10 Gbit/s 20 Gbit/s 40 Gbit/s 56 Gbit/s 104 Gbit/s

12X 30 Gbit/s 60 Gbit/s 120 Gbit/s 168 Gbit/s 312 Gbit/s

現在普通に入手できるライン

Page 7: Windows Azure の中でも動いている InfiniBand って何?

InfiniBand のレイテンシ

• スイッチング

– QDR(40Gb/s)スイッチ 100nsec

– FDR(56Gb/s)スイッチ 170nsec

• RDMA 命令

– 1μsec 以下 = 1000nsec

• ちなみにですが

– DDR3 SDRAM 0.1μ secくらい=100nsec

Page 8: Windows Azure の中でも動いている InfiniBand って何?

Azure 内の InfiniBand では

Page 9: Windows Azure の中でも動いている InfiniBand って何?

InfiniBand のロードマップ

http://www.infinibandta.org/content/pages.php?pg=technology_overview

Page 10: Windows Azure の中でも動いている InfiniBand って何?

InfiniBandアダプタのシェア

http://itbrandpulse.com/research/brand-leader-program/194-infiniband-adapters-2013

Page 11: Windows Azure の中でも動いている InfiniBand って何?

InfiniBandスイッチのシェア

http://itbrandpulse.com/images/stories/Doc_Overview_InfiniBand_Switches_2013.png

Page 12: Windows Azure の中でも動いている InfiniBand って何?

Mellanox って何?

• InfiniBand のリーディングカンパニー

– 10G・40G・100G のイーサネットもやっているハイスピードネットワークの会社。

• 1999年に設立

– 本社は米国とイスラエル

• 細かい話はここで– http://www.mellanox.com/related-docs/

company/Corporate_Fact_Sheet.pdf

Page 13: Windows Azure の中でも動いている InfiniBand って何?

何に使ってるの?

Page 14: Windows Azure の中でも動いている InfiniBand って何?

こんな所でも InfiniBand

Page 15: Windows Azure の中でも動いている InfiniBand って何?

InfiniBand ネットワークを構築してみる

Page 16: Windows Azure の中でも動いている InfiniBand って何?

InfiniBand の機材InfiniBand HCA

Mellanox MCX353A-QCBTQDR(40Gbps)対応

InfiniBand スイッチMellanox IS5022

Page 17: Windows Azure の中でも動いている InfiniBand って何?

QSFP ケーブル

QSFP ケーブルMellanox MC2206130

取手を引かないと、機器からコネクタが外れない設計。ケーブルは硬くて重いので、取り回しが大変。

Page 18: Windows Azure の中でも動いている InfiniBand って何?

でもお高いんでしょう?

合計453,362円(ぷらっとほーむ価格)

Page 19: Windows Azure の中でも動いている InfiniBand って何?

今回作った全体構成

Windows Server 2012 Windows Server 2012

Eth1 Eth2 Eth

InfiniBand

InfiniBandスイッチ

OpenSM

1TB×2RAID1

1TB×2RAID1

500GB×4

Ethernetスイッチ

InfiniBand

ioDrive735GB

インターネット

Page 20: Windows Azure の中でも動いている InfiniBand って何?

サブネットマネージャー

• 通称「SM」と書かれている。• サブネット内にある物理的な InfiniBand の状態

を検出して、最適な経路を監視する。• どこで動作していても構わないが、最低限どこか

で1つの SM が動作している必要がある。– マシンのサービスとして動作

• OpenSM を使うのが一般的。

– スイッチで動作• 「マネージドスイッチ」は SM が動作可能なInfiniBandス

イッチのことを指す。• 「アンマネージドスイッチ」の表記や、特に記載が無ければ、

SM の機能は入っていない。

Page 21: Windows Azure の中でも動いている InfiniBand って何?

Windowsからの見え方

Page 22: Windows Azure の中でも動いている InfiniBand って何?

_人人人人人人_> 32.0Gbps < ̄Y^Y^Y^Y^Y ̄

・・・あれっ?

Page 23: Windows Azure の中でも動いている InfiniBand って何?

8Gbpsはどこに行った?

• 8b/10b 変換がかかるので、40Gbps × (8 / 10) = 32Gbps になる。

生のシリアル・データは、LowやHighの状態が長期間、或いは不定期に渡って続く可能性があるため、そこからクロックを取り出す事が出来ない。

8b/10bでは、どのようなデータであっても、Low又はHigh状態の期間が3クロック以下になるように変換を行う。これによって、帯域の20%をロスする代わりに、データとクロックを同じ配線で同時に送受信する事が可能になる。

現在のシリアル転送方式の主流であり、イーサネット、ファイバーチャネル、IEEE 1394、PCI Express 2.0、Serial ATA、USB 3.0などがこの方式を採っている。PCI Express 3.0では128b/130bが採用されている。

http://ja.wikipedia.org/wiki/8b/10b

Page 24: Windows Azure の中でも動いている InfiniBand って何?

電気信号だとこんな感じ

http://monoist.atmarkit.co.jp/mn/articles/1007/15/news102.html

Page 25: Windows Azure の中でも動いている InfiniBand って何?

変換の違い

• SDR DDR QDRまで

– 8b/10b変換 = 実効レート 80% 40Gb/s → 32Gb/s (QDRの場合)

• FDR以降

– 64b/66b = 実効レート 97% 56Gbps → 54.3Gb/s (FDRの場合)

Page 26: Windows Azure の中でも動いている InfiniBand って何?

ちなみにFDR一式のお値段

Page 27: Windows Azure の中でも動いている InfiniBand って何?

どれだけ速いか試してみる

Page 28: Windows Azure の中でも動いている InfiniBand って何?

SQLIOSim を用いたテスト

• SQLIOSim

– SQL Server に標準添付されるストレージ I/O のストレステストツールC:¥Program Files¥Microsoft SQL Server¥MSSQL11.MSSQLSERVER¥MSSQL¥Binn¥SQLIOSIM.EXE

– SQL クエリーを実行するのではなく、I/O のパターンをシミュレートすることにより、ストレージに対してストレスを与える

• RandomUserOLTP 向けの I/O パターン(読み取り/書き込みのトランザクションミックス)

• AuditUserDBCC アクティビティ

• ReadAheadUser先行読み取り

• BulkUpdateUser一括操作 (BULK INSERT)

Page 29: Windows Azure の中でも動いている InfiniBand って何?

SQLIOSim ベンチマーク

Windows Server 2012 Windows Server 2012

Eth1 Eth2 Eth

InfiniBand

InfiniBandスイッチ

OpenSM

1TB×2RAID1

1TB×2RAID1

500GB×4

Ethernetスイッチ

SQLIOSim

InfiniBand

ioDrive735GB

Page 30: Windows Azure の中でも動いている InfiniBand って何?

SQLIOSim による結果• 1GbEtherはネットワーク速度のボトルネックが非常に大き

いが、InfiniBandではネットワークの影響が非常に小さい。– 「ローカル」は ioDrive がインストールされたマシン内で

SQLIOSim を実行した結果。

– 「Total IO Time (ms)」の数字を比較。

0

10000

20000

30000

40000

50000

1GBEther InfiniBand ローカル

47473

380 28

ストレージへのI/O時間(分)

Page 31: Windows Azure の中でも動いている InfiniBand って何?

SMB ダイレクト• Windows Server 2012 から導入された新機能。

– 正確にはSMB 3.0 から導入された機能。

• Windows のネットワークファイル共有(SMB)を高速化

– RDMA(Remote Direct Memory Access)に対応した機器を用いた場合、サーバーとクライアントのメモリの内容を直接読み書きすることで高速なファイル転送を行う。

• 主な用途

– ファイル共有

– 仮想マシンのマイグレーション

– データベース

Page 32: Windows Azure の中でも動いている InfiniBand って何?

SMB ダイレクトによるファイルコピー

Windows Server 2012 Windows Server 2012

Eth1 Eth2 Eth

InfiniBand

InfiniBandスイッチ

OpenSM

1TB×2RAID1

1TB×2RAID1

500GB×4

InfiniBand

ioDrive735GB

キャッシュ

• ioDrive 上のファイル(約35GBytes)をネットワーク経由でローカルにコピーする。– 実際にはディスクキャッシュが有効になるため、HDDよりも高速に

コピーが進行する。

Page 33: Windows Azure の中でも動いている InfiniBand って何?

結果

Page 34: Windows Azure の中でも動いている InfiniBand って何?

Windows Azure の中のInfiniBand

Page 35: Windows Azure の中でも動いている InfiniBand って何?

TOP500 の話をしましょう

http://ja.wikipedia.org/wiki/TOP500

TOP500は、世界で最も高速なコンピュータシステムの上位500位までを定期的にランク付けし、評価するプロジェクトである。

Page 36: Windows Azure の中でも動いている InfiniBand って何?

2012年11月

http://blogs.msdn.com/b/bluesky/archive/2012/11/14/windows-azure-certified-as-top-500-supercomputers.aspx

Page 37: Windows Azure の中でも動いている InfiniBand って何?

Windows Azure の順位

http://www.top500.org/site/50454

309位

※2013年11月のランキングです

Page 38: Windows Azure の中でも動いている InfiniBand って何?

AWS の順位

http://www.top500.org/site/50321

64位

※2013年11月のランキングです

Page 39: Windows Azure の中でも動いている InfiniBand って何?

ベンチマークの見方

• Rpeak:理論ピーク値

– ある計算機の理論的な処理性能

• Rmax:実効性能値

– ある計算機で実際に測定された処理性能

• 並列化効率

– 理論値に対して実際どのくらいの性能が出たか?

理論ピーク値Rpeak

実効性能値Rmax

並列化効率Rmax / Rpeak

コア数

AWS 593,510 484,179 81.6% 26,496

Azure 167,731 151,300 90.2% 8,064

Page 40: Windows Azure の中でも動いている InfiniBand って何?

_人人人人_> 90.2% < ̄Y^Y^Y^Y ̄

こんな数字、なかなか達成できないんですよ。

Page 41: Windows Azure の中でも動いている InfiniBand って何?

速い順に並列化効率を見ると…

順位 名前 場所 Rmax Rpeak 並列化効率

1 Tianhe-2 (MilkyWay-2) 中国 33,862,700 54,902,400 61.7%

2 Titan アメリカ 17,590,000 27,112,550 64.9%

3 Sequoia アメリカ 17,173,224 20,132,659 85.3%

4 K computer 日本 10,510,000 11,280,384 93.2%

5 Mira アメリカ 8,586,612 10,066,330 85.3%

やっぱり「京コンピュータ」はいろいろおかしい

※2013年11月のランキングです

Page 42: Windows Azure の中でも動いている InfiniBand って何?

TOP500 に乗ったシステムが使っているネットワーク

http://www.top500.org/statistics/list/

※2013年11月のランキングです

Page 43: Windows Azure の中でも動いている InfiniBand って何?

ヽ(*´∀`)八(´∀`*)ノ

http://blogs.msdn.com/b/bluesky/archive/2014/01/31/windows-azure-cloud-service-a7-a8-instance-with-infiniband-and-rdma-available.aspx

Page 44: Windows Azure の中でも動いている InfiniBand って何?

https://twitter.com/Claudia_Azure/status/383202915470823424

Page 45: Windows Azure の中でも動いている InfiniBand って何?

今すぐ使えます!

http://www.windowsazure.com/en-us/pricing/details/cloud-services/

Page 46: Windows Azure の中でも動いている InfiniBand って何?

冨田 順 (@harutama)http://twitter.com/harutama

Page 47: Windows Azure の中でも動いている InfiniBand って何?

参考文献

Page 48: Windows Azure の中でも動いている InfiniBand って何?

もう一度基本から

• Infiniband入門

– http://www.viops.jp/ibday02-BASIC-xsigo.pdf

Page 49: Windows Azure の中でも動いている InfiniBand って何?

もう少し詳しい基礎

• Oracle InfiniBand 勉強会

– http://www.oracle.com/technetwork/jp/ondemand/branch/20131009-infiniband-2043671-ja.pdf

• InfiniBandを中心としたデータセンタ内インタコネクトの動向

– http://www.slideshare.net/oraccha/infiniband-5857816

Page 50: Windows Azure の中でも動いている InfiniBand って何?

HPC関連

• Windows Azure Benchmarks Show Top Performance for Big Compute– http://blogs.msdn.com/b/windowsazure/arc

hive/2012/11/13/windows-azure-benchmarks-show-top-performance-for-big-compute.aspx

• New High Performance Capabilities for Windows Azure– http://blogs.technet.com/b/windowshpc/arc

hive/2014/01/30/new-high-performance-capabilities-for-windows-azure.aspx

Page 51: Windows Azure の中でも動いている InfiniBand って何?

実践編

• ビジネス向けIBネットワークを考える~HPCクラスタでの経験を踏まえて~

– http://www.slideshare.net/naotomatsumoto/ib-hpc