問題タブ [rdma]

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.

0 投票する
1 に答える
412 参照

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 つが完全に異なり、互換性がありませんか?

0 投票する
1 に答える
66 参照

linux - Multi-node connection management

I'm designing an application involving multi-node communications using Infiniband (ibv_*). What is the standard way to keep connections between nodes? I'm thinking of O(N^2) connections for all pairs of node as the easiest one, but it's kind of silly and not scalable.

0 投票する
1 に答える
65 参照

rdma - テストのためだけに、ローカルとリモートの両方に同じメモリ領域を使用する

スレッド/プロセスは、post_send() に渡されるデータに MR rkey を含め、転送元の MR lkey を使用して sge リストを構成します。

私は infiniband HW で遊んでいて、ローカルで RDMA を送受信する同じスレッドで lkey と rkey を使用して MR を持つことが合法であるかどうかを確認したかったのです。

0 投票する
0 に答える
659 参照

c++ - RDMA アトミック操作のエラー

RDMA アトミック操作 (FETCH_ADD および CMP_AND_SWAP) の実行に問題があります。アトミック RDMA 要求を送信しようとすると、ibv_post_send() 関数が失敗し、Errno が「無効な引数」に設定されます。RDMA READ/WRITE ではそのような問題はありません。

次のようにメモリアドレスを登録します。

次のようにキューのペアを作成します。

そして最後に、次のようにアトミック オペコードを使用して RDMA 操作を送信します。

PS librdmacm を使用しているため、INIT と RTR および RTS の間のキュー ペアの遷移は自動的に行われるため、手動で を設定することはできずqp_attr->qp_access_flags、. しかし、私は libibcm にアトミック操作で小さなコードを書き、キューを手動で移行するときにそれらの属性を設定しました。それでも、運が悪い。qp_attr->max_rd_atomicqp_attr->max_dest_rd_atomicibv_modify_qp()

0 投票する
1 に答える
589 参照

windows - Windows 用 RDMA CM

Linux( http://linux.die.net/man/7/rdma_cm -- librdmacm )、およびib動詞(libibverbs)にあるRDMA Communication Managerに相当するWindowsがあるかどうかは誰にもわかりませんか?

これらのライブラリはどちらも、Linux ディストリビューションに Infiniband ハードウェアのドライバーをインストールするときに利用できます。しかし、Windows ではどうでしょうか?

Windows Network Direct について読んだことがありますが、上記の Linux ライブラリについては既によく知っているので、(可能であれば) Windows で同等のものを使用したいと考えています。

Linux ノード間のデータ転送 (RDMA 書き込み) を確立しましたが、Windows ノードから Linux ノードへ RDMA データを転送する必要がありますが、現時点ではどのルートをたどればよいかわかりません....

Windows Network Direct が IB 動詞/RDMA CM と互換性があるかどうかを判断するにはどうすればよいですか?

私は動詞仕様が両方のプラットフォームに実装されるという印象を受けました...!

敬具

0 投票する
1 に答える
1618 参照

rdma - RDMA アトミック操作の実装

RDMA の読み取りと書き込みは、要求が来たときに NIC が物理ページを見つけ、次に DMA を使用してデータを NIC に取得し、次にターゲットに取得するように実装されていると聞きました。

これは読み取りと書き込みの場合は簡単ですが、アトミック操作に関しては奇妙です。私の質問は、RDMA アトミック操作は読み取りと書き込みと同じ方法で実装されているのですか? より具体的には、CPU のアトミック操作 (比較やスワップなど) と RDMA の対応する操作との関係はどのようなものですか?

0 投票する
1 に答える
445 参照

infiniband - Soft-RoCEのベンチマークツール

私は SoftRoCE を初めて使用します。システムに OFED-1.5.2-rxe をインストールしました。現在、カーネル バージョン 3.0.0+ を使用しています。

SoftRoCE 用の特定のベンチマーク ツールはありますか。また、opensm は SoftRocE に必須ですか? rdma_bw を実行しようとしているときに

vvdn@vvdn:~$ sudo rdma_bw 192.168.1.1

10581: | port=18515 | ib_port=1 | size=65536 | tx_depth=100 | sl=0 | iters=1000 | duplex=0 | cma=0 | 10581:main: Local lid 0x0 detected. Is an SM running? vvdn@vvdn:~$

0 投票する
1 に答える
245 参照

linux - 共有メモリ システム、MPI ライブラリ、元の RDMA または ULP over RDMA の選択肢は?

私はハイ パフォーマンス コンピューティング (HPC) の初心者ですが、HPC プロジェクトを行う予定なので、いくつかの基本的な問題を解決するために助けが必要です。

アプリケーションのシナリオは単純です。InfiniBand (IB) ネットワークで接続された複数のサーバー、1 つのサーバーがマスター用、その他がスレーブ用です。マスターのみがメモリ内データ (データのサイズは 1KB から数百 MB の範囲) をスレーブに読み書きしますが、スレーブはメモリ内のデータを受動的に格納する (そしてメモリ内データを適切なタイミングでディスクにダンプする) だけです。 )。すべての計算は、スレーブへの/からのデータの書き込み前または読み取り後にマスターで実行されます。システムの要件は、低遅延(1KB ~ 16KB などの小さなデータ領域) と高スループット(大きなデータ領域、数百 MB) です。

だから、私の質問は

1. どの具体的な方法が私たちに適していますか? MPI、プリミティブ IB/RDMA ライブラリ、または RDMA 上の ULP。

私の知る限り、既存の Message Passing Interface (MPI) ライブラリ、プリミティブな IB/RDMA ライブラリ、libverbsおよびRDMAlibrdmacm上のユーザー レベル プロトコル (ULP) などは実行可能な選択肢かもしれませんが、それらの適用範囲についてはよくわかりません。

2. パフォーマンスを向上させるために、OS または IB ネットワークを調整する必要がありますか?

Microsoft が次のように発表した論文 [ 1 ] があります。

オペレーティング システムと NIC ドライブを慎重に調整および変更することで、パフォーマンスを最大 8 倍向上させました。

私としては、このようなパフォーマンス チューニングはできる限り避けようと思います。ただし、チューニングがやむを得ない場合は、最善を尽くします。当環境のIBネットワークはMellanox InfiniBand QDR 40Gb/sで、サーバー用のLinux OSは自由に選べます。

アイデアがあれば、コメントや回答をお待ちしております。前もって感謝します!

[1] FaRM: Fast Remote Memory

0 投票する
1 に答える
1532 参照

python - python rdma "Hello World"

このプログラムは、Infiniband プログラミングの最初の試みです。私はこのライブラリを使用しています:

https://github.com/jgunthorpe/python-rdma

私はおそらく非常に面白いことを間違っています。「Hello, World」という一連のバイトをマルチキャスト アドレスに送信しようとしています。

これは私が得る出力です: