More Related Content Similar to Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR InfinibandでSMB Direct (SMB over RDMA)を試してみた (20) Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR InfinibandでSMB Direct (SMB over RDMA)を試してみた1. Infiniband hack-a-thon #2
Windows Server 2012 + FDR InfinibandでSMB Direct (SMB over RDMA)を試してみた
Windows班まとめ資料 rev1.3
17th Nov 2012
#ibhack
Last Update 04th Feb 2014
2. Windows班アジェンダ
ibhack02(Windows班)概要
Windows班の検証環境
SMB Diriect環境構築の予備知識(1)
SMB Diriect環境構築の予備知識(2)
補足(1)-Intermediate版のファームウェアアッ
プデート1
補足(1)-Intermediate版のファームウェアアッ
プデート2
SMB Diriect環境構築手順(1)
補足(2)-OpenSMの登録と起動
SMB Diriect環境構築手順(2)
SMB Diriect環境構築手順(3)
SMB Diriect環境構築手順(4)
SMB Diriect環境構築手順(5)
SMB Diriect環境構築手順(6)
補足(3)-SmbClientとSmbServerについて
SMB Diriect環境構築手順(7)
SMB Diriect環境構築手順(8)
SMB Diriect環境構築手順(9)
補足(4)-ファイルのドラッグ&ドロップ時の警告
SMB Diriect測定準備(1)
SMB Diriect測定準備(2)
SMB Diriect測定準備(3)
SMB Diriect測定準備(4)
SMB Diriect測定準備(5)
SMB Diriect測定準備(6)
補足(5)-その他の測定ツールについて1
補足(5)-その他の測定ツールについて2
SMB Diriect測定の実施計画
ibhack02当日の測定内容
Ib_read_bwの測定結果
RDMA有効(単一のコピー処理)
RDMA有効(並列のコピー処理)
RDMA無効(単一のコピー処理)
RDMA無効(並列のコピー処理)
ibhack02 SMB Direct測定結果まとめ
反省点や今後同様の測定を行う際の注意
総括
謝辞
おわり
おまけ
3. ibhack02(Windows班)概要
Windows班は、Windows Server 2012を利用し、SMB
Direct(SMB over RDMA)の検証を行った。
RDMA環境が有効であるかを確認し、ダミーファイルの転送とその速度
の確認及びRDMA無効時のダミーファイルの転送とその速度の確認を
行った
当該資料は、Windows Server 2012においてRDMAを利用したSMB
Directが利用可能な環境を構築する上での手順、要点や補足及び
Infiniband Hack-a-thon [02]での作業結果のまとめ。
4. Windows班の検証環境
Windows Server 2012でのSMB Direct環境構築
RDMAを利用したSMB Direct転送を検証するに当たって、2台の
Windows Server 2012にFDR Infinband HCAを搭載、双方を接続。
サーバー側のダミーファイルをクライアント側に転送し、その際の秒間
当たりの転送速度を計測した。
Windows Server
Xeon E5-2690 8Core HT
48GB DDR3
Windows Server 2012
Xeon E5-2690 8Core HT
48GB DDR3
smb direct
Infiniband
Switch
FDR Infiniband
Switch with
Subnet Manager
WinOF
56Gbps
FDR HCA
共有
フォルダ
WinOF
56Gbps
FDR HCA
5. SMB Diriect環境構築の予備知識(1)
RDMA対応のInfiniband HCA(Host Channel Adapter)
– RDMAに対応したHCAは、ConnectX-2及びConnectX-3シリーズでかつファームウェ
アが2.09.8350以上?が条件となり、ConnectXシリーズやInfiniHost IIIシリーズ
は対応しない。
※当初、ファームウェア2.09.1000でRDMAに対応するとの情報だったが、海外等での報告や事前検証
の結果、当該バージョンでは、RDMA対応しない場合があることが判明した。
※HPのMHQH29C-XTR相当の592520-B21、HP提供ファームウェアのバージョン2.09.12000でもNG
だった(2013/03/25追記)
– なお、最新ファームウェアのSTABLEは、2012年11月時点でConnectX-3シリーズが
2.11.XXXXだが、 ConnectX-2シリーズは2.09.1000となっている。そのため、
ConnectX-2でRDMAを有効にするには、STABLE版のファームウェアではなく、
Intermediate版のファームウェアが必要となる場合がある。
– Intermediate版のファームウェアは、直接焼き込める形になっていないため、「補足
(1)-Intermediate版のファームウェアアップデート1及び2」にて手順を示す。
– HCAの型番によるConnectX、X-2、X-3シリーズの見分け方
ConnectXシリーズは、 MHQH29-XXX、MHRH19-XXX等、数字のあとにアルファベッドが付
かない型番
ConnectX-2シリーズは、MHQH19B-XXX、MHQH29C-XXX、MHRH19B-XXX等、数字の後
にBやCが付く型番
ConnectX-3シリーズは、MNX353A-XXXX、 MNX354A-XXXX等になっている型番
6. SMB Diriect環境構築の予備知識(2)
Windows用OFEDドライバ
– Windows Server 2012では、OFED for Windows(WinOF)が標準で組み込まれてい
るため、Infiniband HCAは、挿すだけで認識される。
– ただし、ibstatやvstat等のツール類は提供されていないため、これらは別途、
MellanoxやOFED等からWinOFをダウンロードすることで入手可能となる。
– なお、Windows Server 2012に標準で組み込まれているドライバは古いため、
MellanoxやOFED等から最新のドライバを入手しインストールが推奨。
SMB DirectとMultichannel
– RDMA転送を行うには、RDMA及びMultichannelが共に有効になっている必要がある。
– Windows Server 2012では、RDMA(設定名:NetworkDirect)及びMultichannel(設
定名:EnableMultiChannel)はデフォルトで有効になっている。
8. 補足(1)-Intermediate版のファームウェアアップデート2
Intermediate版のファームウェアのアップデート方法詳細
– アップデート対象となるHCAから製品別iniファイルの作成
1. MFT Software for Windows_x64をダウンロードし、MFT Software for Windows_x64をインストール
(http://www.mellanox.com/content/pages.php?pg=management_tools)
2. Intermediate版のファームウェアをダウンロード
(http://www.mellanox.com/content/pages.php?pg=custom_firmware_table)
※ページをスクロールしていくと「ConnectX-2 IB & VPI adapter cards:」で「2.9.8350」のバージョンが
見つかる
3. OpenSMが起動していることを確認後、次のコマンド( mst start )をコマンドプロンプトで投入
4. さらに次のコマンドを投入( mst status )し、デバイスIDを確認、以後、各種コマンドは、ここで得たデバイスID
を指定して行う
5. さらに次のコマンドを投入( flint -d mt26428_pci_cr0 dc > MHQH29B.OWN.ini )
6. mlxburn -d mt26428_pci_cr0 -fw fw-ConnectX2-rel.mlx -conf MHQH29B.OWN.ini
※コマンドやファイルは全てパスが通っている前提での表記、コマンドパスが通ってない場合は、コマンド及びini
ファイル等はすべてフルパス指定で実行すること。また、デバイスIDも各自の環境のものに読み替えること。
※flintコマンドで吐きだしたiniファイルは、一度メモ帳で開いてUnicodeからANSI形式にして保存しないと、
mlxburnコマンドが読み込めない場合がある(mlxburnでInvalid Syntax対応)。【2013/03/25追記】
基本ファ
ームウェア
製品別
iniファイル
mlxburn
コマンド
flint
コマンド
製品別
iniファイル
デバイスIDが2つ見えるが、両方とも同じ
デバイスを示す、ただデバイスIDの指定に
利用するのは上側を利用するのが推奨
リダイレクトの出力
先は任意のディレ
クトリも指定可能
9. SMB Diriect環境構築手順(1)
1. Windows Server 2012をインストールし、Infiniband HCAを取り付ける。
2. MellanoxのWebサイトからWinOFをダウンロードしインストール。
http://www.mellanox.com/content/pages.php?pg=products_dyn&product_family=32&menu
_section=34#tab-three
インストールウィザードは全て変更することなく終了させる。インストール後、再起動が必要。
3. OpenSMの登録と起動(省略可能) → 詳細は次ページ
HCAを搭載した2台のホストがManagedなInfinbandスイッチ(Subnet Managerが搭載されたス
イッチ)でないもしくは、スイッチレスで接続する場合は、以下の作業を実行するが、ibhack02で
は、FDRのInfiniband Managedスイッチ利用したため、当該作業は割愛。
もし、実施する環境にManagedスイッチがない場合にのみ、次ページを参考に作業を実施する。
4. Infinbandケーブルを各ホストのInfiniband HCAに挿し、スイッチと接続。
スイッチレスの場合、3.の作業を行い、双方のホストを1本Infinbandケーブル直結でも良い。
Infinibandケーブルを差し込む時は、コネクタの上下に注意すること。特にQSFPのコネクタは、
CX-4等のコネクタに比べ、差し込みの向けが分かりづらい。
ケーブルを抜く場合は、ケーブルの部分を手に持って引き抜かないこと、ケーブルが破損します。
ケーブルを抜くとき
は、必ずここを持っ
て引っ張ること!
正常な向きでは、最
後まで押し込むと「カ
チッ」と音がする
11. SMB Diriect環境構築手順(2)
1. Infiniband HCAのIPアドレスを付与
ホストのネットワークアドレス帯とかぶらないネットワークアドレス帯を、それぞれのInfiniband
HCAのInfinbandケーブルを接続したポートに割り当てる。2ポートあるHCAの場合、IPアドレスは
ポートごとに付与可能だが、今回は1ポートのみ使用
NICと異なるネットワーク
アドレス帯のIPを付与、
デフォルトゲートウェイは
入力しないままで良い
13. SMB Diriect環境構築手順(4)
1. RDMA対応のカードとして認識されているか確認
PowerShell(ISEを管理者として実行する)で Get-NetAdapterRDMA と入力しEnableがTrueである
ことを確認する。
2. smbで利用するネットワークカードの状態(RDMA CapableがTrueかどうか)
確認
PowerShell(ISEを管理者として実行する)で以下の2つのコマンドをそれぞれ実行
1. Get-SmbClientNetworkInterface
2. Get-SmbServerNetworkInterface
14. SMB Diriect環境構築手順(5)
1. RDMA転送が有効か(NetworkDirectがEnableかどうか)確認
PowerShell(ISEを管理者として実行する)で Get-NetOffloadGlobalSetting と入力しEnableが
Trueであることを確認する。
2. もしも、RDMA転送が無効になっていたら・・・
PowerShell(ISEを管理者として実行する)で以下のコマンドを実行
1. Set-NetOffloadGlobalSetting -NetworkDirect Enable
※RDMAが有効な状態でファイル転送の速度を測ったあと、RDMAを無効にする際には、上記のコマンド
のEnableをDisableに変更してやる。
15. SMB Diriect環境構築手順(6)
1. Multichannelが有効か(EnableMultichannelがTrueかどうか)確認
RDMAを利用したSMB Directによるファイル転送は、 NetworkDirectとMultichannelがセットで
有効になっていないと機能しない。
PowerShell(ISEを管理者として実行する)で以下の2つのコマンドをそれぞれ実行
1. Get-SmbClientConfiguration | Select EnableMultichannel
2. Get-SmbServerConfiguration | Select EnableMultichannel
2. もしも、Multichannelが無効になっていたら・・・
PowerShell(ISEを管理者として実行する)で以下のコマンドを実行
1. Set-SmbClientConfiguration -EnableMultichannel $true
2. Set-SmbServerConfiguration -EnableMultichannel $true
※ここまで(SMB Diriect環境構築手順(4)~(6))で、いずれかでDisableないしはFalseがあった場合、
HCAに問題がある可能性があるため、Windows Server 2012のRDMAに対応で、かつファームウェ
アのバージョンが2.09.8350以上かどうか、よく確認する
16. 補足(3)-SmbClientとSmbServerについて
SmbClientとSmbServerの関係
– RDMA、SMB Directが可能か否かの確認の中で、何度かGet-SmbClientとGet-SmbServer及びSet-
SmbClientとSet-SmbServerが出てきたが、ファイル転送の方向性で、いずれかがServerになり得、
いずれかがClientにもなり得るため、双方のマシン上で両方のコマンドを入力し、状態を確認した。
Windows Server 2012
(SMB Client)
Windows Server 2012
(SMB Server)
smb
direct
共有
フォルダ
Windows Server 2012
(SMB Server)
Windows Server 2012
(SMB Client)
smb
direct
共有
フォルダ
17. SMB Diriect環境構築手順(7)
1. SMB Directのファイル転送に利用するドライブ(RamDisk)を作成する
今回の検証においては、FDR Infifnband接続で構成したサーバ間のインターコネクト環境において、
Windows Server 2012のRDMAを用いたSMB Directによるファイル転送が最大でどの程度の性能が
出るかを確認するため、ファイル転送元と転送先のストレージにRamDiskを用いた。
これは、想定されるFDR Infinibandの理論値のバンド幅に比べ、ストレージのRead/Writeが確実に
ボトルネックになると考えられたことから SMB Directによる最大転送速度が計測するための対策。
StarWind RAM DiskをStarWindのWebサイト(http://www.starwindsoftware.com/high-performance-ram-
disk-emulator)からダウンロードしインストール(Windows Server 2012やx64環境で動作)。
インストールウィザードで、設定可能な最大メモリ数から数GBをマイナスした数値を入力、ある程度のメモリ空
き容量を保ちつつ、可能な限り大きな容量のRamDiskを作成する。
※FDR Infinibandのバンド幅は56Gbps、理論値で言えば7GB/secとなる。実装や符号化等の影響で実効
レートはもう少し落ちるが、それでも数GB/secのバンド幅の場合、ファイル転送を行った際の挙動を計測、
監視するためには、少なくとも10秒程度はファイル転送が行われ続ける必要があるため、それだけのファイル
配置可能なRamDiskを作成できるだけのメモリを搭載したほうが良い。
※もし、ioDrive 2のような高速ストレージを有し、それらをストライプ等でさらに高速化することで、少なく
とも数GB/secの転送速度をたたき出すストレージがあれば、測定におけるストレージ側のボトルネックを解消
できるため、SMB Diriect環境構築手順(7)及び(8)の作業は必要ない。
Windows Server 2012
(SMB Client)
Windows Server 2012
(SMB Server)
smb
direct
共有
フォルダ
RamDisk上に作成
18. SMB Diriect環境構築手順(8)
1. SMB Directのファイル転送に利用するドライブ(RamDisk)を構成する
RamDiskは、StarWind RAM Diskのインストールウィザードを完了すると自動的に作成されるが、
フォーマットを行いドライブレターが振り出されないと利用できないため、これを行う。
StarWind RAM Diskのインストールウィザードを完了させ、RamDiskのディスク状態をオンラインにすると自動
的にFAT32でフォーマットされマウントされてしまう。そのためダミーデータを作成する際に、2GBを超える
ファイルを作成できない。
今回、Windows班では、いざ測定用のダミーデータを作成する際に、2GB以上のファイルが作れず、いくつかの
ファイル作成方法やツールの検索等で時間をロスした。
RamDiskの状態をオンラインに変更した後、必ずディスクの管理で、RamDiskのファイルシステムをNTFSで
フォーマットし直すこと。
StarWind RAM Diskの
インストールウィザード終了
後、RamDiskが起動した
画面、赤枠線の中が追加
されたRamDisk ディスクの状態がオフラ
インになっているので、
赤枠線内で右クリックし
てディスクの状態をオン
ラインに変更する
オンラインに変更すると自動的に
FAT32でフォーマットされるため、
NTFSでフォーマットし直す
19. SMB Diriect環境構築手順(9)
1. RamDiskを共有する
RamDiskをNTFSで再フォーマットした後、RamDiskを共有する。
1. RamDiskで構成したドライブをExplorer上で右クリックし「共有」をマウスでポイントすると「詳細な共有」が表
示されるのでクリック。
2. RamDiskのプロパティ-共有タブが表示されるので「詳細な共有」を選択する。
3. 詳細な共有ウィンドウが表示されるので「このフォルダーを共有する」にチェックを入れ「共有名」に任意の名称
を入力、その後「アクセス許可」をクリック。
4. 先ほど入力した共有名のアクセス許可ウィンドウが表示されるのでアクセス許可欄の「フルコントロール」に
チェックを入れる
チェックを入れる
チェックを入れる
適当な共有名を入力
21. SMB Diriect測定準備(1)
1. SMB Directのファイル転送に利用するダミーファイルを作成する
Windowsでは、任意のサイズのダミーファイルを作成するに当たって、Linuxのtouchコマンドのよ
うなコマンドがないが、代わりに「ディスクの管理」からVHDファイルを適当なサイズ作成すること
で、ダミーデータとする。
RamDiskのドラ
イブを指定する
測定に応じたファイルサイ
ズを作成する。マルチチャ
ネルに考慮する測定をす
る場合は、数GBのファイル
を複数作るのが良い
容量固定を指定する
ダミーファイルとして作成されたファイルは、
hoge.vhd等になっているが、vhdのままだと何か
の拍子にティスクとしてマウントされてしまうコトがあ
るため、拡張子をアプリケーションに関連づけられ
ていないものに変更しておくと良い。
また、1つファイルを作成したら、後はExplorer上
で、当該ファイルのコピー&ペーストを繰り返すと、
短時間でファイルを作成することができる。
22. SMB Diriect測定準備(2)
1. パフォーマンスモニターの測定項目を選択する
測定するに当たっては、Windows標準のツールや操作時に表示されるGUI等、いくつかの方法で測定
できる。今回は、計測にパフォーマンスモニターを利用する。実際にファイル転送の操作を実施する
際には、ファイルコピーのダイアログが表示され、そちらにリアルタイムでファイル転送速度も表示
されるので併せて参考とする。
マウスカーソルを円付
近の部分にもっていく
と、画面右側に検索
アイコンが表示される
マウスカーソルを円付近の
部分にもっていくと「スター
ト」と書かれたポップアップ
が表示される。
そこで右クリックし、表示さ
れたコンテクストメニューか
ら検索を選択
検索入力ボックスに「ぱ」と入
力すると、自動的に「ぱ」又は
「パ」の付くアプリが検索される
23. SMB Diriect測定準備(3)
1. パフォーマンスモニターの測定項目を選択する
測定するに当たって、多数あるパフォーマンスモニターの項目を選択する。今回は転送速度を見るた
め、Read/sec及びWrite/secのやAvg Read/secやAvg Read/Writeと言った項目のみを選択する。
なお、RDMA有効の場合と無効の場合で項目が異なるため注意。今回は、両方を選択しておく。
1. パフォーマンスモニターが起動したら、左ペインの「パフォーマンス」→「モニター ツール」→「パフォーマンス
モニター」を選択し、画面中央付近のパフォーマンスモニターの表示形式を「レポート」にする
2. の緑の十字ボタンをクリックし、カウンターの追加からSMB Direct Connectionの下向きのアイコンをクリック。
パフォーマンスモニターの表示
形式を変更するには、ここに
マウスでフォーカスを当てて、
Ctrl+gを2回でも変更可能
分類が多数あるの
で、SMB~の分類
が見えるまで、下に
スクロールさせる
赤枠線内をクリックすると、
さらに詳細な測定項目の
一覧が表示される。
24. SMB Diriect測定準備(4)
1. パフォーマンスモニターの測定項目を選択する
SMB Direct ConnectionとSMB Server Sessionから以下の項目を選択する。
1. SMB Direct Connectionから「Bytes RDMA Read/sec」「Bytes RDMA Write/sec」を選択する。なお、選択し
たオブジェクトのインスタンスは、「_Total」、「{IPアドレス:445 -> IPアドレス:ポート}」を2つ選択する。
2. SMB Server Connectionから「Avg. Bytes/Read」と「Avg. Bytes/Write」をそれぞれ選択する。なお、選択し
たオブジェクトのインスタンスは、「_Total」を選択する、
最後に「追加」を忘れずに
IPアドレスは、Infiniband HCA
に付与したIPアドレスで、ポートは
自動で割り当てられる
Multichannelは、RDMA対応
HCAあたり2つなので、2つ表示さ
れている
Server Sessionsの
Read/Writeは、SMB接続
1つのセッション当たりの数値
だと思われる
RDMAを無効にすると、同時
にMultichannelも無効にな
るため、RDMA無効の際の
測定は、当該項目で行う
25. SMB Diriect測定準備(5)
1. 選択されたパフォーマンスモニターの測定項目を確認する
SMB Diriect測定準備(4)までで設定した項目が設定されているか確認する。
特にSMB Direct Connectionにおいて「Bytes RDMA Read/sec」「Bytes RDMA Write/sec」を選択し、項目の追加を
行っても、パフォーマンスモニター上に何も表示されない場合には、RDMAが有効になっていない可能性が高いため、も
う一度、PowerShell上で設定を確認する。
RDMAが有効になっていない(≓Multichannelが有効になっていない)場合は、「_Total」、「{IPアドレス:445 -> IPア
ドレス:ポート}」を2つ選択が、選択したオブジェクトのインスタンスに表示されない。
26. SMB Diriect測定準備(6)
1. 電源オプションを確認し、バランス(推奨)から高パフォーマンスに変更する
測定前に電源オプションを確認する。Windows Server 2012インストール直後、特に電源オプションを変更していない
場合、デフォルトで「バランス(推奨)」になっている。この設定の場合、CPUの各コアがかなり低い周波数で動作する挙
動を示す。
そのため、測定前に電源オプションを「バランス(推奨)」から「高パフォーマンス」に変更する。電源オプションを変更
するとCPUの周波数が切り替えることに注目する。
マウスカーソルを円付近の
部分にもっていくと「スター
ト」と書かれたポップアップ
が表示される。
そこで右クリックし、表示さ
れたコンテクストメニューか
ら電源オプションを選択
最大速度3.30GHzに
対し、現在速度が
1.55GHzになっている
電源オプションを「高パフォーマンス」
に変更
最大速度3.30GHzに対し、現在速度が
3.07GHzと最高周波数近くになっている
27. 補足(5)-その他の測定ツールについて1
パフォーマンスモニター以外にも測定に参考となるツールやGUIがある
– ファイルコピーダイアログ
ファイルコピーダイアログは、おなじみの画面で、Explorer上でファイルのコピーや移動を行った場合に、ダイア
ログウィンドウが表示され、残り時間や進行状況のプログレスバーが表示される。Windows Server 2012では、
残り時間と同時にグラフィカルな秒間の転送速度が表示されるようになった。
– タスクマネージャー
こちらも馴染みが深い画面で、CPUやメモリ、ネットワークの利用率が示される。今回、RDMAを利用したSMB
Direct転送では、CPUオフロードがあるため、CPUの使用率をみたい場合、こちらの視覚的にわかりやすい。また、
RDMAが有効である場合、ファイルにコピー時にネットワークの利用率は僅かにしか変動せず、RDMAを無効にし
た場合に、大きく変化することに注目する際に利用する。
CPUは、全体利用率から
スレッドごとの利用率に表
示を変更することが可能
1件のコピー時のダイアログ、残り時
間と現在の転送速度
(1.65GB/sec)が表示されている
1件のコピーが終わる前に、ドラッグ&
ドロップを繰り返し、コピー処理を並
列で実行した場合のダイアログ、1件
ごとのコピー処理の残り時間や現在
の転送速度(合計2.6GB/sec)が
表示されている
28. 補足(5)-その他の測定ツールについて2
パフォーマンスモニター以外にも測定に参考となるツールやGUIがある
– ioMeter
Windowsで利用できる、IOPSやスループットを測定できるツール。測定時におけるデータサイズ、Read/Writeの
割合、スレッド数、利用するネットワーク等を細かく指定できるため、サイジングの参考に利用される。
– CrystalDiskMark
コンシューマストレージ製品でよく利用されるベンチマークツール。とりあえずSSDやHDDを買ったら回してみる
系のツール。複数同時起動ができるため、複数起動して、同時に実行すると並列コピー処理を再現できる。
IOPS表示(32KB、
R75%/W25%)時
スループット表示(32KB、
R75%/W25%)時
6多重起動、シーケンシャル
時は、RDMA Read/Write
で3GB/sec越え
29. SMB Diriect測定の実施計画
1. SMB Directによるファイル転送の測定実施計画
– 測定の実施は、以下のパターンを実施する
ib_read_bw/ib_write_bwの測定
RDMAが有効な状態での測定
1. SMB Server上の共有ディレクトリからファイルをSMB Clientにコピーする
– 単一処理でファイルをコピーする
– 並列処理でファイルをコピーする
2. SMB Client からSMB Server上の共有ディレクトリへファイルをコピーする
– 単一処理でファイルをコピーする
– 並列処理でファイルをコピーする
RDMAが無効な状態での測定
1. SMB Server上の共有ディレクトリからファイルをSMB Clientにコピーする
– 単一処理でファイルをコピーする
– 並列処理でファイルをコピーする
2. SMB Client からSMB Server上の共有ディレクトリへファイルをコピーする
– 単一処理でファイルをコピーする
– 並列処理でファイルをコピーする
※単一処理と並列処理の違いは以下のとおり。
1つのファイルを1回のドラッグ&ドロップでコピーすると単一処理
4つのファイルを1回のドラッグ&ドロップでコピーすると単一処理
4つのファイルを4回のドラッグ&ドロップでコピーすると並列処理
30. ibhack02当日の測定内容
1. SMB Directによるファイル転送の測定実施計画
– 測定の実施は、以下のパターンを実施する
ib_read_bw/ib_write_bwの測定
RDMAが有効な状態での測定
1. SMB Server上の共有ディレクトリからファイルをSMB Clientにコピーする
– 単一処理でファイルをコピーする
– 並列処理でファイルをコピーする
2. SMB Client からSMB Server上の共有ディレクトリへファイルをコピーする
– 単一処理でファイルをコピーする
– 並列処理でファイルをコピーする
RDMAが無効な状態での測定
1. SMB Server上の共有ディレクトリからファイルをSMB Clientにコピーする
– 単一処理でファイルをコピーする
– 並列処理でファイルをコピーする
2. SMB Client からSMB Server上の共有ディレクトリへファイルをコピーする
– 単一処理でファイルをコピーする
– 並列処理でファイルをコピーする
※単一処理と並列処理の違いは以下のとおり。
1つのファイルを1回のドラッグ&ドロップでコピーすると単一処理
4つのファイルを1回のドラッグ&ドロップでコピーすると単一処理
4つのファイルを4回のドラッグ&ドロップでコピーすると並列処理
36. ibhack02 SMB Direct測定結果まとめ
No RDMA状態 単一/並列 結果(GB/sec) 結果(Gbps) ib_read_bw比較
0 - - - - 5.9GB/sec
1 有効 単一 1.6GB/sec 12.8Gbps 72.9%減
2 無効 単一 1.5.GB/sec 12.0Gbps 74.6%減
3 有効 並列 3.3.GB/sec 26.0Gbps 44.1%減
4 無効 並列 2.4GB/sec 19.2Gbps 59.3%減
結果
– ib_read_bwの結果から想定すると、SMB Directを利用しても最大で、実効レートの56%程度しか利
用できていない(ただし、ibhack02で利用した環境において、システムが利用可能なメモリ容量を大
きく加えた場合、大きく結果が向上する可能性はある)。
– また、今回はRamDiskにて測定を行ったが、実際の利用シーン、SASのRAIDやSSDを併用した階層
構造ストレージ等の利用を考慮すると、さらに数値はストレージ側の転送速度のボトルネックで低下
すると思われ、明らかに帯域に対するストレージ側のボトルネック状態は、依然として変わらないも
のと思われる。
– ただ、今までSMB/CIFSが1つのNICあたり1つのセッションしか張れず、性能が出なかったことを考
えると、RDMA/SMB DirectとMultichannelによる現在値からの性能向上は期待できると考えられる。
37. 反省点や今後同様の測定を行う際の注意
反省点
– 単一処理と並列処理との違いをよく理解していなかった。
– 並列コピー処理の実行は、簡単なDOSバッチやPowerShellスクリプトを作成する必要があるめ、事
前に準備をしておくべきだった。
– ダミーファイル作成に手間取った、当初サードパーティのツールの利用も検討したが、候補だった
GigaFileCreaterは.NET Frameworkが必要だった。
– 測定値をもう少し細かく取得する方法を検討するべきだった。
注意点
– RamDiskにメモリをギリギリまで割り当てて実施したが、後日、コピー処理においてバッファリング
するメモリは足りているのか?との疑問からシステムが利用可能なメモリを増やしたところ、スルー
プットがかなり向上した。
– Windows Server 2012の電源のオプションがデフォルトで「バランス(推奨)」となっており、測定
を開始した直後、RDMA有効状態の単一のコピー処理でパフォーマンスが1.1GB/sec(8.8Gbps)程度
しか出ていなかった。電源オプションで「高パフォーマンス」を選択したところ、スライドにある数
値までパフォーマンスが向上した。
– 参考までにCrystalDiskMarkでも測定を行ったが、CrystalDiskMarkは、パフォーマンスモニターや
CrystalDiskMarkの実行結果の数値から単一のコピー処理での測定結果とほぼ同じになる。
– StarWind RAM Diskは、再起動すると自動でマウントされるが、その際にFAT32でマウントされて
しまう。NTFSに固定するオプションは見つからなかったため、Windows Server 2012を再起動する
際には、その都度「ディスクの管理」でNTFSに再フォーマットすること。
38. 総括
SMB Directは、並列のファイル処理において最も効果を発揮する。
SMB Directは、RDMAによるCPUのオフロードよりも、処理におけるステップ数の削減の
ほうが意味があると想定される(Xeon E5-2960では、30%程度のCPU使用率だったが、
Core i5では、100%違いCPU使用率となったため、CPUの処理性能はそこそこ必要に思え
る)。
SMB Directは、現在のSMB/CIFSに比べ一定の性能向上が認められる。
Infinibandの帯域幅を使い切るには、もっと実装の改良が必要。
Infinibandの符号化変更は性能向上に一定の効果があると想定される(ibhack02ではFDR、
当該資料作成時に自宅のQDR環境で多少比較を取ったが、40Gbpsと56Gbpsの数値の割
合よりも性能に影響があった)。
それでも手軽に2、3秒でDVDが1枚転送できる、数GB/secの転送レートを有するストレー
ジ環境のインフラを構築できる手軽さは魅力的!
だからやっぱりInfinibandスゲェ!!・・・ ・・・ ・・・と思います。
39. 謝辞
Infiniband Hack-a-thon [02]の実施に当たって、協力を頂
きました皆様方にこの場を借りて御礼申し上げます。
株式会社アルティマ様
– Infiniband関連機材、FDR Infiniband HCAやFDRの36ポートInfinibandス
イッチ!等一式をご提供いただきました。
国際産業技術株式会社様
– 当日の会場やInfiniband機材以外のサーバーやモニター、キーボード、電源
等をご提供いただきました。
主催、当日スタッフ及び参加者の皆様
– Infiniband Hack-a-thonに向けての各種調整、周知・宣伝、ネタ出しや参
考資料のご呈示、参加者の誘導や会場設営と現状復帰等をいただきました。
41. おまけ
Infiniband Hack-a-thon [02]の振り返りと今後
– 反省点等を踏まえて、もう少し測定数値等をちゃんと取るよ!(気が向いたら)
– そしたら、この資料がひっそり更新されているかもね?!
– でも、うちの環境はQDRの環境なんだよね・・・
Coming Soon?