データの時代において、より高速で、より効率的で、スケーラブルなネットワークへの要求は決して低下していません。従来のTCP/IPイーサネット接続はCPUに負荷がかかり、データの余分な処理とコピーが必要なため、現在のネットワークニーズに対応できなくなっています。そんな中、RDMA over Converged Ethernet(RoCE)が登場しました。RoCEとは何かを理解するために、まずRDMAについて見ておきましょう。
RDMA(リモート・ダイレクト・メモリー・アクセス)は、ネットワーク上のデバイス間で直接データ転送を可能にするもので、RoCE(RDMA over Converged Ethernet)はこの技術の代表的な実装です。RoCEは高速かつ低レイテンシーでデータ転送を改善し、ハイパフォーマンス・コンピューティングやクラウド環境に最適です。この記事では、RDMAの基礎と、RoCEがイーサネット・ネットワーク上でのデータ転送をどのように向上させるかについて説明します。
RDMAとは?
リモート・ダイレクト・メモリー・アクセス(RDMA)とは、CPUを介さずに、あるホストやサーバーのメモリから別のホストやサーバーのメモリに直接メモリ・アクセスを可能にする技術です。そのため、CPUはアプリケーションの実行や大量のデータ処理など、本来の作業に専念することができます。そして、より低いレイテンシ、より低いCPU負荷、より高い帯域幅を持つネットワークとホストのパフォーマンスをコスト効率よく実現することができます。
図1: RDMAテクノロジー
RoCEとは?
RDMAの一種として、RoCEはInfiniBand Trade Association (IBTA)標準に定義されたネットワーク・プロトコルであり、コンバージド・イーサネット・ネットワーク上でRDMAを可能にします。簡単に言えば、ハイパーコンバージド・データセンター、クラウド、ストレージ、仮想化環境におけるRDMA技術の応用とみなすことができます。RDMA技術のすべての利点とイーサネットの使いやすさをすべて備えています。RoCEとInfinibandの違いを理解するには、この記事「RoCE vs Infiniband vs TCP/IP」をお読みください。 また、IBとRoCEのカプセル化は次のように比較されます:
図2: InfiniBand Vs. RoCEv2
RoCEの種類
一般に、RDMA over Converged Ethernetには、RoCE v1とRoCE v2の2つのバージョンがあります。使用するネットワークアダプタまたはカードによって異なります。
-
RoCE v1: RoCE v1プロトコルは、同じイーサネット・ブロードキャスト・ドメイン(VLAN)内の2つのホストが通信できるようにするイーサネットリンク層プロトコルです。これはEthertype 0x8915を使用し、フレーム長は標準イーサネットフレームで1500バイト、イーサネットジャンボフレームで9000バイトに制限されます。
-
RoCE v2: RoCE v2プロトコルは、単一のブロードキャスト・ドメイン(VLAN)に制限されているバージョン1の制限を克服します。パケットのカプセル化をIPとUDPヘッダを含むように変更することで、RoCE v2はL2とL3の両方のネットワークで使用できるようになりました。これにより、レイヤ3ルーティングが可能になり、複数のサブネットを持つネットワークにRDMAを導入し、優れたスケーラビリティを実現します。そのため、RoCE v2はRoutable RoCE(RRoCE)とも呼ばれています。RoCE v2の登場により、IPマルチキャストも可能になりました。
図3: RoCE v1 Vs. RoCE v2 パケットフォーマット
RoCEの利点
RDMA over Converged Ethernetは、カーネル経由ではなくネットワーク・インターフェイス経由でメモリ・データに直接アクセスするため、低レイテンシーで高性能な伝送が可能になります。
-
CPUの関与が低い: リモートサーバーのCPUサイクルを消費せずにリモートスイッチまたはサーバーのメモリにアクセスできるため、利用可能な帯域幅を最大限に活用し、拡張性を高めることができます。
-
ゼロコピー: リモートバッファとの間でデータを送受信します。
-
高生産性: RoCEによって遅延とスループットが改善されたため、ネットワークパフォーマンスが大幅に向上しました。
-
コスト削減: RoCEでは、大量のデータを処理するために新しい機器を購入したり、イーサネット・インフラを交換したりする必要がないため、企業の設備投資を大幅に節約できます。
図4: RoCE導入前 Vs. 導入後
RoCEの実現方法とは?
一般に、データセンターでコンバージドイーサネット上のRDMAを実現するには、RoCEをサポートするネットワークアダプタやカードドライバをインストールします。すべてのイーサネットNICにはRoCEネットワークアダプタカードが必要です。RoCEドライバは、Red Hat、Linux、Microsoft Windows、その他の一般的なオペレーティングシステム(OS)で利用可能です。コンバージド・イーサネット上のRDMAは2つの方法で利用できます。ネットワークスイッチの場合、PFC(優先フロー制御)をサポートするオペレーティングシステム(OS)でスイッチを使用することができます。ラックサーバーやホストの場合は、ConnectX-3 proやConnectX-4以上のネットワークアダプタカードを使用する必要があります。
「こちらもチェック- ネットワークサーバー & ネットワークスイッチ」
RoCEに関するよくある質問
ここでは、RDMA over converged Ethernet(RoCE)についてよりよく理解しているために、よくある質問を挙げています。
1. RoCEをサポートしているFSスイッチやネットワークカード/アダプタは?
これまで、S5860シリーズとS5850-24S2Q、S5850-24S2Q-DCを除き、FS Nシリーズスイッチ とS58/80シリーズはRoCE v1とv2をサポートしています。お客様はRDMAスイッチを購入した後、PFC機能を有効にする必要があります。さらに、FSはRoCEをサポートするNVIDIAイーサネットアダプタも提供できます。
2. RoCEアダプタは、iWARPのような他のタイプのアダプタと通信できますか?
RoCEアダプタは他のRDMA over converged Ethernetアダプタとしか通信できません。RoCEアダプタとiWARPアダプタを組み合わせるなど、アダプタの種類を混ぜようとする構成は、おそらく従来のTCP/IP接続に戻るでしょう。
3. RoCEとiWARPの違いは何ですか?
RoCEネットワークプロトコルとして、iWARP(インターネット広域RDMAプロトコル)も、より低レイテンシーでRDMA機能をサポートしているが、両者にはいくつかの違いがあります。
一方では、RoCEは業界標準のイーサネットベースのRDMAソリューションであり、マルチベンダーのエコシステムがネットワークアダプタを提供し、標準的なレイヤー2およびレイヤー3イーサネットスイッチ上で動作する唯一のソリューションです。そして、iWARPは最小限のサポートしか受けていません。
もう一方、iWARPは、TCP/IP上でRDMAサービスを提供するために、DDP(Direct Data Placement)、MPA(Marker PDU Aligned framing)として知られる微調整、および個別のRDMAプロトコル(RDMAP)を含む、複雑なレイヤーの組み合わせを使用しています。このような複雑なアーキテクチャでは、iWARPプロトコルが既存のソフトウェア・トランスポート・フレームワークにRDMAを適用するのは難しいです。このような妥協が行われると、iWARPのスループット、遅延、CPU使用率が低下します。
図5: iWARPの複雑なネットワーク層 Vs. RoCEのよりシンプルなモデル
結論
データセンターでRDMAを実行することで、データ移動のオフロードとアプリケーションへのCPUリソースの高い可用性を実現できます。RoCEの採用者は、ネットワークインフラを変更することなく、RDMAの機能の恩恵を受けることができます。RoCEは、イーサネットネットワークのレイテンシーを短縮し、CPUオーバーヘッドをオフロードすることで、検索、ストレージ、データベース、金融、高トランザクションレートのアプリケーションのパフォーマンスを向上させます。CPUの効率を高め、アプリケーションのパフォーマンスを向上させることで、RoCEは必要なサーバーの台数を減らし、省エネを実現し、イーサネットベースのデータセンターのフットプリントを削減します。