【保存版】RoCEネットワーク実装ガイド:データセンターの性能を最大化する設定手順

時間:
RoCE(RDMA over Converged Ethernet)は、データ転送遅延を1マイクロ秒近くまで短縮できる最先端のネットワークプロトコルです。高速かつ低レイテンシーでデータ転送を改善し、ハイパフォーマンス・コンピューティングやクラウド環境に最適なソリューションとなっています。
RoCE(RDMA)は、標準イーサネットネットワーク上でリモートダイレクトメモリアクセス機能を提供し、超低レイテンシとコスト効率の高いインフラストラクチャを実現します。このRDMAのカーネルバイパスメカニズムにより、アプリケーションとNICの間で直接データのやり取りが可能になります。さらに、RoCE ネットワークの導入により、ネットワークパフォーマンスが大幅に向上するだけでなく、企業のデータセンターのスピードとパワーを向上させ、TCOを削減することができます。特に、AIの進化と普及に伴い、AI用のクラスタがこれから急速に増えていくことが予想される中、RoCE rdma技術の重要性はますます高まっています。

本ガイドでは、roceとは ネットワークにおいてどのような役割を果たすのか、その基礎から実装方法、そして最適化のための設定手順まで詳しく解説していきます。データセンターの性能を最大限に引き出すためのRoCEネットワーク構築ノウハウをマスターしましょう。


RoCEネットワークの基礎とバージョンの違い

RoCEネットワークは、UDPベースの通信プロトコルを利用しており、TCP処理を使用しません。そのため、パケットロスや輻輳に対して脆弱性を持っています。これらの課題を解決するためには、ロスレス性を実現する特定のプロトコルが必要です。特に、ECN(Explicit Congestion Notification)はIPレベルで輻輳を検出し、PFC(Priority Flow Control)はL2レベルで8つのトラフィッククラスに応じた制御を行います。
RoCEには主に2つのバージョンが存在します。2010年にIBTAによって最初に策定されたRoCE v1は、イーサネットリンク層(レイヤー2)で動作し、Ethertype 0x8915を使用します。このバージョンでは同一のイーサネットブロードキャストドメイン内の2つのホスト間でのみ通信が可能であり、異なるサブネット間での通信はできません。フレームサイズは標準で1500バイト、ジャンボフレームで9000バイトです。
一方、2014年にリリースされたRoCE v2は、UDPとIPヘッダーを使用することでレイヤー3ネットワーク全体のルーティングをサポートします。UDPポート4791を使用して転送され、異なるサブネット間でも通信可能なため、大規模データセンターやエンタープライズ環境により適しています。このバージョンはルーティング可能なRoCE(RRoCE)とも呼ばれています。

RoCEは既存のRDMAを利用しないイーサネット上のアプリケーションと共存可能です。したがって、FTPやHTTPなどの従来のアプリケーションと同一ネットワーク内で動作させることができます。また、InfiniBandのような専用ネットワークを必要とせず、既存のイーサネットインフラストラクチャを活用できるため、コスト効率に優れています。


RoCEネットワーク構築に必要なハードウェアと設定

RoCEネットワークを実装するためには、適切なハードウェアと設定が不可欠です。まず、すべてのイーサネットNICにはRoCE対応のネットワークアダプタカードが必要となります。一般的なハードウェアベンダーにはMellanox、Broadcom、QLogicなどがあり、ConnectX-3 Pro以上のネットワークアダプタを推奨します。これらのRoCEドライバはRed Hat、Linux、Microsoft Windowsなどの一般的なオペレーティングシステムで利用可能です。
スイッチ設定においては、以下の機能をサポートする必要があります:
  • Global Pause フロー制御(IEEE 802.3x)
  • 複数スイッチ環境ではLink Aggregate Control Protocol(LACP)
  • スイッチフェイルオーバー機能(高可用性環境の場合)
また、RoCEネットワークの構築では、クライアントとサーバーが同じRoCEバージョンを使用することが重要です。クライアントがRoCE v2でサーバーがRoCE v1の場合、接続は確立されません。このような場合は、両方をRoCE v1で通信するよう設定する必要があります。

高可用性環境では、複数のスイッチを相互に接続し、スイッチ間リンク(ISL)として2つ以上のポートを指定して物理的に接続します。さらに、全てのISLをLACPを使用して集約し、両方のスイッチのすべてのISLポートをアクティブポートとしてセットアップする必要があります。


RoCE導入後の検証とトラブル対応

RoCEネットワーク実装後は、適切な動作を確認するための検証とトラブルシューティングが重要です。RDMAはTCPと異なり、完全なロスレスネットワークを必要とするため、実装後の確認作業は特に慎重に行う必要があります。
検証作業の基本として、infinicheckコマンドを使用することで、RoCEネットワークファブリックの構成と接続状態を効率的に確認できます。このコマンドは-pオプションでパフォーマンステストを、-aオプションですべてのチェックを実行します。検証プロセスでは、ファブリックタイプ、RoCE構成設定、接続状態などが自動的に評価されます。
トラブル発生時は、まず症状を正確に特定し、影響を受けるコンポーネントを判別することが効果的な対応の第一歩です。RoCE環境の主な問題として、PFCデッドロックがあります。これは複数のスイッチが同時に輻輳した場合に発生し、永続的なデータフロー停止状態を引き起こします。また、ECNとPFCの両方を適切に設定することで、トラフィックドロップを防ぐことができます。

問題解決のためには、ECNマーキングとCNPパケットの確認、そしてPFCポーズフレームのカウント監視が効果的です。また、configure_roce_hostinfo.shrocelinkinfoといったユーティリティを活用してRoCEネットワークファブリックのスキャンと監視を行うことで、潜在的な問題を早期に発見できます。


結論

RoCEネットワークは、データセンターのパフォーマンスを大幅に向上させる革新的な技術として、特にAI技術の進化に伴い重要性が高まっています。本ガイドでは、RoCEの基本概念から始まり、バージョンの違い、必要なハードウェア要件、そして実装後の検証方法まで詳細に解説しました。
まず、RoCEはUDPベースの通信プロトコルとして、TCPを使用せずに超低レイテンシーを実現します。したがって、適切なECNとPFC設定によるロスレス環境の構築が不可欠です。次に、RoCE v1とRoCE v2の違いを理解することで、適切なバージョン選択ができるようになります。特にRoCE v2は異なるサブネット間での通信を可能にするため、大規模データセンター環境により適しています。
ハードウェア面では、RoCE対応のネットワークアダプタカードとPFCやECNをサポートするスイッチが必要です。さらに、クライアントとサーバーが同じRoCEバージョンを使用することも重要なポイントです。最後に、実装後の検証では、infinicheckコマンドなどのツールを活用したネットワークファブリックの確認と、PFCデッドロックなどの潜在的問題への対策が重要です。
このように、RoCE技術は既存のイーサネットインフラを活用しながら、InfiniBandに匹敵する性能を提供します。結果的に、データセンターの総所有コスト削減と共に、高速かつ効率的なデータ処理環境を実現できます。本ガイドで紹介した設定手順と最適化技術を実践することで、組織のデータインフラは新たな次元のパフォーマンスへと進化するでしょう。

お問い合わせ

個人情報の取り扱いについて をご確認いただき、よろしければ「個人情報の取り扱いについて同意する」にチェックをして、内容を送信してください。
確認画面