手持ちの部品でInfinibandできるか実験しよう
今朝は春告鳥(鶯)の声で目が覚めた、かえるのクーの助手の「井戸中 聖」でございます。
ebayに注文したInfinibandのケーブル4本とデュアルポートのConnectX-3はどちらもStatusがShipped!になり、日本に向けて搬送中です。4月上旬には入手可能のようです。この週末は手持ちのConnectX-3とケーブル1本(しかも40Gbpsまでのケーブル)でInfinibandがどこまでできるか確認します。
余談ですが、助手メンバーからInfinibandのアダプタカードはNIC(Network Interface Card)ではなく、HCA(Host Channel Adapter)と呼称するようだとの指摘がありました。前回のページを少し修正しました。
さて、今回も実験しながらゆるーく書いていきます。
今回の実験の内容
・Infinibandが1本のケーブルと2枚のHCA(ConnectX-3)だけで実現できるか確認します。
・今回もWindows編なので、OSはすべてWindowsで行います。
・つながれば性能を測定します。
懸念事項:FDRケーブル(56Gbps)が必要と思われますが、手持ちのQDRケーブル(40Gpbs)でつながるか疑問です。
結果予想
モードを変えたりしてでも、なんとかつながるのではないかと思います。
実験手順
1.HCAのモードをInfiniband用に変更(現在Ethernetモードになっています)
2.ケーブルを接続して接続を物理認識しているか確認
3.OpenSMを導入してサービス起動
4.接続できれば、速度などを計測
補足説明
使用しているConnectX-3 VPI アダプタは EthernetとInfinibandの両方を切り替えて使用することができます。ConnectX-3にはEthernet専用の ConnectX-3 EN もあります。
Infinibandを動作させるためにはファブリック内にSM(サブネットマネージャ)が必要です。マネージド・スイッチにはSM機能が内蔵されています。マネージド・スイッチは持っていませんのでソフトウェアでSMを動作させます。linuxの最近のディストリビューションにははいっているようです。WindowsのOpenSMはmellanox社製であればMFT(Mellanox Firmware Tools)の中にあるようです。なお、MFTは前回導入済です。
ファブリック(Fabric)とはInfinibandのネットワークのことです。Infinibandのローカルネットワークはサブネット(Subnet)と呼ばれています。(TCP/IPのサブネットとは関係ありません。)1つのサブネットには(スイッチ類をあわせて)49,151台まで接続できるそうです。
実験経過と結果
1.HCAのモードをInfiniband用に変更
C:\Program Files\Mellanox\WinMFT>mlxconfig -d mt4099_pci_cr0 s LINK_TYPE_P1=IB
Device #1:
----------
Device type: ConnectX3
Device: mt4099_pci_cr0
Configurations: Next Boot New
LINK_TYPE_P1 ETH(2) IB(1)
Apply new Configuration? (y/n) [n] : y
Applying... Done!
-I- Please reboot machine to load new configurations.
LINK_TYPEに IB を設定すれば、Infinibandモードになります。
同様にすべて設定を変更して再起動します。
ネットワークアダプタの認識が IPoIB Adapterになりました。(IPoIB:TCP/IP over Infiniband)
2.ケーブルを接続して接続を物理認識しているか確認
接続ランプがついて、物理的な認識ができていることを確認しました。
この状態ではまだ論理接続されていません。
Network Status が Disconnectedとなっています。想定とおりです。
3.OpenSMを導入してサービス起動
OpenSMは前回導入した Mellanox Firmware Tools のソフトのなかにあるので、それをサービスとして起動する設定をします。(これはマニュアル通り)コマンドは管理者モードで実行です。
C:\Program Files\Mellanox\MLNX_VPI\IB\Tools>sc create OpenSM binpath="C:\Program Files\Mellanox\MLNX_VPI\IB\Tools\opensm.exe -service" start=auto
[SC] CreateService SUCCESS
設定できました。これはサービス設定画面から対話形式で設定してもよいです。
サービスを起動してみます。
C:\Program Files\Mellanox\MLNX_VPI\IB\Tools>sc start OpenSM
[SC] StartService FAILED 1053:
そのサービスは指定時間内に開始要求または制御要求に応答しませんでした。
前回のEthernetの通信と同様にiperf3で計測してみます。
EthernetモードよりもInfiniBand(IPoIB)の方がはやいイメージがあったのですが、結果はEthernetモードの勝利でした。(Ethernetモードは前回計測で約 10.1Gbpsでした。)
次にファイルアクセスです。
(IPoIB(40Gbps)のファイルアクセス速度)
実性能は、40GbEとIPoIB(40Gbps)はファイルアクセスでほとんど同じくらいでています。FDRケーブル(56Gbps)を準備できたら改めて比較してみます。
(こちらは前回の40GbEのファイルアクセス速度)
次はInfinibandとしての指標です。
Infiniband用のコマンドについてはマニュアルがありますが、手っ取り早くはこちらで例を参照できます。
ibpingで遅延測定します。サーバ役で ibping -S としてクライアント役で ibping -L 1とする感じです。
結構悲しい数値となりました。TCP/IPとそんなに変わらないオーダだと思います。0.002ms(2μs)~0.020ms(20μs)くらいを期待していました。InfiniBandにしては遅延が大きい理由は、追って調査を検討し善処する所存にございます。
まとめ
InfinibandはSM(サブネットマネージャ)を起動すればケーブル直結でも問題なく動作する。
ConnectX-3はケーブルの種別を判定し、それにあったモードで通信する。
WindowsでopenSMをサービス起動する場合は多少問題が発生するかもしれない。(ネットに数件の事例+わたくしの事例)今回openSMは設定などはなく、起動したのみ。
ファイルアクセス用途だけであればEthernetモードのほうが取り回しやすいと思われる。(SMが不要、速度が速い)
Infinibandの遅延はもう少し環境が整備されてから評価したい。
出る杭は打たれる一局性の風潮は好きくない
論理のない批判はこのブログの禁則事項ですが、あえて言いたいのです。
「自粛を要請する」というのが(以前から)全く理解できませんし、とても気持ち悪いです。「●●しないことの要請」とか「XXしないでください」だけでいいじゃん。
自粛って自ら考えて粛する(規模縮小やつつしむ、行わない、静かにする)ことだと理解しているけど、「自己判断するな=自分で考えるな」「とにかく皆にならえ」的なことは全く「自粛」ではないと思う「よ」。行動はコントロールされても、考えはコントロールされたくない!!「自由」であることには人一倍こだわりがあるもので。。。
「私は、自粛しません。いつも通りです」といった途端、その行動ではなく、考えが袋だたきに合うなんて、全くどうかしていると思います。
あ~クーに怒られるぅ。