問題タブ [infiniband]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java のインフィニバンド
ご存知のように、OFED の Socket Direct プロトコルは非推奨であり、OFED の 3.x リリースには SDP がまったく付属していません。したがって、Java のSDPも機能しません。Javaでインフィニバンドをプログラミングする適切な方法は何ですか? JNIコードを書く以外に移植可能なソリューションはありますか?
私の要件は、インフィニバンドを搭載したマシンのコレクション間でRDMAを実現することです。
nodes - 一度に 3 つのノードをテストする
Infiniband コマンド (ib_send_bw、ibv_rc_pingpong など) を使用して、(infiniband スイッチを介して) ノード間のレイテンシと帯域幅をテストしてきました。しかし、私はもっと多くのことをテストしたいと思っています。2 つのノードが同時に 3 番目のノードにパケットを送信する場合、または 1 つのノードが他の 2 つのノードにパケットを送信する場合に、遅延と帯域幅をテストすることは可能ですか? もしそうなら、どのように?
ありがとう
c - 開発用の「ローカル」RDMA
ここで RDMA の例をビルドして実行しようとしています。しかし、私は調査しているだけなので、RDMA を管理できるハードウェアはありません。サンプル コードを実行しようとすると、このようなエラーが発生します。
開発に使用できる RDMA 機能の「ローカル」実装はありますか? RDMAの「R」がリモートを意味することは理解していますが、これはテスト/開発目的で存在する可能性があると思いました.
libibverbs-dev
参考までに、パッケージをインストールしたUbuntu 14.04ボックスでこれを試してlibrdmacm-dev
、コードをコンパイルします。
mpi - InfiniBand スタックとは何ですか?
「InfiniBand-Stacks」とは何か説明をお願いしたいと思います。これらは最近マシンで変更され、MPI 通信障害が発生し始めました。これが並列ジョブの安定性にどのように影響するかを理解するために、いくつかの情報が必要です。
私が得た実際のエラーメッセージは次のとおりです。
プロセスがキュー ペアの作成に失敗しました。これは通常、デバイスがキュー ペアを使い果たした (接続が多すぎる) か、キュー ペアを割り当てるのに使用できるリソースが不十分である (メモリ不足) ことを意味します。後者は、1) 使用可能なメモリが不足している場合、または 2) デバイスに登録できる物理メモリがこれ以上ない場合に発生する可能性があります。
[connect/btl_openib_connect_oob.c:867:rml_recv_cb] エンドポイント応答開始接続のエラー
hpc - libibverbs と librxe の関係を説明してもらえますか?
libibverbs と librxe、および HCA の低レベル カーネル ドライバーの関係を理解するのに苦労しています。
具体的には、次の疑問があります。
- パケットが HCA に到着すると、低レベルのカーネル ドライバーがそのパケットをユーザー空間アプリケーションに渡します。ここにはメモリコピーが含まれています。この図では、libibverbs と librxe はどこにありますか?
- 同様に、ユーザーが発行する送信コマンドは、低レベル ドライバーを介してハードウェアと直接通信できる必要があります。この場合、ユーザー空間ライブラリが必要なのは何ですか?
windows - Windows IND と Linux 動詞の実装は互換性がありますか?
Windows で Network Direct を使用して RDMA を提供すること、および動詞 api と rdmacm を使用して動作する実装を行っている Linux について、同僚と非常に紛らわしい議論をしてきました。
この同僚は、動詞を機能させることができなかった後、Network Direct の実装を開発しました。Linuxでrdmacmの実装を行いました。二人とも linux=>linux と windows=>windows と話してもらいましたが、Linux=>windows または windows=>linux をテストするまでには至りませんでした。開発中に、それが機能している可能性があるといういくつかのヒントがあり、彼らは話し始めたように見えましたが、もちろん物事はまだ開発中でした.
プロジェクトは数か月間保留され、組み込まれたフレームワークは大幅に再設計されました。Windows 側で機能していたものを新しいフレームワークに引っ張ることが残っており、それを機能させたり、その一部を Linux から接続したりするのに苦労しています。
私の理解では、下位層では両方とも動詞を話します。しかし、同僚が「これは動詞ではないことを覚えておいてください」などと言って混乱を招くだけで、今ではよくわかりません。
そこで質問です。rdmacm を使用するアプリケーションは、Windows NetworkDirect インターフェイスを使用するアプリへの接続を確立できますか、それとも 2 つが完全に異なり、互換性がありませんか?
infiniband - リモート インフィニバンド クライアントの GID/GUID の検索
IPoIB を介してクライアントからサーバーへの TCP 接続を開く C で記述されたアプリケーションがあります。できれば外部アプリケーションを呼び出さずに、サーバーからクライアントの GUID/GID を検索する必要があります。
この時点でTCP接続しか開いていない場合(およびそれに関連するすべての通常の情報)、ibverbsなどを介してこれを行う方法はありますか?
infiniband - テスト用にローカルおよびリモートと同じメモリ領域を使用する
私は infiniband HW で遊んでいて、ローカルで RDMA を送受信する同じスレッドで lkey と rkey を使用して MR を持つことが合法であるかどうかを確認したかったのです。
基本的に、スレッド/プロセスは、post_send() に渡されるデータに MR rkey を含め、転送元の MR lkey を使用して sge リストを構成します。