NVMe トランスポートは、信頼性の高い NVMe コマンドとデータ転送を提供するために設計された抽象プロトコル レイヤーです。データセンターのネットワーク ストレージをサポートするために、NVMe over Fabric を使用して PCIe バス上の NVMe 標準を拡張し、SAN における SCSI の優位性に挑戦します。 NVMe over Fabric は、 FC、InfiniBand、RoCE v2、iWARP、TCP などの複数のファブリック伝送オプションへの NVMe のマッピングをサポートします。
ただし、これらのファブリック オプション プロトコルの中で、 InfiniBand、RoCE v2 ( Routable RoCE) 、および iWARP は 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) をベースに拡張および改善されています。具体的な違いは次のとおりです。
まず、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 年のクラウド コンピューティング市場の競争は企業にとって何を意味するのでしょうか?
サロンイベントでは、中国ソフトウェア産業協会企業製品クラウドサービス支部秘書長、中国ソフトウェアネッ...
はじめに:なぜ当当は大きく成長できないのか?それは上場のタイミングの問題であり、事業レイアウトの問題...
分散システムでのリクエスト追跡は、Trace ID と Span ID を通じて実現され、記録された...
クラウド コンピューティング市場セグメントで事業を展開する多くのベンダーは、クラウド コンピューティ...
人は、自分の発言と行動に一貫性を持たせることを好みます。これは人間の本性です。意図的であろうとなかろ...
コンテンツ ページの最適化に関しては、ほとんどのウェブマスターの友人がその重要性を理解していると思い...
スパイダーSEO:キーワードの選び方とは?キーワード選びのスキルと戦略に関する雑談SEO(検索エンジ...
SEO 業界で働く人なら誰でも Zac という名前を知っているでしょう。彼は素晴らしい人物でもありま...
たった1日の午後、私は注意を払っていませんでした。子供の世話をしていたのですが、私のQQグループがブ...
データが指数関数的に増加し、それを一元的に保存および管理する能力を超えている中で、エッジ分析が組織が...
[[268044]] 1. はじめにLinux では、ext2、ext3、vfat など、さまざまな...
「現場認証ラベル」の真偽疑惑、連立政権の「財務運営資金」数千万の行方を調査記者の曽宋が深圳からレポー...
当社は 2006 年からホスティング サービスに携わっており、実際の商業運営は 2009 年に開始し...
今日の絶えず進化する小売業界では、常に時代の先頭に立つことが重要です。国際的に取引を行う企業は、より...
百度6月28日の事件以来、多くのウェブサイトがブロックされている。私のウェブサイトもその一つで、完全...