Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

9.10. IPoIB 設定後の RDMA ネットワークテスト

IPoIB が設定されれば、IP アドレスを使用して RDMA デバイスの指定ができます。IP アドレスとホスト名を使用してマシンを指定することが一般的であるため、ほとんどの RDMA アプリケーションでは、接続するリモートマシンまたはローカルデバイスの指定にこの方法が優先されます。場合によっては、この方法が唯一の指定方法になります。
IPoIB 層の機能のテストには、標準 IP ネットワークテストツールを使って IPoIB デバイスの IP アドレスを提供することができます。たとえば、IPoIB デバイスの IP アドレスの間で ping コマンドが機能させることができます。
Red Hat Enterprise Linux には qperfperftest という、2 つの異なる RDMA パフォーマンステストパッケージが含まれています。これらのうちのどちらかを使って RDMA ネットワークをさらにテストすることができます。
ただし、perftest パッケージの一部であるアプリケーション、または qperf アプリケーションを使用する場合は、アドレス解決に特別な注意があります。リモートホストは IP アドレスまたは IPoIB デバイスのホスト名を使用して指定されますが、テストアプリケーションは実際には異なる RDMA インターフェースを使って接続することが可能です。これは、ホスト名または IP アドレスを RDMA アドレスに変更するプロセスで、使用されるマシン 2 台の間で有効な RDMA アドレスのペアが許可されるためです。クライアントが複数の方法でサーバーに接続できる場合、プログラムは指定したパスに問題があれば、別のパスを選択することができます。たとえば、同じ InfiniBand サブネットに接続されているマシンにそれぞれ 2 つのポートがあり、各マシンの 2 つ目のポートに IP アドレスが提供された場合、プログラムは各マシンの 1 つ目のポートを有効な接続方法と判断し、それらを使用することになります。この場合、「初期の InfiniBand RDMA 操作のテスト」ibping で実行したように、どの perftest プログラムでもコマンドラインオプションを使ってどのカードとポートをバインドするかを指示することで、テストが必要な特定のポートで確実にテストを実行することができます。qperf では、ポートへのバインディング方法は多少異なります。qperf プログラムは 1 台のマシン上でサーバーとして機能し、すべてのデバイス (RDMA 以外のデバイスを含む) をリッスンします。クライアントは、サーバーの有効な IP アドレスまたはホスト名を使って qperf に接続できます。qperf はまず、データ接続の開封を試み、クライアントのコマンドラインで提供された IP アドレスもしくはホスト名で要求されたテストを実行しますが、このアドレスに問題がある場合は、qperf はクライアントとサーバー間にあるいずれかの有効なパスでのテスト実行を試みます。このため、qperf が特定のリンク上でテストするには、qperf クライアントに -loc_id および -rem_id オプションを使用して特定リンク上でのテストを強制します。