1

2 台のマシンで 2 つのインフィニバンド プロセスを実行します。1 つのプロセスが終了すると、すべてのリソース (割り当てられたファイル、バッファーなど) が解放され、プロセスがRDMAWRITE/READ 操作用に登録したメモリも解放されます。

他のプロセスのリモートチャネルアダプタがバッファメモリが解放されたことをどのように知っているかについて、誰かが参照できますか? これはインフィニバンド スタックのどの要素をいつ制御しますか?

4

2 に答える 2

2

Linux プロセスが終了すると、開いているすべてのファイル記述子が閉じられます。RDMA を使用するプロセスには、ib_uverbs モジュールに接続されたオープン デバイス ファイルがあります。そのファイル記述子が閉じられると、モジュールは、メモリ領域とキューのペアを含む、プロセスによって開かれたすべての開いている RDMA リソースをクリーンアップします。このクリーンアップには、HCA のドライバーへの通知と、それを介したデバイス自体への通知が含まれます。

リモート マシンが引き続き RDMA 操作を実行しようとすると、関連するリソースが閉じられるため、HCA はその要求を拒否します。

于 2015-09-25T11:36:16.423 に答える