ようやくFDR対応ケーブルが到着しました。
連休中は「おうちでInfiniBand」実験三昧の、かえるのクーの助手の「井戸中 聖」です。
Mellanox社(本社)のおひざ元、イスラエルからInfiniBand FDRケーブルが届きました。ebayでいちばん安かったイスラエルの出品をクリックしたのですが、昨今の航空輸送状況により到着がかなり遅くなったようです。
ちなみにFDR3mケーブルが4本で$55、送料が$60でした。送料のほうが高いです。。。
連休に間に合ってよかったです。
QDR(40Gbps)のケーブルは手元に1本準備できていたので、QDRモードでの性能測定は既に行いました。
InfiniBand QDRとFDRのフツーのPCでの実際の速度差は?
今回は、FDR(56Gbps)ケーブルで速度がどれくらい違うかを確認します。QDRでの転送はデータの実効効率が80%であるといわれ、FDRは約97%といわれます。14Gbpsアップ分以上に高速になる「かも」しれません。または、他の部分がボトルネックになっていて実際にはそれほどかわらないかもしれません。さて実験して確認してみましょう。
(ここで諸藩の事由:「娘がDTMやってみたい事案。+今年は家庭菜園やりましょう事案。」にて、半月以上休止となりました。)
5/17よりこのページの記載再開:
何をやっていたかわすれてたのですが、再開しました。
別ページに分ける分量でもないので、ここに書き足します。
FDRケーブルを差すと、tcp/ipモードでも 56Gbpsになるのか(ちなみにQDRケーブルでは40Gbps)。IBモードだけが56Gbps可能なのかを、まずは確認しました。
ちなみに、それぞれのPCにはデュアルポートのConnect3-X VPIがささっています。
通信モードをIPに変更します。(それぞれのPCで実効し、リブート)
MST devices:
------------
mt4099_pci_cr0 bus:dev.fn=02:00.0
mt4099_pciconf0 bus:dev.fn=02:00.0
----------
Device: mt4099_pci_cr0
LINK_TYPE_P1 VPI(3) ETH(2)
Applying... Done!
-I- Please reboot machine to load new configurations.デュアルポートのインターフェースなのに1つのインターフェースしか見えません。あとで確認することとして、とりあえずは進みます。
Etherモードでは
低速なほうのPCは以下のようにPCI-E 5.0 X4 なので 20Gbpsが上限です。
どちらもLink Speed が40.0Gbpsとなりました。前回のQDR接続とかわりません。実測しましたが、前回のQDRケーブル接続のスピードとほとんど変化しません。
QDRだと10ビットのうち実データで使われるのが8ビットなので実質 40Gpb×8/10 で32Gbpsが上限の認識があります。FDRだと実質56Gpbs x 64/66で約54GbpsになるからEternetもこのモードで動けば実質速くなるかも。と思っていましたが、Ethernetモードで使う分にはQDRでもFDRでも変わらないとい思われます。(ただし、PCインターフェース側がボトルネックになっていて、上限を測れていないので、接続スピード表示からの推測です)
Connect3-Xの規格としてもEthernet は 40Gbpsとかいてあるので、仕様とおりということになります。改めてネット検索してもEthernet 56Gbpsというものはなさそうです。
では、IBモード(Infinibandモード:実際はIPoIB)で接続してみます。
IBモードでは
5/30よりこのページの記載再開:
諸藩の事情(というよりさぼっただけ)により中断していました記載を再開します。
実験はとうに完了しておりまして、IBモードで「ファイル共有で使う分には、QDRとFDRケーブルでは変化はほとんどなし」という結果になりました。とってもつまらなくて申し訳ございません。
2台のPCをIBモードに変更します。
-------------------
C:\Windows\system32>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.
-------------------
再起動してopenSMが起動したら通信が確立します。
ぱちぱちぱち888... LinkSpeedが56Gbps で接続されました。
残念ながら、SubマシンはBusが非力なため 5.0Gbps × 4 =20Gbpsが上限です。(メイン側は BusTypeが8.0Gbps×8=64Gbpsです)
こうなると、SubマシンにもGen3(Bus 8.0Gbps×8=64Gbps)以上がほしくなります。なおConnectX-3はこれが上限です。(まだGen4なんてない時代なので)
実測結果です。
残念!QDRケーブルのEthernet40GBpsより遅いですね。
前回のQDRケーブルでのIPoIB(Link 40Gbps)では、6.34Gbpsだったので、それよりは34%速いですが、Ethernet(Link40GBps)は10.1Gbpsなので、それより遅い結果となしました。
やはりInfiniband は IPプロトコルを介さない通信(MPIなど)でないと本領発揮しないみたいです。
あと、状況によってはEternet40Gbpsは5Gbps程度にまで低下することがありました。マシンのほかプロセスの負荷なのか、アダプタのサーマルスロットルか(とにかく熱くなる)が発生したのかもしれません。
プチ結論
通常のPCで使う分にはEternetモードであればQDR、FDRどちらでも差はないです。(FDRケーブルでも40Gbpsとなるので。。。)
IBモードで使う場合はあたりまえですが、FDRモードの方が高速です。
ファイル共有でConnectX-3を使うのであれば、Eternetモードの方がすこしだけ(19%くらい)幸せです。GigabitEter(1Gbps)は私の環境では0.949Gbpsくらなので、それと比べると、ConnectX-3導入により、だいぶん(964%くらい)幸せです。
EternetモードのほうがInfinibandのopenSMの導入が不要な分取り回しがしやすいですし、ファイル共有がメインであれば、Ethernetモードで使用することをお勧めします。
以下は比較用の1Gbps (1000BaseT)
(1Gbps (1000BaseT)での通信速度測定)
サブマシンがもっと高性能だともっとスピードがでる気がしますが、高性能なマシンをお持ちの方にぜひチャレンジしてみていただきたいです。
わたくし的な本命はMPI(サブマシンのCPUパワーも計算に使いたい)なのでMPIの実験もしたいなと思います。