2つのノードがIBスイッチを介してデュアルポートMellanoxConnext-X3 VPIHCAに接続されています。ノードは、HasswellCPUと各ソケットあたり2つの16GBDIMM(合計64GB)を備えた2つのソケットマシンです。正しくないように見えるパフォーマンスの数値を除いて、すべてが完全に機能しているようです。
ib_read_bw
ベンチマークを実行すると:
server# ib_read_bw --report_gbits
client# ib_read_bw server --report_gbits
---------------------------------------------------------------------------------------
#bytes #iterations BW peak[Gb/sec] BW average[Gb/sec] MsgRate[Mpps]
65536 1000 37.76 37.76 0.072016
---------------------------------------------------------------------------------------
しかし、デュアルポートを実行すると:
server# ib_read_bw --report_gbits -O
client# ib_read_bw server --report_gbits -O
---------------------------------------------------------------------------------------
#bytes #iterations BW peak[Gb/sec] BW average[Gb/sec] MsgRate[Mpps]
65536 2000 52.47 52.47 0.100073
---------------------------------------------------------------------------------------
改善が40%未満しかありません(シングルポート帯域幅の約2倍を期待するのは間違っていますか)?
ここでボトルネックになる可能性があるものと、それを見つける方法がわかりません。
役立つ可能性のあるその他の構成:
ここでのボトルネックは、ConnectXとホスト間のPCIeリンクだと思います。 ConnectX-3には Gen。3 x8 PCIe接続 があり、これは理論上の最大値63.04 Gbpsにバインドされています( この回答 による)。これには含まれていません。オーバーヘッド( ここ を参照)。
私は(2)それぞれがMellanox FDR MCX354A-FCBT CX354A(ConnectX-3 VPI)を備えたシステムを持っています。(2)InfiniBandを使用しているだけで、スイッチはなく、直接接続されています。デュアルXeon(Sandy Bridge)を実行しています。
FDR接続を妨げていた40Gb /秒のケーブルがあり、次のようになりました。
#bytes #iterations BW peak[Gb/sec] BW average[Gb/sec] MsgRate[Mpps]
65536 1000 31.11 31.11 0.059329
FDR(56Gb /秒)ケーブルを入手し、入手を開始しました。
#bytes #iterations BW peak[Gb/sec] BW average[Gb/sec] MsgRate[Mpps]
65536 1000 49.58 49.58 0.094569
両方のポートを使用するとどうなるかといつも思っていたので、それを試してみて、次のようになりました。
#bytes #iterations BW peak[Gb/sec] BW average[Gb/sec] MsgRate[Mpps]
65536 2000 52.28 52.28 0.099717
しかたがない。私はおそらくその利益を気にしないでしょう。
私のカードもPCIExpress 3.0 x8なので、haggai_eは間違いなく正しいと思います。もっと速く見るには、3.0x16または4.0のカードが必要だと思います。
デュアルポートのもう1つの利点は、異なるネットワークまたはマシンに直接接続でき、常に送信していなければ、それぞれがフルスピードで接続できることです。