NVMeとNVMe-oFについて

NVMeとNVMe-oFについて

NVMe トランスポートは、信頼性の高い NVMe コマンドとデータ転送を提供するために設計された抽象プロトコル レイヤーです。データセンターのネットワーク ストレージをサポートするために、NVMe over Fabric を使用して PCIe バス上の NVMe 標準を拡張し、SAN における SCSI の優位性に挑戦します。 NVMe over Fabric は、 FC、InfiniBand、RoCE v2、iWARP、TCP などの複数のファブリック伝送オプションへの NVMe のマッピングをサポートします

[[251462]]

ただし、これらのファブリック オプション プロトコルの中で、 InfiniBand、RoCE v2 ( Routable RoCE) 、および iWARP は RDMA をサポートしているため、理想的なファブリックであると考えられることがよくあります。

  • InfiniBand (IB):最初から RDMA をサポートする新世代のネットワーク プロトコル。これは新しいネットワーク テクノロジであるため、このテクノロジをサポートするネットワーク カードとスイッチが必要です。
  • RDMA 統合イーサネット (RoCE):イーサネット上で RDMA を可能にするネットワーク プロトコル。下位ネットワーク ヘッダーは Ethernet ヘッダーであり、上位ネットワーク ヘッダー (データを含む) は InfiniBand ヘッダーです。これにより、標準のイーサネット インフラストラクチャ (スイッチ) 上で RDMA を使用できるようになります。 NIC のみが特別で、RoCE をサポートする必要があります。
  • インターネット ワイド エリア RDMA プロトコル (iWARP): TCP 経由で RDMA を可能にするネットワーク プロトコル。 IB と RoCE には、iWARP ではサポートされていない機能があります。これにより、標準のイーサネット インフラストラクチャ (スイッチ) 上で RDMA を使用できるようになります。 NIC のみが特別で、iWARP をサポートしている必要があります (CPU オフロードを使用している場合)。そうでない場合、すべての iWARP スタックが SW に実装され、RDMA パフォーマンスの利点のほとんどが失われます。

では、ファブリックよりも NVMe を選択する場合、RDMA をサポートすることにはなぜ固有の利点があるのでしょうか?これは、RDMA の機能と利点から始まります。

RDMA は、プロセッサによる時間のかかる処理を必要とせずに、コンピュータが他のコンピュータのメモリに直接アクセスできるようにする新しいメモリ アクセス テクノロジです。 RDMA は、オペレーティング システムに影響を与えることなく、あるシステムからリモート システムのメモリにデータをすばやく移動します。 RDMA テクノロジーの原理と TCP/IP アーキテクチャとの比較を下の図に示します。

したがって、RDMA は、関連するハードウェアとネットワーク テクノロジを使用して、サーバー 1 のネットワーク カードがサーバー 2 のメモリを直接読み書きできるようにすることで、最終的に高帯域幅、低レイテンシ、および低リソース使用率の効果を実現すると簡単に理解できます。下の図に示すように、アプリケーションはデータ転送プロセスに参加する必要はありません。メモリの読み取りアドレスと書き込みアドレスを指定し、転送を開始して、転送が完了するまで待つだけです。 RDMA の主な利点は次のようにまとめられます。

1) ゼロコピー:ネットワーク プロトコル スタックのさまざまな層間でデータをコピーする必要がないため、データ フロー パスが短縮されます。

2) カーネルバイパス:アプリケーションはデバイス インターフェイスを直接操作し、システム コールを介してカーネル状態に切り替えることはなくなり、カーネル切り替えのオーバーヘッドは発生しません。

3) CPU なし:データ転送には CPU の関与は必要なく、ネットワーク カードによって完全に処理されます。パケット送受信の割り込み処理を行う必要がなく、CPU リソースを消費しません。

まとめると、これらの利点により、処理効率が向上し、レイテンシが短縮されます。他のネットワーク ファブリックが RDMA と同様のテクノロジーを通じて NVMe over Fabric の効率性とレイテンシの要件を満たすことができる場合、それらを NVMe over Fabric のファブリックとして使用することもできますか? NVMe-oF と NVMe の違いを見てみましょう。

NVMe-oF と NVMe の主な違いは、コマンドを送信するメカニズムです。 NVMe は、Peripheral Component Interconnect Express (PCIe) インターフェイス プロトコルを通じて、要求と応答をホスト内の共有メモリにマッピングします。 NVMe-oF はメッセージベースのモデルを使用して、ネットワーク経由でホストとターゲット ストレージ デバイス間で要求と応答を送信します。

NVMe-oF は PCIe に代わるもので、NVMe ホストと NVMe ストレージ サブシステム間の通信距離を延長します。 NVMe-oF の当初の設計目標は、ローカル ホストの PCIe バスを使用する NVMe ストレージ デバイスのレイテンシと比較して、適切なネットワーク ファブリックを介して接続された NVMe ホストと NVMe ストレージ ターゲット間のレイテンシを 10 マイクロ秒以下に抑えることでした。

さらに、両者は技術的な詳細と動作メカニズムにおいて大きく異なります。 NVMe-oF は、NVMe (NVMe over PCIe) をベースに拡張および改善されています。具体的な違いは次のとおりです。

  • NVMe over PCIe との互換性に基づいて命名メカニズムが拡張され、たとえば SUBNQN が導入されました。
  • 用語の変更: カプセルとレスポンスカプセルは送信されたメッセージを表すために使用されます
  • カプセル内データ転送をサポートするために、Scatter Gather Lists (SGL) を拡張しました。以前は、NVMe over PCIe の SGL はカプセル内データ転送をサポートしていませんでした。
  • トポロジ内のNVMサブシステムを検出して接続するための検出および接続メカニズムを追加しました
  • 接続メカニズムにキュー作成メカニズムが追加され、NVMe over PCIe でキューを作成および削除するためのコマンドが削除されます。
  • NVMe-oF には、PCIe アーキテクチャのような割り込みメカニズムはありません。
  • NVMe-oF は CQ フロー制御をサポートしていないため、CQ がオーバーランするのを防ぐために、各キューの OutStanding Capsules の数は、対応する CQ のエントリ数より大きくすることはできません。
  • NVMe-oFはSGLのみをサポートし、NVMe over PCIeはSGL/PRPをサポートします。

まず、Brocade がこれまで提唱してきた FC ファブリックについてお話ししましょう。 FC-NVMe は、NVMe コマンド セットを基本的な FCP 命令に簡素化します。ファイバー チャネルはストレージ トラフィック用に設計されているため、デバイスの検出、管理、エンドツーエンドの検証などの機能がシステムに組み込まれています。

ファイバー チャネルは、100 社を超えるテクノロジー企業が加盟する非営利団体 NVMExpress Inc. によって開発された仕様である NVMe over Fabrics (NVMe-oF) のファブリック トランスポート オプションです。その他の NVMe トランスポート オプションには、イーサネット経由のリモート ダイレクト メモリ アクセス (RDMA) と InfiniBand が含まれます。 NVM Express Inc. は、2016 年 6 月 5 日に NVMe-oF バージョン 1.0 をリリースしました。

国際情報技術標準化委員会 (INCITS) の T11 委員会は、NVMe-oF をファイバー チャネルに適用するためのフレーム形式とマッピング プロトコルを定義しました。 T11 委員会は 2017 年 8 月に FC-NVMe 標準の最初のバージョンを完成させ、INCITS に公開のために提出しました。

FC プロトコル (FCP) を使用すると、NVMe、Small Computer System Interface (SCSI)、IBM 独自の Fiber Optic Connection (FICON) などの上位層トランスポート プロトコルをマッピングして、ホストと周辺ターゲット ストレージ デバイスまたはシステム間のデータおよびコマンドの転送が可能になります。

NVMe over FC は、大規模なブロック フラッシュ ベースのストレージ環境で採用される可能性が最も高くなります。 FC-NVMe ファイバー チャネルは、SCSI と同じ NVMe-oF ファブリック、予測可能性、信頼性機能を提供し、さらに、NVMe-oF トラフィックと従来の SCSI ベースのトラフィックを同じ FC ファブリック上で同時に実行できます。

FC 標準に基づく NVMe は、FC-NVMe プロトコル層を定義します。 NVMe over Fabrics 仕様は、NVMe-oF プロトコル層を定義します。 NVMe 仕様は、NVMe ホスト ソフトウェアと NVM サブシステム プロトコル層を定義します。

潜在的なメリットを実現するために NVMe over Fibre Channel をサポートする必要があるインフラストラクチャ コンポーネントには、ストレージ オペレーティング システム (OS) やネットワーク アダプタ カードなどがあります。 FC ストレージ システム ベンダーは、自社製品を FC-NVMe 要件に準拠させる必要があります。 FC-NVMe をサポートするホスト バス アダプタ (HBA) の現在のベンダーには、Broadcom と Cavium が含まれます。 Broadcom と Cisco が主要な FC スイッチ サプライヤーです。現在、Brocade の Gen 6 FC スイッチはすでに NVMe-oF プロトコルをサポートしています。

NVMe over Fabric のホワイト ペーパーでは、ファイバー チャネルが NVMe over Fabrics のオプションとして明示的にリストされており、理想的なファブリックには信頼性の高いクレジット ベースのトラフィック制御および配信メカニズムが必要であることも説明されています。ただし、クレジットベースのフロー制御メカニズムは、FC および PCIe 伝送のネイティブ機能です。 NVMe のホワイト ペーパーでは、RDMA は「理想的な」NVMe over Fabric の重要な属性としてリストされていません。つまり、RDMA は NVMe Fabric を実装するための単なる方法であること以外は特別なものではありません。

FC は、DMA データ転送をサポートするゼロコピー テクノロジーも提供します。 RDMA は、ローカル サーバーからリモート サーバーにスキャッター ギャザー リストを渡すことによってローカル メモリをリモート サーバーと効果的に共有し、リモート サーバーがローカル サーバーのメモリを直接読み書きできるようにします。 NVMe over FC の詳細については、「NVMe over FC または FC-NVMe 標準」および「Brocade が FC を最適なファブリックと考える理由」を参照してください。

次に、RDMA テクノロジーをベースに NVMe over Fabric を実装する Fabric テクノロジーについて説明します。 RDMA テクノロジーは Infiniband ネットワークで初めて登場し、HPC 高性能コンピューティング クラスターの相互接続に使用されます。 NVMe over InfiniBand は、非常に高い帯域幅と低いレイテンシを必要とする高性能コンピューティング ワークロードに適しています。 InfiniBand ネットワークは通常、ホストとストレージ間の通信ではなく、バックエンド ストレージ システム内の通信に使用されます。 FC と同様に、InfiniBand は特別なハードウェアを必要とするロスレス ネットワークですが、フローおよび輻輳制御やサービス品質 (QoS) などの利点があります。しかし、FC とは異なり、InfiniBand にはファブリックにノードを自動的に追加する検出サービスがありません。 RDMA の詳細については、「RDMA テクノロジの原理の分析、主流の実装の比較と分析」の記事を参照してください。

***、NVMe/TCP プロトコル オプション (一時的に NVMe over TCP と呼ばれます) について説明します。数年前、NVMe Express 組織は、伝送制御プロトコル (TCP) 伝送オプション (TCP ベースの iWARP とは異なる) をサポートすることを計画していました。最近、NVM Express Inc. は 16 か月ぶりに NVMe over TCP の最初のバージョンをリリースしました。このファブリック標準の出現により、NVMe プロトコル標準に準拠したファブリックを NVMe over Fabric として使用できるかどうかという疑問が解消されました。

ただし、TCP プロトコルはローカル PCIe アクセスよりもはるかに高いネットワーク遅延をもたらし、NVMe プロトコルの低遅延目標を損ないます。 RDMA テクノロジーを使用せずに、NVMe/TCP はどのようなテクノロジーを使用して RDMA テクノロジーと同様の伝送効果を実現しますか?以下は、Intel ストレージ ソフトウェア エンジニアの Yang Ziye 氏の言葉を引用し、NVMe/TCP の誕生につながったいくつかの技術的な理由について説明しています。

1. NVMe 仮想化の出現: NVMe 仮想化を前提としているため、NVMe-oF ターゲットには必ずしも実際の NVMe デバイスは必要ありません。これは分散システムから抽象化された仮想 NVMe デバイスである可能性があり、物理 NVMe デバイスの高性能特性を継承しない可能性があります。この前提の下では、低速 TCP プロトコルを使用することは悪い考えではありません。

2. 下位互換性: NVMe-oF プロトコルは、ある程度 iSCSI プロトコルを置き換えることを目指しています (元の iSCSI プロトコルは RFC3720 であり、多くの拡張機能があります)。 iSCSI プロトコルはイーサネット上でのみ実行できます。ネットワーク カードに対する要件はそれほど多くなく、ネットワーク カードが RDMA をサポートする必要もありません。もちろん、RDMA がサポートされている場合は、iSER プロトコルを使用してデータ転送用の CPU リソースをオフロードできます。ただし、NVMe-oF プロトコルは当初 TCP をサポートしていませんでした。そのため、ユーザーが iSCSI から NVMe-oF に移行すると、多くの既存のネットワーク デバイスが使用できなくなります。これにより、NVMe-oF プロトコルの受け入れが減少します。ユーザーがパフォーマンスを第一に考慮していないという前提の下では、既存の NVMe-oF プロトコルのハードウェア要件が顧客の変革に障害となり、ユーザーのデータセンターのスムーズなアップグレードを妨げることは明らかです。

3. TCP オフロード: TCP プロトコルはパフォーマンスを大幅に低下させますが、TCP でもオフロードを使用したり、スマート NIC や FPGA を使用したりすることができます。そうすれば、潜在的なパフォーマンス損失をある程度補うことができます。一般的に、短期的にはパフォーマンスが低下しますが、長期的にはプロトコルのハードウェア要件が削減され、パフォーマンスが向上します。その結果、全体的な受容性が向上します。

4. ソフトウェア RoCE との比較: TCP トランスポートが存在せず、ユーザーが RDMA ネットワーク カード デバイスを持っていない場合。 NVMe-oF をテストする場合は、ソフトウェア RoCE を使用してネットワーク デバイスを RDMA 機能を備えたデバイスにシミュレートし、対応するテストを実行する必要があります。実際の実装では、カーネルの対応するモジュールを使用して実際の UDP パケットをカプセル化し、RDMA プロトコルをシミュレートします。 TCP トランスポート プロトコルでは、それほど複雑ではありません。ユーザーは、より信頼性の高い TCP プロトコルを使用して、NVMe-oF の関連テストを実行できます。テスト展開の点では、よりシンプルで効果的です。

NVMe/TCP (NVMe over TCP) プロトコルは、iSCSI データの読み取りと書き込みの伝送プロトコルなど、ある程度 iSCSI プロトコルを借用しています。これは驚くべきことではありません。なぜなら、プロトコルの指定された参加者の中には、iSCSI プロトコルの指定された参加者もいるからです。また、iSCSI プロトコルの一部は非常によく記述されています。しかし、NVMe/TCP は iSCSI プロトコルよりもシンプルで、両者の本質を併せ持つとも言えます。

<<:  予想外に、分散キャッシュによって登録センターがこのようにダウンしてしまいました。

>>:  2019 年のクラウド コンピューティング市場の競争は企業にとって何を意味するのでしょうか?

推薦する

クラウドコンピューティング:パンデミック中に出現した新しいインフラの最初の都市

2020 年はクラウド コンピューティング市場にとって大きな好況期となることは間違いありません。突然...

微博の囚人のジレンマ

最近、Sina Weiboが音楽業界を怒らせた。 「新浪微博は公演情報や本の共有会の流通を制限した。...

Dell Technologies Cloud Platform: 「新インフラ」時代のクラウドネイティブ変革の「エスコート」

今年の疫病の突発的発生は、間違いなく現在の経済運営システムの能力に対する「大きな試金石」であり、企業...

簡単な説明: SEOデータ分析機能の重要性

周知のとおり、検索エンジンのアルゴリズムは最近頻繁に更新されており、SEO 業界が直面している課題は...

Intel Xeon 5500: 仮想化のために生まれた

「愛ゆえに悲しみあり、愛ゆえに恐れあり、愛を捨てれば悲しみも恐れもなくなる」は『妙色王因果経』より。...

UCloudの新製品UDBCPが発売

近年、国はセキュリティレベルの保護評価への関心を継続的に高めており、セキュリティレベルの保護に関連す...

中国のオンラインビデオの歴史における4つの同盟の解釈

数日前、数年にわたる発展と業界での地盤を徐々に固めてきた百度傘下の動画サイト「iQiyi」が突然、「...

Red Hat の Zhang Xianmin: オープンハイブリッドクラウドの構築

2012 年、Red Hat はオープンソースの Linux ソフトウェアから始まり、年間収益が 1...

Douyin アシスタント ソフトウェア_Douxiaozhu カスタマー サービス ソフトウェアはいかがでしょうか?特徴は何ですか

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスDouyin Assis...

自動車モデル会社のウェブサイトの簡単な SEO 診断

1. あなたのウェブサイトから判断すると、誰かがすでに最適化していますが、結果はまあまあです。ランキ...

分析例: ウェブサイトが公開された日にスナップショットがある理由

ウェブサイトを公開した後にスナップショットを取得することは、多くのウェブマスターが夢見ていることです...

Cloudsilkの香港VPSレビュー、3つのネットワークに中国移動のCMI回線をバックホールに使用させる

一昨日cloudsilkが立ち上げた香港のVPSはモバイルCMIとBGPネットワークに接続されていま...

コミュニティ製品の衰退は、その強い生命力を証明しています!

QQ 製品は時代の流れに合わせて昼夜を問わず更新されており、模倣技術の多くはオリジナルの技術よりも優...

Baiduの外部最適化を行う方法についての考察

ウェブサイト運営の最適化のプロセスにおいて、Baidu の検索エンジン最適化は間違いなく最大の市場シ...

SAP、2022年第2四半期の業績を発表

• クラウド収益は34%と24%(固定為替レート)増加し、最大の収益源となった。 • 現在のクラウド...