クーの自由研究

マスターのかえるのクーは、弟子達の召喚術により新たな依り代を得てⅡ世として復活しました。

Infiniband OpenSMの導入(Windows編)

手持ちの部品でInfinibandできるか実験しよう

今朝は春告鳥(鶯)の声で目が覚めた、かえるのクーの助手の「井戸中 聖」でございます。

f:id:AssistantOfKoo:20200328120535p:plain

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モードになっています)

.ケーブルを接続して接続を物理認識しているか確認

.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モードになります。

同様にすべて設定を変更して再起動します。

f:id:AssistantOfKoo:20200328152518p:plain

ネットワークアダプタの認識が IPoIB Adapterになりました。(IPoIB:TCP/IP over Infiniband)


2.ケーブルを接続して接続を物理認識しているか確認 


接続ランプがついて、物理的な認識ができていることを確認しました。

f:id:AssistantOfKoo:20200328160227p:plain

この状態ではまだ論理接続されていません。

f:id:AssistantOfKoo:20200328165330p:plain

f:id:AssistantOfKoo:20200328160355p:plain

Network Status が Disconnectedとなっています。想定とおりです。


.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:
そのサービスは指定時間内に開始要求または制御要求に応答しませんでした。
エラー表示されましたが、サービスは起動した「みたい」です。
「みたい」というのはサービスマネージャ画面では「停止」になっているのですが、アダプタの接続ランプ()がついたので動いているようです。

f:id:AssistantOfKoo:20200328164640p:plain

OpenSMからサービスマネージャに開始要求受付を応答できないようです。コンピュータの管理のサービス画面で、ログオンタブの「デスクトップとの対話をサービスに許可」をオンにしても現象はかわりませんでした。Windows10でopenSMを動作させている情報がほとんど「無い」のと、Windows Server 2016で同様の情報はありましたが、解決情報はありませんでした。
再起動してもサービスのstart=auto では起動できなかったので自動(遅延開始)(コマンドで設定するならパラメータstart=delayed-auto)としました。これで起動後2分くらいたってから起動しました。この設定とします。(それでもサービス画面からは停止状態となって見えます)

f:id:AssistantOfKoo:20200328165041p:plain

マニュアルを読んでも、ネットを探してもわからないので、保留にして先へ進みます。(通信上は問題ないと思われます)

f:id:AssistantOfKoo:20200328165231p:plain

ネットワークは接続OKのようです。名前をIPoIB#1としました。
IPをサーバ役PCを 192.168.200.1、 クライアント役PCを192.168.200.2としてIPアドレス設定しました。

f:id:AssistantOfKoo:20200328170253p:plain

では早速、速度を測定してみましょう。

4.通信速度計測

 前回のEthernetの通信と同様にiperf3で計測してみます。 f:id:AssistantOfKoo:20200328170751p:plain

EthernetモードよりもInfiniBand(IPoIB)の方がはやいイメージがあったのですが、結果はEthernetモードの勝利でした。(Ethernetモードは前回計測で約 10.1Gbpsでした。)

次にファイルアクセスです。

f:id:AssistantOfKoo:20200328171038p:plain

(IPoIB(40Gbps)のファイルアクセス速度)

実性能は、40GbEとIPoIB(40Gbps)はファイルアクセスでほとんど同じくらいでています。FDRケーブル(56Gbps)を準備できたら改めて比較してみます。

f:id:AssistantOfKoo:20200322184523p:plain

(こちらは前回の40GbEのファイルアクセス速度)

次はInfinibandとしての指標です。

Infiniband用のコマンドについてはマニュアルがありますが、手っ取り早くはこちらで例を参照できます。

ibpingで遅延測定します。サーバ役で ibping -S としてクライアント役で ibping -L 1とする感じです。

f:id:AssistantOfKoo:20200328172140p:plain

結構悲しい数値となりました。TCP/IPとそんなに変わらないオーダだと思います。0.002ms(2μs)~0.020ms(20μs)くらいを期待していました。InfiniBandにしては遅延が大きい理由は、追って調査を検討し善処する所存にございます。

まとめ

InfinibandはSM(サブネットマネージャ)を起動すればケーブル直結でも問題なく動作する。

ConnectX-3はケーブルの種別を判定し、それにあったモードで通信する。

WindowsでopenSMをサービス起動する場合は多少問題が発生するかもしれない。(ネットに数件の事例+わたくしの事例)今回openSMは設定などはなく、起動したのみ。

ファイルアクセス用途だけであればEthernetモードのほうが取り回しやすいと思われる。(SMが不要、速度が速い)

Infinibandの遅延はもう少し環境が整備されてから評価したい。

出る杭は打たれる一局性の風潮は好きくない

論理のない批判はこのブログの禁則事項ですが、あえて言いたいのです。

「自粛を要請する」というのが(以前から)全く理解できませんし、とても気持ち悪いです。「●●しないことの要請」とか「XXしないでください」だけでいいじゃん。

自粛って自ら考えて粛する(規模縮小やつつしむ、行わない、静かにする)ことだと理解しているけど、「自己判断するな=自分で考えるな」「とにかく皆にならえ」的なことは全く「自粛」ではないと思う「よ」。行動はコントロールされても、考えはコントロールされたくない!!「自由」であることには人一倍こだわりがあるもので。。。

「私は、自粛しません。いつも通りです」といった途端、その行動ではなく、考えが袋だたきに合うなんて、全くどうかしていると思います。

あ~クーに怒られるぅ。