3

InfiniBandを使用してのパフォーマンスを測定していiperfます。

これは、サーバーとクライアント間の 1 対 1 の接続です。

ネットワーク I/O を要求するスレッドの帯域幅変化数を測定しました。

(クラスターサーバーには次のものがあります。

  • 「Mellanox ConnectX-3 FDR VPI IB/E アダプター for System x」および
  • 「インフィニバンド 40 Gb イーサネット / FDR インフィニバンド」)

帯域幅:

 1 thread  : 1.34 GB/sec,
 2 threads : 1.55 GB/sec ~ 1.75 GB/sec,
 4 threads : 2.38 GB/sec,
 8 threads : 2.03 GB/sec,
16 threads : 2.00 GB/sec,
32 threads : 1.83 GB/sec.

上記のように、帯域幅は 4 スレッドまで上昇し、その後減少します。
そこで何が起こっているのかを理解するためのアイデアを教えていただけますか?

さらに、多くのマシンが 1 つのマシンにデータを送信するとどうなるでしょうか? (論争)それも扱えますか
InfiniBand

4

2 に答える 2

2

ここでは、多くのことが隠蔽されています。しかし、インフィニバンドの最大のボトルネックの 1 つは、ファームウェアの QP キャッシュです。

ファームウェアには、使用しているアダプターに応じて、非常に小さな QP キャッシュ (16 ~ 32 のオーダー) があります。アクティブな Qps の数がこのキャッシュを超えると、IB を使用する利点が低下し始めます。私が知っていることから、キャッシュミスのパフォーマンスペナルティはミリ秒のオーダーです..はい、そうです..ミリ秒..

他にも多くのキャッシュが関係しています。

Ib には複数の異なるトランスポートがあり、最も一般的なのは次の 2 つです。 1. RC - 信頼できる接続済み 2. UD - 信頼できないデータグラム

Reliable Connected モードは、明示的な接続を必要とするという点で TCP に似ており、2 つのプロセス間のポイント 2 ポイントです。各プロセスは、イーサネットの世界のソケットに似た QP (Queue Pair) を割り当てます。しかし、さまざまな理由から、QP はソケットよりもはるかに高価であり、リソースでもあります。

UD : unreliable datagram モードは、接続を必要としないという点で UDP に似ています。1 つの UD Qp は、任意の数のリモート UD Qp と通信できます。

データ モデルが 1 対多、つまり 1 マシン対多数のマシンであり、巨大なデータ サイズで信頼性の高い接続が必要な場合は、うまくいきません。IB はその有効性の一部を失い始めます。

上に信頼できるレイヤーを構築するためのリソースがある場合は、UD を使用してスケーラビリティを取得します。

データ モデルが 1 対多であるが、多くのリモート プロセスが同じマシンに存在する場合、RDS (信頼できるデータグラム サービス) を使用できます。これはソケット インターフェイスであり、インフィニバンドを使用し、2 台のマシン間の単一の RC 接続を介して多くの接続を多重化します。 . (RDS には一連の奇妙な問題がありますが、それが始まりです..)

XRC と呼ばれる 3 番目の新しいトランスポートがあり、スケーラビリティの問題も緩和されますが、独自の注意事項があります。

于 2015-11-22T19:30:05.767 に答える