Jump to content 日本-日本語
製品  >  HP ProLiant サーバ  >  技術情報  >  White Paper

whitepaper

技術資料

HP ProLiant サーバ

目次

概要/ はじめに/ TCP/IPの制限/ RDMAソリューション
  RDMA over TCP
  RDMA over InfiniBand
  まとめ/ 詳細情報 / ご意見をお寄せください

PDFファイル ダウンロード

このホワイトペーパーのPDFファイルをこちらからダウンロードしてご覧下さい。
(PDFファイル、144KB)
コンテンツに進む

RDMAプロトコル: ネットワークパフォーマンスの向上

RDMA over InfiniBand

  InfiniBandは、イーサネットに替わるハイパフォーマンスで低レイテンシの技術です。InfiniBandアーキテクチャは、パフォーマンス、インフラストラクチャの簡素化、およびコンポーネントインターコネクトの集束を設計上の重要な指標とする、分散コンピューティング環境によく適合したチャネルベースのスイッチ ファブリック設計を用います。InfiniBandインフラストラクチャ採用のデータセンターは、複雑さが緩和され、管理しやすくなります。

イーサネットと同様に、InfiniBandアーキテクチャは、ノード間のデータ転送にマルチレイヤー処理を使用します。各InfiniBandノードには、双方向シリアルリンクを通してInfiniBandネットワークに接続する、ホストチャネル アダプタ(HCA)またはターゲットチャネル アダプタ(TCA)が備わっています。ただし、イーサネットとは異なり、InfiniBandアーキテクチャでは、リンクに複数のチャネルペア(4個が現在の通常の実装)を持たせ、各チャネルに多重化データの仮想レーンを2.5Gbpsシングル データレート(SDR)で処理させることができます。ノードとチャネルが追加(最大12個)されてシグナリングが高速(最大4倍のデータ速度)になることでリンクの帯域幅が増加し、InfiniBandインフラストラクチャがシステム拡張に対応するようになり、一方向あたり2.5〜120Gbpsの帯域幅が可能になります(ただし、プロセッサ オーバヘッドとサーバI/Oバスアーキテクチャが使用可能な帯域幅を10パーセント以上低下させる可能性があります)。

InfiniBandを使用したRDMAのデータ トランザクション(図5)は、イーサネットと同様の方法で処理され、同様の利点があります。しかし、InfiniBandでは、RDMAをコア機能としてサポートするように設計された通信スタックを使用するので、イーサネットよりもRDMAのパフォーマンスが高くなる点が優れています。

図5. InfiniBandを使用したRDMAのデータフロー
図5. InfiniBandを使用したRDMAのデータフロー

InfiniBand HCAは、Ethernet NICと動作の点で似ていますが、異なるソフトウェア アーキテクチャを使用しています。InfiniBand HCAは、通常HCAメーカーまたはサードパーティのソフトウェアベンダーの提供する、別個の通信スタックを使用します。したがって、HCAを使用するには、特定のオペレーティング システム用のソフトウェアドライバと通信スタックの両方をあらかじめロードしておく必要があります。

既存のInfiniBandクラスタの多くは、Linux上で動作します。また、Microsoft® Windows®、HP-UX、Solaris、およびその他のオペレーティング システム用のドライバと通信スタックは、ハードウェアおよびソフトウェアベンダー各社から入手可能です。オペレーティング システムとベンダーごとに具体的な機能のサポートは異なります。

InfiniBandは、チャネルアダプタの機能と物理接続の両方を指定する通信スタック(図6)を使用します。アダプタの機能は、使用しているオペレーティング システムのAPI (application programming interface)が検出して設定したVerbによって決定されます。各レイヤーは、先行するレイヤーの補助的な働きをします。また、次のレイヤーに役目を渡す前にレイヤーの機能を完了する必要があります。

図6. InfiniBand通信レイヤー
図6. InfiniBand通信レイヤー
 

InfiniBand RDMAプロトコル

  上位レイヤープロトコル(ULP: Upper Layer Protocol)レイヤーは、オペレーティング システムとアプリケーションの最も近くで動作し、データ転送に必要なソフトウェア オーバヘッドがあればその量を明確にします。InfiniBand上位レイヤープロトコルは多数あり、そのうちの3つがRDMA処理をサポートします。
  • Direct Access Programming Library
  • Sockets Direct Protocol
  • SCSI RDMA Protocol
  【Direct Access Programming Library】
Direct Access Programming Library (DAPL)は、ノード間の転送に最適な低レイテンシのRDMA通信を可能にします。uDAPLは、InfiniBand上のRDMA機能に対するユーザレベル アクセスを提供します。RDMAをノード間のデータ転送に使用するには、アプリケーションは、特定のuDAPLの実装を用いて書かれる必要があります。kDAPLは、カーネルレベルで動作します。

【Sockets Direct Protocol】
SDP (Sockets Direct Protocol)は、カーネルから動作するソケットベースのRDMAプロトコルです。アプリケーションは、SDPインタフェースを活用するように書かれる必要があります。SDPは、Microsoftサーバオペレーティングシステムの使用するWinSock Direct Protocolに基づいており、データベースをアプリケーションサーバに接続するのに適しています。

【SCSI RDMA Protocol】
SCSI RDMA Protocol (SRP)は、SANネットワーク用にInfiniBand上のSCSIコマンドをカプセル化します。カーネルレベルで動作するので、SRPは、RDMAを介してSCSIコマンドをシステム間でコピーすることを可能にし、ストレージシステムとの低レイテンシ通信を実現します。

InfiniBandリンク操作

  送信先デバイスが受信するよりも速くデータを送信することができるネットワークデバイスがあるため、InfiniBandは、RDMA over TCPに似たキューペア(送信1、受信1)システムを使用します。InfiniBandのキューペアは、各デバイスのHCAかTCA、または必要に応じてメインメモリに置くことができます。2つのチャネルアダプタ間の接続が確立すると、トランスポート レイヤーの通信プロトコルが選択され、キューペアが仮想レーンに割り当てられます。

トランスポート レイヤーの通信プロトコルは、ハードウェアに実装することができ、システムのプロセッサから作業負荷を大幅に軽減することができます。トランスポートレイヤーは、送信キューでは4種類のデータ転送を処理することができます。
  • Send/Receive - 一方のノードがメッセージを送信し別のノードがメッセージを受信する、代表的な処理です。
  • RDMA Write - ノードが、リモートノードのメモリバッファに直接データを書き込む処理です。
  • RDMA Read - ノードが、リモートノードのメモリバッファから直接データを読み取る処理です。
  • RDMA Atomics - メモリ位置の読み取り、値の比較、必要に応じた値の変更または更新を組み合わせた処理です。
  受信キューで使用可能な唯一の処理は、Post Receive Buffer transferです。これは、クライアントの送信先または受信元になる可能性のあるバッファをSend、RDMA Write、RDMA Readデータ転送を使用して特定します。

前のページへ 次のページへ
PDFファイルをご覧いただくには、Adobe® Reader® が必要です。
アドビシステムズ社のウェブサイト より、ダウンロード(無料)の上ご覧ください。
印刷用画面へ印刷用画面へ
プライバシー ご利用条件・免責事項