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

推薦する

ビッグデータ時代の化粧品業界の「美の真実」を読み解く

ビッグデータは良いものであり、またビッグデータは悪いものです。メイクは良いことであり、メイクは悪いこ...

専門家がデジタル変革とビジネス中心のハイブリッドクラウドの構築について議論

デジタル経済の台頭、インターネットビジネスモデルの変革、そして現在の経済環境の複雑化により、伝統的な...

SaaS起業家に冷水を浴びせる

1995 年、オラクルの CEO ラリー・エリソンは、ネットワーク コンピュータと呼ばれるデバイスを...

経済の不確実性と気候変動が将来のネットワークを再構築する

今日、動的な作業環境、変化するデバイス要件、経済の不確実性などの市場の力により、新しい働き方、ビジネ...

クラウドコンピューティングの8つのメリット

クラウド コンピューティングとは、インターネット経由でコンピューティング サービスを提供することです...

入札で溢れた検索結果ページに直面してSEOを効果的に活用する方法

誰もが経験したことがあると思いますが、検索エンジン市場が 1 つの企業によって独占されると、ルールは...

データマイニングの観点からウェブサイトのユーザーエクスペリエンスを向上させる

ウェブサイトのユーザーエクスペリエンスを向上させ、ユーザー満足度を高めるには、多くのことを行う必要が...

Salesforce、Oracle、IBMの三角関係

「永遠の友も永遠の敵も存在しない。あるのは永遠の利益だけだ。」元英国首相パーマストン氏のこの発言は多...

企業ウェブサイトの最適化に関する3つの提案の簡単な分析

移民労働者は長い間、SEOに関する記事を書いていません。最近オンラインマーケティングを勉強し始めたの...

Google モバイル検索結果の変更

インターネットユーザーにとって、スマートフォンユーザーは著しく急速に成長している新しいグループです。...

2023 年のマルチクラウドに関する 4 つの重要な考慮事項

NetApp のチーフ エバンジェリストである Matt Watts 氏は、マルチクラウド導入の進化...

#NewMerchant# hostemporium-43USD/年/KVM/512M メモリ/10gSSD/4 コンピュータ ルーム

hostemporium.com は新しく設立されたホスティング会社のようです。公式の紹介はほとんど...

マイクロソフト、2013 年に Bing 検索ホームページで最も美しい写真トップ 10 を発表

マイクロソフトの検索エンジン Bing のホームページでは毎日興味深い写真が提供されており、その多く...

Tencent Cloudがオンライン教育の進化を支援

[51CTO.com オリジナル記事] 6月7日と8日の「大学入試戦争」が全国を席巻した。候補者は全...

ハイブリッドクラウドにおけるDevOpsのベストプラクティス

近年、柔軟性、パフォーマンス、スケーラビリティの向上を目的としたさまざまなツール、テクニック、フレー...