サーバ - ユニファイド コンピューティング : Cisco UCS B シリーズ ブレード サーバ ソフトウェア

Cisco UCS B シリーズ ブレード サーバ、リリース 2.2 の Cisco usNIC 導入ガイド

Cisco usNIC の概要
発行日; 2014/10/15 |  ドキュメントご利用ガイド |ダウンロード ;   この章 pdf   |   フィードバック

Cisco usNIC の概要

Cisco user-space NIC(Cisco usNIC)機能は、ネットワーキング パケットを送受信するときにカーネルをバイパスすることで、データセンターの Cisco UCS サーバで実行されるソフトウェア アプリケーションのパフォーマンスを改善します。 アプリケーションは Cisco UCS などの Cisco UCS VIC-1280 VIC 第二世代アダプタと直接やり取りし、これによってハイ パフォーマンス コンピューティング クラスタのネットワーキング パフォーマンスが向上します。 Cisco usNIC のメリットを引き出すためには、アプリケーションはソケットまたはその他の通信 API ではなく、Message Passing Interface(MPI)を使用する必要があります。

Cisco usNIC は、MPI アプリケーションに対して次の利点を提供します。

  • 低遅延で、高スループットの通信転送を提供します。

  • 標準のアプリケーション非依存イーサネット プロトコルを実行します。

  • 次に示すシスコ データセンター プラットフォームで、低遅延の転送、ユニファイド ファブリック、統合管理のサポートを活用します。
    • Cisco UCS サーバ

    • Cisco UCS などの Cisco UCS VIC-1280 VIC 第二世代アダプタ

    • 10GbE ネットワーク

標準イーサネット アプリケーションは、Linux カーネルのネットワーキング スタックを呼び出すユーザ領域のソケット ライブラリを使用します。 次に、ネットワーキング スタックは Cisco eNIC ドライバを使用して、Cisco VIC ハードウェアと通信します。 次の図は、通常のソフトウェア アプリケーションと usNIC を使用する MPI アプリケーションの対比を示します。

図 1. カーネル ベースのネットワーク通信と Cisco usNIC ベースの通信

Cisco usNIC の前提条件

Cisco usNIC を活用するには、次の前提条件で設定する必要があります。

  • Cisco Open Message Passing Interface(MPI)の配信。

  • UCS ドライバ ISO(受信トレイ以外)。

  • RHEL 6.4 のサポート。

Cisco UCS Manager での Cisco usNIC の設定

はじめる前に
次のソフトウェアとハードウェア コンポーネントが Cisco UCS サーバにインストールされていることを確認してください。
  • Red Hat Enterprise Linux (RHEL) Version 6.4 以降

  • RHEL gcc-c++ および gcc-gfortran RPM

  • RDMA yum install librdmacm-utils および yum install rdma-3.6-1.el6.noarch RPM

  • Cisco UCS などの Cisco UCS VIC-1280 VIC 第二世代アダプタ

手順
    ステップ 1   Cisco UCS Manager GUI または Cisco UCS Manager CLI を使用して、Cisco usNIC のプロパティおよび BIOS 設定を設定します。
    ステップ 2   Linux カーネルの Intel IOMMU ドライバをイネーブルにします(intel_iommu=on)。

    カーネルのブート コマンドでこの設定をイネーブルにし、Cisco usNIC と正常に通信できるように、ユーザ領域のアプリケーションを許可する必要があります。

    ステップ 3   手動で grub.conf ファイルに「intel_iommu =on」を追加します(/boot/grub/grub.conf)。
     KEYBOARDTYPE=pc KEYTABLE=us rd NO DM rhgb quiet intel_iommu=on
    ステップ 4   iommu verification cmd dmesg | grep -i commnad

    設定を確認します。

    $ ibv_devinfo
    ステップ 5   Cisco UCS サーバをリブートします。

    Cisco usNIC を設定した後で、サーバをリブートして変更を有効にする必要があります。

    ステップ 6   Cisco usNIC の Linux ドライバをインストールします。

    ドライバのインストールの詳細については、Cisco usNIC の Linux ドライバのインストールを参照してください。


    次の作業

    Cisco usNIC の設定と Linux ドライバのインストールが完了したら、Cisco usNIC が正しく動作していることを確認してください。 インストールの確認方法の詳細については、Cisco usNIC のインストールの確認を参照してください。

    Cisco usNIC の設定

    手順
      ステップ 1   [Navigation]ペインの [LAN]タブをクリックします。
      ステップ 2   [LAN]タブで、[LAN] > [Policies] を展開します。
      ステップ 3   [root]ノードを展開します。
      ステップ 4   [usNIC Connection Policies] を右クリックし、[Create usNIC Connection Policy]を選択します。
      ステップ 5   [Create usNIC Connection Policy]ダイアログボックスで、次のフィールドを入力します。
      名前 説明

      [Name]フィールド

      ポリシーの名前。

      この名前には、1 ~ 16 文字の英数字を使用できます。 -(ハイフン)、_(アンダースコア)、:(コロン)、および . (ピリオド)は使用できますが、それ以外の特殊文字とスペースは使用できません。また、オブジェクトが保存された後で、この名前を変更することはできません。

      [Description]フィールド

      ポリシーの説明。 ポリシーが使用される場所と条件についての情報を含めることを推奨します。

      [Number of usNICs]フィールド

      ユーザが作成する usNIC の数。

      サーバで実行されている各 MPI プロセスには、専用の usNIC が必要です。 116 の MPI プロセスを同時に実行させるために、最大 116 の usNIC を作成することができます。 シスコは、usNIC 対応 vNIC ごとに、サーバの物理コアの数と同数の usNIC を最低限作成することを推奨します。 たとえば、サーバに 8 つの物理コアがある場合は、8 つの usNIC を作成します。

      [Adapter Policy]ドロップダウン リスト

      usNIC に指定するアダプタ ポリシー。 シスコは、デフォルトで作成される usNIC アダプタ ポリシーを選択することを推奨します。
      ステップ 6   [Navigation] ペインの [Servers]タブをクリックします。
      ステップ 7   [Servers] タブで、{Servers} > [Policies] > [root] > [Adapter Policies]を展開します。
      ステップ 8   [Eth Adapter Policy USNIC]] をクリックします。
      ステップ 9   [Work]ペインの [General]タブをクリックします。
      ステップ 10   をクリックします。[Resources] および[Options] セクションで詳細を変更します。 イーサネット アダプタ ポリシーの設定についての詳細は、『Cisco UCS Manager Configuration Guide』を参照してください。
      ステップ 11   [Servers]タブで、[Servers] > [Service Profiles] > [Service_Profile_Name]を展開します。
      ステップ 12   [Servers]タブで、[Servers] > [Service Profiles] > [root]を展開します。
      ステップ 13   usNIC を設定するサービス プロファイルのノードを展開し、[vNICs]をクリックします。
      ステップ 14   [Work] ペインで、[Network]タブをクリックします。
      ステップ 15   [vNICs] 領域で、vNIC を選択し、[Modify]をクリックします。
      ステップ 16   [Modify vNIC]ダイアログボックスの[Adapter Performance Profile] 領域で、[Adapter Policy]ドロップダウン リストから [Linux] を選択します。
      ステップ 17   [Connection Policies] 領域で、[usNIC]オプション ボタンをクリックします。
      ステップ 18   [usNIC Connection Policy]ドロップダウン リストから作成した usNIC 接続ポリシーを選択します。
      ステップ 19   [OK]をクリックします。
      ステップ 20   [Save Changes]をクリックします。
      ステップ 21   [Navigation]ペインで、今変更したサービス プロファイルをクリックします。
      ステップ 22   [Work]ペインの [Policies]タブをクリックします。
      ステップ 23   [BIOS Policy] バーを展開し、[BIOS Policy]ドロップダウン リスト内の [USNIC] を選択します。
      ステップ 24   [Save Changes]をクリックします。

      次の作業

      Linux カーネルの Intel IOMMU ドライバをイネーブルにします(intel_iommu=on)。

      Cisco UCS Manager CLI を使用した usNIC の作成

      はじめる前に

      このタスクを実行するには、admin 権限でログインする必要があります。

      手順
         コマンドまたはアクション目的
        ステップ 1 UCS-A # scope service-profile serverserver/chassis  

        指定したサーバとシャーシの組み合わせのサービス プロファイルを開始します。

         
        ステップ 2 UCS-A /org/service-profile # show vnic   そのサーバ で使用可能な vNIC を表示します。Cisco UCS Manager リリース 2.2 にアップグレードした場合は、デフォルトで usNIC vNIC が使用可能です。  
        ステップ 3 UCS-A /org/service-profile # scope vnic vnic name   指定した vNIC の vNIC モードを開始します。  
        ステップ 4UCS-A /org/service-profile/vnic # set adapter-policy Linux   Linux と usNIC のアダプタ ポリシーを指定します。  
        ステップ 5 UCS-A /org/service-profile/vnic # enter usnic-conn-policy-ref usnic connection policy reference name   指定した名前で vNIC の usNIC 接続ポリシー参照を作成します。接続ポリシー名の最大サイズは 16 文字です。  
        ステップ 6 UCS-A /org/service-profile/vnic/usnic-conn-policy-ref* # commit-buffer   トランザクションをシステムの設定にコミットします。  
        ステップ 7 UCS-A /org/service-profile/vnic/usnic-conn-policy-ref # top   最上位モードを開始します。  
        ステップ 8 UCS-A # scope org   ルート組織モードを開始します。  
        ステップ 9 UCS-A /org # create usnic-conn-policy usnic connection policy name   指定した名前で usNIC 接続ポリシーを作成します。  
        ステップ 10 UCS-A /org/usnic-conn-policy* # set usnic-count number of usnics  

        作成する Cisco usNIC の数を指定します。サーバで実行されている各 MPI プロセスには、専用の usNIC が必要です。したがって、64 の MPI プロセスを同時に実行させるには、最大 64 の usNIC を作成する必要がある場合があります。usNIC 対応 vNIC ごとに、サーバ上の物理コアの数と同数の Cisco usNIC を最低限作成することを推奨します。たとえば、サーバに 8 つの物理コアがある場合は、8 つの usNIC を作成します。

         
        ステップ 11 UCS-A /org/usnic-conn-policy* # set adaptor-profile USNIC   usNIC 接続ポリシー用の usNIC イーサネット アダプタ プロファイルを指定します。この usNIC アダプタ プロファイルは、以前のバージョンの Cisco UCS Manager をリリース 2.2 にアップグレードした場合にデフォルトで作成されます。  
        ステップ 12 UCS-A /org/usnic-conn-policy* # commit-buffer   トランザクションをシステムの設定にコミットします。  

        次に、Cisco usNIC を作成してプロパティを指定する例を示します。

        Server # scope org
        Server # create usnic-conn-policy usnic1
        Server # set usnic-count-64
        Server # set adapter-profile USNIC
        Server # commit buffer
        Server # top
        
        Server # scope service-profile server 1/1
        Server /org/service-profile # show vnic
        
        vNIC:
            Name               Fabric ID Dynamic MAC Addr   Virtualization Preference
            ------------------ --------- ------------------ -------------------------
            eth0               A         00:25:B5:00:00:8F  NONE
            eth1               A         00:25:B5:00:00:9F  NONE
            eth2               A         Derived            NONE
        Server /org/service-profile # scope vnic eth0
        Server /org/service-profile/vnic # set adapter-policy Linux
        Server /org/service-profile/vnic # enter usnic-conn-policy-ref usnic1
        Server /org/service-profile/vnic/usnic-conn-policy-ref* # commit-buffer
        Server /org/service-profile/vnic/usnic-conn-policy-ref # exit
        
        

        Cisco UCS Manager CLI を使用した usNIC の変更

        はじめる前に

        このタスクを実行するには、admin 権限を持つユーザとしてログインする必要があります。

        手順
           コマンドまたはアクション目的
          ステップ 1 UCS-A # scope service-profile server chassis /server  

          指定したサーバとシャーシの組み合わせに対するサービス プロファイルを入力します。

           
          ステップ 2 UCS-A /org/service-profile # show vnic   サーバで利用できる vnic を表示します。 Cisco UCS Manager、リリース 2.2 にアップグレードすると usnic vnic がデフォルトで使用できます。  
          ステップ 3 UCS-A /org/service-profile # scope vnic vnic name   指定した vNIC の vnic モードを開始します。  
          ステップ 4 UCS-A /org/service-profile/vnic # enter usnic-conn-policy-refusnic connection policy reference name   使用する vNIC の usnic 接続ポリシーの参照先を指定します。  
          ステップ 5 UCS-A /org/service-profile/vnic/usnic-conn-policy-ref* # commit-buffer   トランザクションをシステムの設定にコミットします。  

          次の例は、Cisco usNIC プロパティの変更方法を示します。

          Server # scope service-profile server 1/1
          Server /org/service-profile # show vnic
          
          vNIC:
              Name               Fabric ID Dynamic MAC Addr   Virtualization Preference
              ------------------ --------- ------------------ -------------------------
              eth0               A         00:25:B5:00:00:8F  SRIOV USNIC
              eth1               A         00:25:B5:00:00:9F  NONE
              eth2               A         Derived            NONE
          Server /org/service-profile # scope vnic eth0
          Server /org/service-profile/vnic # set adapter-policy Linux
          Server /org/service-profile/vnic # enter usnic-conn-policy-ref usnic2
          Server /org/service-profile/vnic/usnic-conn-policy-ref* # commit-buffer
          Server /org/usnic-conn-policy # exit
          

          Cisco UCS Manager CLI を使用した usNIC の削除

          はじめる前に

          このタスクを実行するには、admin 権限を持つユーザとしてログインする必要があります。

          手順
             コマンドまたはアクション目的
            ステップ 1 UCS-A # scope service-profile serverserver/chassis  

            指定したサーバとシャーシの組み合わせに対するサービス プロファイルを入力します。

             
            ステップ 2 UCS-A /org/service-profile # show vnic   サーバで利用できる vNIC を表示します。 Cisco UCS Manager、リリース 2.2 にアップグレードすると usNIC vNIC がデフォルトで使用できます。  
            ステップ 3 UCS-A /org/service-profile # scope vnic vnic name   指定した vNIC の vnic モードを開始します。  
            ステップ 4 UCS-A /org/service-profile/vnic # show usnic-conn-policy-refusnic connection policy reference name   使用する vNIC の usNIC 接続ポリシーの参照先を指定します。  
            ステップ 5 UCS-A /org/service-profile/vnic # delete usnic-conn-policy-refusnic connection policy reference name   指定した usNIC 接続ポリシーの参照先を削除します。  
            ステップ 6 UCS-A /org/service-profile/vnic/usnic-conn-policy-ref* # commit-buffer   トランザクションをシステムの設定にコミットします。  

            次の例は、Cisco usNIC プロパティの変更方法を示します。

            Server # scope service-profile server 1/1
            Server /org/service-profile # show vnic
            
            vNIC:
                Name               Fabric ID Dynamic MAC Addr   Virtualization Preference
                ------------------ --------- ------------------ -------------------------
                eth0               A         00:25:B5:00:00:8F  SRIOV USNIC
                eth1               A         00:25:B5:00:00:9F  NONE
                eth2               A         Derived            NONE
            Server /org/service-profile # scope vnic eth0
            Server /org/service-profile/vnic # show usnic-conn-policy-ref
            USNIC Connection Policy Reference:
                USNIC Connection Policy Name
                ----------------------------
                usnic0
            Server /org/service-profile/vnic # delete usnic-conn-policy-ref usnic0
            Server /org/service-profile/vnic* # commit-buffer
            Server /org/service-profile/vnic # exit
            

            Cisco usNIC の Linux ドライバのインストール

            ここでは、UCS ドライバ ISO バンドルに含まれている Cisco usNIC ビルド フォルダの内容を示します。 Cisco usNIC の既知の問題とインストール手順(README)のドキュメントは、ビルド フォルダにも含まれています。


            (注)  


            OS が usNIC アプリケーションに割り当てられているメモリをスワップアウトすることを回避するために、インストール ソフトウェアは OS のロックされたメモリ システム設定を無制限に拡張します。


            • kmod-usnic_verbs-1.0.2.116-1.x86_64.rpm:Cisco VIC SR-IOV イーサネット NIC の usNIC 機能の Linux カーネル verbs ドライバ。

            • libusnic_usnic_verbs-1.0.1.116-1.x86_64.rpm:usNIC 用のユーザ領域のライブラリ libibverbs プラグイン。

            • kmod-enic-2.1.1.52-rhel6u4.el6.x86_64.rpm:Enic 用の OOB Linux カーネル ドライバ。正しく動作するためにインストーラ スクリプトの親フォルダ(Cisco usNIC のインストール ファイルの 1 つ上のレベル)にコピーする必要があります。

            • openmpi-cisco-1.6.5cisco1.0.2.120-1.x86 _64.rpmCisco usNIC オープン MPI:Cisco usNIC BTL MPI 転送を使用したオープン MPI。

            • usnic_tools-1.0.2.120-1.x86_64.rpm:usNIC 用のユーティリティ プログラム。

            • usnic_installer.sh:この項に記載される usNIC パッケージをインストールするスクリプト。

            • usnic_uninstaller.sh:この項に記載される usNIC パッケージをアンインストールするスクリプト。

            はじめる前に

            Cisco UCS Manager(UCSM)に Cisco usNIC プロパティを設定したことを確認してください。 プロパティの設定方法の詳細については、Cisco UCS Manager での Cisco usNIC の設定を参照してください。

            また、Cisco usNIC をインストールするホスト OS(RHEL 6.4)に、サポート対象のバージョンの Cisco Enic ドライバがインストールされていることを確認する必要があります。 Cisco Enic ドライバは Cisco VIC SR-IOV イーサネット NIC 用の Linux カーネル ネットワーキング ドライバです。
            手順
              ステップ 1   #./usnic_installer.sh

              Cisco usNIC のインストール ファイルが置かれているディレクトリからインストーラ スクリプトを実行し、インストーラ スクリプトの出力を親フォルダ(Cisco usNIC のインストール ファイルが置かれている場所の 1 つ上のレベル)に追加します。

              (注)     

              root (#) プロンプトでスクリプトを実行するには、admin 権限が必要です。

              ステップ 2   インストーラ スクリプトの出力を親フォルダ(Cisco usNIC のインストール ファイルが置かれている場所の 1 つ上のレベル)に追加します。

              これはインストールを成功させるために必要です。

              ステップ 3   # chkconfig rdma on

              rdma をイネーブルにします。一度イネーブルにすると、システムのリブート後に自動的に起動します。

              ステップ 4   # service rdma start

              rdma サービスが開始されていることを確認します。 このサービスは usnic_verbs カーネル モジュールに必要です。

              ステップ 5   サーバをリブートしてインストールの変更を有効にする必要があります

              サーバをリブートしない場合、カーネル モジュールを手動でロードできます。 モジュールのロード方法の詳細については、Cisco usNI のカーネル モジュールの手動のロードを参照してください。


              Cisco usNI のカーネル モジュールの手動のロード

              サーバをリブートしない場合、次の手順を使用して、Cisco usNIC カーネル モジュールを手動でロードできます。

              手順
                 コマンドまたはアクション目的
                ステップ 1# rmmod enic
                 

                既存の Enic ドライバ モジュールをアンロードします。

                (注)     

                たとえば SSH 経由でネットワークを使用して、OS にログインしていないことを確認します。 そうしない場合、ネットワーク接続が完全に切断されている状態になる可能性があります。 または、UCSM KVM を使用してサーバにログインして、このステップを実行することができます。

                 
                ステップ 2# modprobe enic
                 

                Enic ドライバ モジュールをロードします。

                 
                ステップ 3# modprobe usnic_verbs
                 

                usnic_verbs ドライバ モジュールをロードします。

                 

                Cisco usNIC の Linux ドライバのアンインストール

                手順
                  ステップ 1   # /opt/cisco/usnic/bin/usnic_uninstaller.sh

                  Cisco usNIC のインストール ファイルを解凍したディレクトリの bin フォルダからアンインストーラ スクリプトを実行します。

                  ステップ 2   Cisco UCS サーバをリブートします。

                  サーバをリブートして変更を有効にする必要があります。


                  Cisco usNIC のインストールの確認

                  Cisco usNIC に必要な Linux ドライバをインストールした後、Linux プロンプトで次の手順を実行して、インストールが正常に完了したことを確認してください。

                  手順
                    ステップ 1   usnic_verbs が名前に付いたすべてのカーネル モジュールを検索および一覧表示して、OS ドライバのインストール時にカーネル モジュールがロードされていることを確認してください。
                    $ lsmod | grep usnic_verbs

                    $ lsmod | grep usnic_verbs コマンドを入力すると、次の詳細情報が表示されます。 コンソールに一覧表示されているカーネル モジュールは、OS に現在ロードされているモジュールに基づいて異なる場合があります。

                    usnic_verbs            78776  0
                    ib_core                73747  13 ib_ipoib,rdma_ucm,ib_ucm,ib_uverbs,ib_umad,rdma_cm,ib_cm,iw_cm,ib_sa,ib_mad,
                    iw_cxgb4,iw_cxgb3,usnic_verbs
                    enic                   67741  1 usnic_verbs
                    
                    ステップ 2   Cisco usNIC 対応 NIC の設定を確認してください。
                    $ ibv_devinfo
                    次のセクションは、ibv_devinfo コマンドを実行するときに表示される結果の簡単な例になります。 結果は、現在のインストール環境によって異なる場合があります。 結果がコンソールに表示されたら、一覧表示されたポートのそれぞれの状態が PORT_ACTIVE と表示されていることを確認します。 次の例では、Cisco UCS VIC アダプタ上に設定された 2 つのポート(usnic_1 および usnic_0)を示します。 1 つの usNIC 対応 vNIC だけを設定した場合、usnic_0 のみのリストが表示されます。
                    (注)     

                    ibv_devinfo コマンドは iWARP としてトランスポート パラメータの値を表示します。 ただし、Cisco usNIC は iWARP 転送を使用しません。

                    hca_id: usnic_1
                            transport:                      iWARP (1)
                            node_guid:                      0200:00ff:fe00:0000
                            sys_image_guid:                 2657:20ff:fe6f:1100
                            vendor_id:                      0x1137
                            vendor_part_id:                 207
                            hw_ver:                         0x2
                            board_id:                       133
                            phys_port_cnt:                  1
                                    port:   1
                                            state:                  PORT_ACTIVE (4)
                                            max_mtu:                4096 (5)
                                            active_mtu:             4096 (5)
                                            sm_lid:                 0
                                            port_lid:               0
                                            port_lmc:               0x01
                                            link_layer:             Ethernet
                    
                    hca_id: usnic_0
                            transport:                      iWARP (1)
                            node_guid:                      0200:00ff:fe00:0000
                            sys_image_guid:                 2657:20ff:fe6f:1000
                            vendor_id:                      0x1137
                            vendor_part_id:                 207
                            hw_ver:                         0x2
                            board_id:                       133
                            phys_port_cnt:                  1
                                    port:   1
                                            state:                  PORT_ACTIVE (4)
                                            max_mtu:                4096 (5)
                                            active_mtu:             4096 (5)
                                            sm_lid:                 0
                                            port_lid:               0
                                            port_lmc:               0x01
                                            link_layer:             Ethernet
                    
                    ステップ 3   rdma がオンになっていることを確認します。 このサービスは usnic_verbs カーネル モジュールのロードに必要です。
                    # chkconfig --level 2345 rdma on
                    ステップ 4   インストールされている RPM およびバージョンを確認するには usnic_verbs_check スクリプトを実行します。
                    $ /opt/cisco/usnic/bin/usnic_verbs_check
                    

                    エラーが OS ドライバのインストール中に発生している場合、警告が生成されます。

                    usnic_verbs モジュールのロードで失敗した場合は、次の簡単な例が生成された警告を示します。
                    $ rmmod usnic_verbs
                    $ /opt/cisco/usnic/bin/usnic_verbs_check
                    enic RPM version 2.1.1.52-rhel6u4.el6 installed
                    usnic_verbs RPM version 1.0.2.116-1 installed
                    WARNING: usnic_verbs module not loaded
                    libusnic_verbs RPM version 1.0.1.116-1 installed
                    Open MPI RPM version 1.6.5cisco1.0.2.120-1 installed
                    WARNING: No usnic verbs devices found
                    WARNING: No usnic verbs devices found
                    3 warnings
                    
                    ステップ 5   Cisco usNIC ネットワーク パケットがクライアントとサーバのホスト間で正常に送信されていることを確認してください。
                    1. サーバ ホストの Cisco usNIC に関連付けられているイーサネット インターフェイスの名前を判別します。
                      <server>$ cat /sys/class/infiniband/usnic_0/config | grep eth
                      usnic_0: 0000:07:0.0, eth1, 00:25:b5:c1:b3:10, 32 VFs
                    2. イーサネット インターフェイスの IP アドレスを判別します。
                      <server>$ ip addr show dev eth4 | grep "inet[^6]"
                          inet 10.1.0.1/16 brd 10.1.255.255 scope global eth4
                    3. サーバ ホストで ibv_ud_pingpong プログラムを実行します。
                      <server>$ ibv_ud_pingpong -g 0 -d usnic_0 -s 200
                      -g フラグを設定して、usNIC に対して GID を 0 に設定します。 ibv_ud_pingpong プログラムで使用するコマンドライン オプションに関する詳細情報については、ibv_ud_pingpong(1)man ページを参照してください。
                    4. サーバ ホストの usNIC に対応する IP アドレスを使用して、クライアント ホストで ibv_ud_pingpong プログラムを実行します。
                      <client>$ ibv_ud_pingpong -g 0 -d usnic_0 -s 200 10.1.0.1
                    次の例は、ibv_ud_pingpong プログラムを実行するときに表示される結果を示します。
                    Server-side:
                    <server>$ ibv_ud_pingpong -g 0 -d usnic_0 -s 200
                      local address:  LID 0x0000, QPN 0x000001, PSN 0x38ffcb: GID fe80::2657:20ff:fe6f:1000
                      remote address: LID 0x0000, QPN 0x000001, PSN 0x3a9e22, GID fe80::b2fa:ebff:fe72:84fd
                      400000 bytes in 0.01 seconds = 637.70 Mbit/sec
                      1000 iters in 0.01 seconds = 5.02 usec/iter
                    
                    
                    Client-side:
                    <client>$ ibv_ud_pingpong -g 0 -d usnic_0 -s 200 10.1.0.1
                      local address:  LID 0x0000, QPN 0x000001, PSN 0x3a9e22: GID fe80::b2fa:eb ff:fe72:84fd
                      remote address: LID 0x0000, QPN 0x000001, PSN 0x38ffcb, GID fe80::2657:20 ff:fe6f:1000
                      400000 bytes in 0.01 seconds = 617.40 Mbit/sec
                      1000 iters in 0.01 seconds = 5.18 usec/iter
                    
                    
                    ステップ 6   ring_c テスト プログラムをダウンロード、コンパイル、および実行して、MPI トラフィックがクライアントとサーバのホスト間で正しく送信されていることを検証します。

                    ring_c テスト プログラムは、http:/​/​svn.open-mpi.org/​svn/​ompi/​branches/​v1.6/​examples/​ring_​c.cのリンクから取得できます。

                    次の例は、wget ユーティリティを使用して ring_c を取得、コンパイル、および実行する方法を示します。 また、テスト プログラムの取得および実行のその他の方法を使用できます。
                    $ wget http://svn.open-mpi.org/svn/ompi/branches/v1.6/examples/ring_c.c
                     --2013-08-06 15:27:33--  http://svn.open-mpi.org/svn/ompi/branches/v1.6/examples/ring_c.c
                     Resolving svn.open-mpi.org... 129.79.13.24 Connecting to 
                     svn.open-mpi.org|129.79.13.24|:80... connected.
                     HTTP request sent, awaiting response... 200 OK
                     Length: 2418 (2.4K) [text/plain]
                     Saving to: “ring_c.c”
                     
                     100%[======================================>] 2,418       --.-K/s   in 0s      
                     
                     Last-modified header invalid -- time-stamp ignored.
                     2013-08-06 15:27:33 (10.7 MB/s) - “ring_c.c” saved [2418/2418]
                     
                     $ mpicc ring_c.c -o ring_c
                     [no output]
                     
                     $ mpiexec --host host1,host2 -n 4 ./ring_c 
                     Process 0 sending 10 to 1, tag 201 (4 processes in ring) 
                     Process 0 sent to 1 
                     Process 0 decremented value: 9 
                     Process 0 decremented value: 8 
                     Process 0 decremented value: 7 
                     Process 0 decremented value: 6 
                     Process 0 decremented value: 5 
                     Process 0 decremented value: 4 
                     Process 0 decremented value: 3 
                     Process 0 decremented value: 2 
                     Process 0 decremented value: 1 
                     Process 0 decremented value: 0 
                     Process 0 exiting 
                     Process 2 exiting 
                     Process 1 exiting 
                     Process 3 exiting ...  
                     
                    
                    

                    ibv_ud_pingpong プログラムおよび ring_c プログラムが正常に実行された場合、usNIC 上で MPI アプリケーションを実行できるはずです。