より多くのデータへより高速にアクセスする

メモリー、デバイス、コンピューティング・システムの各レベルで大幅に低減されるデータのレイテンシーについて詳しく説明します。

インテル® Optane™ テクノロジーは、メモリー、デバイス、コンピューティング・システムの各レベルでデータのレイテンシーを大幅に低減します。

コンピューティング・システムは、基本的にアルゴリズムの傾向を利用して、一部のデータに他のデータより頻繁にアクセスしたり (時間的局所性)、すぐ近くに格納されたデータにアクセスすることで (空間的局所性)、パフォーマンスを向上させ、コストを削減できるようになっています。アクセス頻度の高いデータは高速で小容量のメモリーに保持され、アクセス頻度の低い多くのデータは、ビット当たりのコストがはるかに低いストレージに保持されます。コンピューティング・システムやそのシステムで実行されているソフトウェア内でのメモリー間におけるこの相互作用は、メモリー / ストレージ階層と一般に呼ばれます。

この階層のすべてのレベルで、データアクセスの帯域幅とレイテンシーの両方が重要となります。既存のメモリー / ストレージ・テクノロジーの長年にわたる持続的改善において、帯域幅は継続的に拡大されてきましたが、レイテンシーはほぼ一定のままでした。しかし、メモリーとしてもストレージとしても利用できるインテル® Optane™ テクノロジーの導入により、NAND 型 SSD の導入、または DRAM が導入されて以来の最も重要なテクノロジーが階層に追加されることになります。この概要ではまず、インテル® Optane™ SSD によるかつてない低レイテンシーの提供について説明し、次に、同じ基盤を使用したインテル® Optane™ メディアで、システムメモリーとして導入される、インテル® Optane™ DC パーシステント・メモリーのシステムレベルにおける利点について詳しく説明します。

ストレージのレイテンシーを大幅に低減するインテル® Optane™ DC SSD
インテル® Optane™ テクノロジーは、ストレージのレイテンシーをかつてないレベルで低減します。アプリケーションで発生する平均レイテンシーだけでなく、システム負荷が高いときにまれに発生する長いレイテンシーでさえも低減されます。

図 1 は、優れた NAND ベースのインテル® SSD DC P4610 とインテル® Optane™ SSD DC P4800X の 2 つの SSD の比較を示しています。1 レイテンシーと負荷のこの複雑なグラフについて少し説明します。

図 1. インテル® Optane™ SSD は、負荷時に NAND ベースの SSD よりもはるかに低いレイテンシーを実現

リード・レイテンシーがシステムのパフォーマンスの多くを決める
x 軸は、SSD のテスト結果で得られるリード / ライトの合計 IOPS を示しています。各負荷 (実現される IOPS レベル) について、リード I/O のレイテンシーは、Flexible I/O ツール (FIO) を使用してデータ返送を測定し、y 軸を使用してプロットされています。ソフトウェアでは処理を進めるために要求されたデータを必要とすることが多く、最初にデータを読み取るため、リード・レイテンシーを測定しました。一方、ライト時はほとんどの SSD で永続性がすぐに保証されます。書き込みは SRAM に保持され、電源障害が発生した場合でも、不揮発性メモリーへ確実に書き込まれます。そのため、ほとんどの場合、システムのパフォーマンスを決定するのはリード・レイテンシーです。

各 SSD のパフォーマンスは線群としてプロットされています (青の実線がインテル® Optane™ SSD、緑の破線が NAND 型 SSD)。各線は、測定された平均レイテンシーと、発生頻度の低い、長いリード・レイテンシー (レイテンシーのヒストグラムの右側に表示されるため、「テール」とよく呼ばれます) を表しています。リードを完了するまでの時間は、多くの要素 (メモリー・テクノロジー、SSD のビジー状態など) に左右されるためばらつきがあります。平均レイテンシーだけでなく、レイテンシーの分布も理解することが重要です。各 SSD の一番下の線が平均 (50 パーセンタイルの) レイテンシーです。

次の線が 99 パーセンタイルのレイテンシーであり、99.999 パーセンタイルのレイテンシーを表す一番上の線まで続きます。99.999 パーセンタイルのレイテンシーは、100,000 回のリードのうち、2 番目に遅いリードを示してます。これは、一部のアプリケーションにとって重要な低頻度のイベントです。

最後に、y 軸のラベルを見落とさないでください。片対数プロットであるため、各グリッド線は前の線との 10 倍の差を表しています。これで図 1 を理解できたので、この図を使用していくつかの重要な結論を導き出すことができます。

NAND の障壁を打ち破るインテル® Optane™ テクノロジー
インテル® Optane™ テクノロジーの基盤となっているのは、インプレース・ライトをサポートし、DRAM と同様にバイトアドレス指定可能かつ NAND と同様に不揮発性であり、2 つの間にリード / ライトのレイテンシーがある、全く新しいメモリーメディアです。インテル® Optane™ テクノロジーは、インテル® Optane™ メモリーメディアを、インテル® コントローラー、ソフトウェア、システム・インターコネクトと組み合わせたもので、メモリーとして導入することも、ストレージとして導入することもできます。

アクセスを高速化するインテル® Optane™ メモリーメディア
インテル® Optane™ メモリーメディアは、NAND 型 メディアよりもはるかに高速でデータを提供します。また、インテル® Optane™ SSD は、NAND 型 SSD コントローラーで見られるファームウェアが関与するパスとは異なり、SSD コントローラーを介したハードウェアのみの SSD リード / ライトパスによって、コンピューティング・システムの残りの部分にその利点を提供するように設計されています。

各 SSD の平均レイテンシーの線 (図 1 の一番下の線) は、インテル® Optane™ SSD が、図に示されているすべての 70/30 (リード /ライト) IOPS レベルで 10 倍以上のレイテンシー優位性 (Flexible I/O ツール (FIO) を使用して測定) を提供することを示しています。これは、データ返送時間が平均してわずか 10 分 の 1 であることを意味します。インテル® Optane™ メモリー・テクノロジーは、バイトアドレス指定が可能であり、迅速なインプレース・ライトを可能にします。NAND では、比較的低速の書き込みの前に、大きなブロックの読み取りと非常に大きなブロックの消去が必要です。データが迅速に返されるということは、待機時間が減り、アプリケーションの実行時間が短縮されるということです。

多くの場合、SSD の仕様書にはノミナル・インテンシーまたはアイドル・レイテンシーが記載されています。図 1 では、このレイテンシーを平均レイテンシーの線の左端のポイントとして示しています。これは、曲線内の、キューの深さが 1 (QD=1) のポイントです。このポイントの測定では、FIO は単一のスレッドを使用して、単一の 4KB リードまたはライトを要求し、その転送が完了するまで待ってから、別の 4KB リードまたはライトを要求しました。QD=1 の場合、インテル® Optane™ SSD は NAND 型 SSD よりもはるかに高い IOPS を提供することが分かります。これは、インテル® Optane™ SSD の方が低レイテンシーだからこそです。実際に、これはスループットに対する低レイテンシーの影響です。また、インテル® Optane™ SSD は NAND 型 SSD よりもはるかに多くの処理 (より多くの IOPS) を完了しているので、QD=1 (または、実際には任意の一定の QD) が公平な比較ポイントとはいえないことも意味しています。SSD のレイテンシーは、図 1 のような同じ負荷の下で比較する必要があります。

インテル® Optane™ SSD では、このメディアの利点を生かして、書き込みが完了するまでの長い待機と、NAND 型 SSD に固有のガベージ・コレクションを回避します。つまり、インテル® Optane™ SSD は、NAND 型 SSD で見られるバックグラウンド・ライトやリードによる遅延が起こることはありません。これらの利点は、上記の重要なサービス品質 (QoS) のメリットにつながります。グラフでは、各 SSD の平均レイテンシーの線の上方に広がる線群の高さと形状から QoS が分かります。NAND 型 SSD の 99.999 パーセンタイルのレイテンシーは平均レイテンシーの 10 倍以上ですが、インテル® Optane™ SSD のレイテンシーの分布はその 10 倍のしきい値の範囲内に留まっています。さらに重要なのは、インテル® Optane™ SSD の各線は、すべてのパーセンタイルで NAND 型 SSD よりもはるかに平らであることです。この理想的な曲線は、インテル® Optane™ SSD が、高負荷時でもより安定したパフォーマンスを提供できることを意味します。

多くのアプリケーションでは、SSD のレイテンシーが低く、QoS が優れているほどパフォーマンスが向上します。一部のアプリケーションでは、平均レイテンシーが低いと、ストレージアクセスから制御が戻るまでの待機に費やされる合計時間が減り、実行時間が短縮されることが確認されています。この場合、インテル® Optane™ SSD はユーザー体験を向上させることができます。また、ユーザーの応答性の要件があり、各ユーザーの表示操作に複数のアクセスが必要な他のアプリケーションでは、QoS の向上により、応答性の要件を超える前により多くのユーザーをサポートできるようになります。この場合、インテル® Optane™ SSD によって、システムがより多くのユーザーをサポートすることが可能となり、コストの面で優位に立てます。

ソフトウェア・レイテンシー: 新領域
最新のインテル® Optane™ DC SSD の場合も同様ですが、SSD の常駐データにアクセスする際に、ドライブとアプリケーションの間には、レイテンシーの一因となる、オペレーティング・システムの複数のソフトウェア・レイヤーがあります (図 2 を参照)。このソフトウェアは、一般に「ストレージスタック」と呼ばれます。

図 2. インテル® Optane™ SSD のレイテンシーの重要な部分であるストレージスタック

アプリケーションがリードやライトを開始するとき、その要求がオペレーティング・システムに渡されます。同時に、ストレージスタックで実行される命令を CPU が処理する際に、合計で最大 4 ~ 10 マイクロ秒 (μs)、またはさらに長い時間を要する場合があります。この時間は、NVMe* プロトコルを使用して PCIe*入出力 (I/O) バスを介してデータを移動するために必要な時間と、SSD 自体がストレージメディアからデータを読み取るために必要な時間の合計と同じかそれ以上になります。

オペレーティング・システムが費やす時間は、待機時間であるだけでなく、CPU がビジー状態である時間でもあります。3GHz の CPU を搭載したシステムでの処理を想像してください。この例では、1 マイクロ秒は 3,000 クロックに相当します。つまり、10 マイクロ秒のソフトウェア・レイテンシーは、ユーザー・アプリケーションが実行されずに費やされる 30,000 クロックに相当します。ハードウェアがどれだけ高速であっても、ソフトウェアのこのオーバーヘッドはほぼ同じです。このオーバーヘッドを回避するには、新たなアプローチが必要となります。

インテル® Optane™ DC パーシステント・メモリーによるソフトウェアのオーバーヘッドの回避
インテル® Optane™ テクノロジーを SSD ではなくパーシステント・メモリーとして導入することで、ソフトウェアのこのオーバーヘッドのほとんどを排除できます (図 3 を参照)。インテル® Optane™ DC パーシステント・メモリーは、PCIe* バスではなく、メモリーチャネルに直接接続します。インテル® Optane™ DC パーシステント・メモリーは、高速メモリーバス上にある、モジュール・フォームファクターの新しいメモリー層ですが、高品質のストレージ として永続性 を備えています。

図 3. NAND 型 SSD、インテル® Optane™ DC SSD、インテル® Optane™ DC パーシステント・メモリーのリード・レイテンシーの比較

インテル® Optane™ DC パーシステント・メモリーは、メモリーのロード / ストア命令を使用して CPU から直接アクセスするために永続データのマッピングを可能にし、データのリード / ライト時にオペレーティング・システムのストレージスタックをバイパスすることにより、ソフトウェアのオーバーヘッドを回避します。オペレーティング・システムは、アクセスの設定に直接関与しデータの場所へのポインターを提供しますが、通常のリード / ライトのためのアクションを実行する必要はありません。これにより、作業データ用の大容量のバイトアドレス指定可能なスペースへの非常に高速なダイレクト・ロード / ストア・アクセスが可能になります。

インテル® Optane™ DC パーシステント・メモリー・モジュールの高度に最適化されたアーキテクチャーにより、レイテンシーが大幅に低減されます。このモジュールは、高度に最適化されたハードウェアのみのリード / ライト パスを備えた、特別に設計されたメモリー・コントローラーと、CPU 自体のカスタマー・メモリー・コントローラーに接続する機能を搭載しています。

この新しいメディアと最適化された設計により、データが DRAM にある場合は 100ns 未満、アプリケーション・ダイレクト・モードのインテル® Optane™ DC パーシステント・メモリー上にある場合は最大 340ns のアイドル平均レイテンシーを実現します。1 この 2 種類のメモリーが 1 つの階層として連携するため、レイテンシーが範囲として示されます (図 4 を参照)。

図 4. インテル® Optane™ DC パーシステント・メモリーはほとんどのソフトウェア・レイテンシーを排除

パーシステント・メモリーはストレージではなくメモリーとしてシステムで扱われるため、データ要求はサイズの小さいより効率的な 64 バイトアクセスで実行されます。各ロード / ストア命令では、低レイテンシーで 64 バイト・キャッシュ・ラインをフェッチします。そのため、インテル® Optane™ DC パーシステント・メモリー・モジュールでは、インテル® Optane™ DC SSD でアクセスされる 4KB よりもはるかに小さい 256 バイトのデータのリード / ライトが実行されます。2 3 つまり、きめ細かく少ないオーバーヘッドでデータにアクセスできるので、ソフトウェア開発者は、より小規模な構造を使用してアプリケーションを簡素化できます。

高スループットの使用に対応するインテル® Optane™ テクノロジーのパフォーマンス
インテル® Optane™ テクノロジーの平均アイドル・レイテンシーは素晴らしいメリットを提供しますが、実際のアプリケーションは、リード/ ライトを同時に行いデータに高速でアクセスします。この種の大量のトラフィックが存在する場合、これらのアプリケーションでは低レイテンシーのアクセスが特に高く評価されます。インテル® Optane™ DC パーシステント・メモリーのパフォーマンスの利点を理解するために、SSD 間の差異の分析に使用した負荷プロットのレイテンシーに戻ります。説明を分かりやすくするために、ここでは平均レイテンシーだけに注目します。図 5 は、単一の SSD またはメモリー・モジュールのさまざまなシステム・スループットでの平均レイテンシーを示しています。図に示す 3 つのテクノロジーは、任意のスループットでレイテンシーが 10 分の 1 以下に徐々に低減されており、アプリケーションが優れた能力を発揮できる魅力的なストレージ階層を提供します。

図 5. インテル® 3D NAND SSD、インテル® Optane™ DC SSD、インテル® Optane™ DC パーシステント・メモリーの負荷時のレイテンシーの比較

インテル® Optane™ DC パーシステント・メモリーは、すべての帯域幅で圧倒的な低レイテンシーを提供し、永続性とともに真に比類のないパフォーマンスを実現します。1 2 3 インテル® Optane™ DC パーシステント・メモリーが提供する非常に低い平均レイテンシー (青い線) は、全く新しいタイプのストレージを表しています。このレイテンシーは、アクセスの局所性に応じて 100ns ~ 340ns であることをすでに説明しました。グラフから、測定されたレイテンシーがその範囲の下部に収まっていることは明らかです。これは、4 つのキャッシュラインで構成された 256 バイトアクセスを測定し、そのうちキャッシュラインの 1 つは該当しませんでしたが、残りの 3 つは該当し、平均レイテンシーが範囲の下部に位置することで確認できます。負荷を大幅に増やしても、この低レイテンシーが一貫していることに注目してください。1 つのメモリー・モジュールでも、テスト対象のどちらの SSD よりも非常に高いスループットを維持できます。

データセンターでのパーシステント・メモリーの使用
インテル® Optane™ DC パーシステント・メモリーは、一貫した低レイテンシー、不揮発性、大容量を実現するので、多くの用途で実用性を備えています。大量のデータに対応するためにミッション・クリティカルなパフォーマンスを必要とするインメモリー・データベース・アプリケーションなどに最適です。例えば、金融サービス機関は競争力を維持するために、過去の大量のデータに関連付けられた、絶えず変化する取引データを活用しています。これらの企業は、情報を迅速に処理するために、DRAM を使用してリアルタイムの洞察を提供するインメモリー・データベースを頻繁に利用します。しかし、DRAM の使用には、次のようないくつかの欠点があります。

  • インテル® Optane™ DC パーシステント・メモリーと比較してギガバイト当たりのコストが高い
  • DIMM 当たりの容量が制限されている
  • 揮発性であるため、再起動や電源障害の後にシステムを再び利用可能な状態にするには、そのたびに大量のデータセットをメモリーに読み込む必要がある

これに対して、インテル® Optane™ DC パーシステント・メモリーには次の利点があります。

  • ギガバイト当たりのコストが削減されるので、同じ予算内でデータサイズを拡張することが可能となり、アプリケーションによっては低コストで同様のパフォーマンスを実現可能
  • 大容量メモリー (モジュール当たり最大 512GB の DRAM)
  • 永続性を備えているので、停電やシステムリセット後に迅速に復旧可能

インテル® Optane™ DC パーシステント・メモリーは大容量であるため、金融サービス機関や大企業で使用されるデータ階層化環境を劇的に変えることができます。組織では、必要に応じて低コストの NAND 型 SSD から DRAM にウォームデータを移行する代わりに、メモリー内に大規模な不揮発性のホットデータ層を作成することで、データ・サイエンティストやアナリストに、大規模なデータセットを使用した重要な洞察へのリアルタイムまたはほぼリアルタイムのアクセスを提供できます。

まとめ
インテル® Optane™ テクノロジーは、数十年ぶりに量産される新しいメモリー・テクノロジーです。標準の OS ストレージスタックと API を介してアクセス可能なソリッドステート・ドライブとしてプラットフォームに加わりました。インテル® Optane™ SSD として、NAND 型 SSD よりも一桁低いレイテンシーと、さらに優れたサービス品質を提供します。この新しいメモリー・テクノロジーは、第 2 世代インテル® Xeon® スケーラブル・プロセッサーと組み合わせて最適化されたシステムの一部として、システムメモリーとしても利用できるようになりました。オペレーティング・システムのオーバーヘッドなしで、アプリケーションから直接アクセスできます。インテル® Optane™ DC パーシステント・メモリーは、極めて低いレイテンシーで DRAM よりも大きな容量と永続性を提供します。このテクノロジーでは、どんなスループットでもレイテンシーが次第に 10 倍以上低減されるため、アプリケーションが優れた能力を発揮できる魅力的なストレージ階層が提供されます。NAND 型 SSD、インテル® Optane™ SSD、インテル® Optane™ パーシステント・メモリーを組み合わせてメモリー / ストレージ階層を構成することで、適切なレベルにデータを配置できるようになり、データに素早くアクセスして優れたシステム・パフォーマンスを実現します。

著者紹介: Frank Hady

Frank Hady はインテルフェローであり、インテルの不揮発性メモリー・ソリューション・グループ (NSG) の Optane システム・チーフ・アーキテクトです。インテル® Optane™ テクノロジー製品の研究と定義、コンピューティング・システムへの統合を牽引しています。

Frank の実績は次のとおりです。

  • インテルのプラットフォーム I/O アーキテクト・リーダーに就任
  • インテル® QuickAssist テクノロジー (インテル® QAT) の基礎となる研究を実施
  • ネットワーキング、ストレージ、I/O イノベーションに関する 30 本の公表論文を執筆または共同執筆
  • 30 件を超える米国特許を保有
  • バージニア大学で電気工学の学位を取得し、メリーランド大学で博士号を取得

詳細情報

インテル® Optane™ テクノロジーによるデータセンターのメモリー / ストレージ階層構造の変革の詳細については、メモリー / ストレージに関するテクニカルシリーズのその他のドキュメントを参照してください。

インテル® Optane™ DC パーシステント・メモリーの詳細については、

https://www.intel.co.jp/content/www/jp/ja/products/memory-storage/optane-dc-persistent-memory.html を参照してください。

インテル® Optane™ DC SSD の詳細については、

https://www.intel.co.jp/content/www/jp/ja/products/memory-storage/solid-state-drives/data-center-ssds/optane-dc-ssd-series.html を参照してください。

参考資料「Intel® Optane™ technology: Memory or storage?Both」

https://www.intel.com/content/www/jp/ja/products/docs/memory-storage/optane-technology/what-is-optane-technology-brief.html

免責事項

1出典 – 性能の測定結果は 2018年11月15日時点のインテルが実施したテストに基づいています。測定には FIO* 3.1 を使用。共通の構成 - インテル® 2U サーバーシステム、OS: CentOS* 7.5、カーネル 4.17.6-1.el7.x86_64、CPU: インテル® Xeon® Gold 6154 プロセッサー (3GHz、18 コア) x2、RAM 256GB DDR4 (2666MHz)。構成 – インテル® Optane™ SSD DC P4800X 375GB およびインテル® SSD DC P4610 シリーズ 3.2TB。インテルのマイクロコード: 0x2000043、システム BIOS: 00.01.0013、ME ファームウェア: 04.00.04.294、BMC ファームウェア: 1.43.91f76955、FRUSDR: 1.43。ベンチマーク結果は、追加テストの実施に伴って改訂される場合があります。
2出典 – 性能の測定結果は 2019年2月20日時点のインテルが実施したテストに基づいています。構成: インテル® C620 シリーズ・チップセット、28 コア インテル® Xeon® スケーラブル・プロセッサー (QDF QQYZ)、2,666 MT/s (megatransfers per second)、256GB、18W、32GB DDR4 DRAM (ソケット当たり)、128GB インテル® Optane™ DC パーシステント・メモリー (ソケット当たり)、ファームウェア: 5336、BIOS: 573.D10、WW08 BKC、Linux* OS 4.20.4-200.fc29* を実行。パフォーマンス・チューニングのサービス品質 (QoS) 無効、IODC=5(AD)。性能の測定結果はシステム構成の詳細に記載された日付時点のテストに基づいています。また、現在公開中のすべてのセキュリティー・アップデートが適用されているとは限りません。詳細については、公開されている構成情報を参照してください。絶対的なセキュリティーを提供できる製品またはコンポーネントはありません。性能に関するテストに使用されるソフトウェアとワークロードは、性能がインテル® マイクロプロセッサー用に最適化されていることがあります。SYSmark* や MobileMark* などの性能テストは、特定のコンピューター・システム、コンポーネント、ソフトウェア、操作、機能に基づいて行ったものです。結果はこれらの要因によって異なります。製品の購入を検討される場合は、ほかの製品と組み合わせた場合の本製品の性能など、ほかの情報や性能テストも参考にして、パフォーマンスを総合的に評価することをお勧めします。詳細については、http://www.intel.com/benchmarks/ (英語) を参照してください。
3インテル® テクノロジーの機能と利点はシステム構成によって異なり、対応するハードウェアやソフトウェア、またはサービスの有効化が必要となる場合があります。実際の性能はシステム構成によって異なります。絶対的なセキュリティーを提供できる製品またはコンポーネントはありません。詳細については、各システムメーカーまたは販売店にお問い合わせいただくか、http://www.intel.co.jp/を参照してください。記載されているコスト削減シナリオは、指定の状況と構成で、特定のインテル® プロセッサー搭載製品が今後のコストに及ぼす影響と、その製品によって実現される可能性のあるコスト削減の例を示すことを目的としています。状況はさまざまであると考えられます。インテルは、いかなるコストもコスト削減も保証いたしません。Intel、インテル、Intel ロゴ、Intel Optane、Xeon は、アメリカ合衆国および/またはその他の国における Intel Corporation またはその子会社の商標です。* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。