インテル® 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 レイテンシーと負荷のこの複雑なグラフについて少し説明します。
リード・レイテンシーがシステムのパフォーマンスの多くを決める
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 を参照)。このソフトウェアは、一般に「ストレージスタック」と呼ばれます。
アプリケーションがリードやライトを開始するとき、その要求がオペレーティング・システムに渡されます。同時に、ストレージスタックで実行される命令を 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 パーシステント・メモリーは、高速メモリーバス上にある、モジュール・フォームファクターの新しいメモリー層ですが、高品質のストレージ として永続性 を備えています。
インテル® Optane™ DC パーシステント・メモリーは、メモリーのロード / ストア命令を使用して CPU から直接アクセスするために永続データのマッピングを可能にし、データのリード / ライト時にオペレーティング・システムのストレージスタックをバイパスすることにより、ソフトウェアのオーバーヘッドを回避します。オペレーティング・システムは、アクセスの設定に直接関与しデータの場所へのポインターを提供しますが、通常のリード / ライトのためのアクションを実行する必要はありません。これにより、作業データ用の大容量のバイトアドレス指定可能なスペースへの非常に高速なダイレクト・ロード / ストア・アクセスが可能になります。
インテル® Optane™ DC パーシステント・メモリー・モジュールの高度に最適化されたアーキテクチャーにより、レイテンシーが大幅に低減されます。このモジュールは、高度に最適化されたハードウェアのみのリード / ライト パスを備えた、特別に設計されたメモリー・コントローラーと、CPU 自体のカスタマー・メモリー・コントローラーに接続する機能を搭載しています。
この新しいメディアと最適化された設計により、データが DRAM にある場合は 100ns 未満、アプリケーション・ダイレクト・モードのインテル® Optane™ DC パーシステント・メモリー上にある場合は最大 340ns のアイドル平均レイテンシーを実現します。1 この 2 種類のメモリーが 1 つの階層として連携するため、レイテンシーが範囲として示されます (図 4 を参照)。
パーシステント・メモリーはストレージではなくメモリーとしてシステムで扱われるため、データ要求はサイズの小さいより効率的な 64 バイトアクセスで実行されます。各ロード / ストア命令では、低レイテンシーで 64 バイト・キャッシュ・ラインをフェッチします。そのため、インテル® Optane™ DC パーシステント・メモリー・モジュールでは、インテル® Optane™ DC SSD でアクセスされる 4KB よりもはるかに小さい 256 バイトのデータのリード / ライトが実行されます。2 3 つまり、きめ細かく少ないオーバーヘッドでデータにアクセスできるので、ソフトウェア開発者は、より小規模な構造を使用してアプリケーションを簡素化できます。
高スループットの使用に対応するインテル® Optane™ テクノロジーのパフォーマンス
インテル® Optane™ テクノロジーの平均アイドル・レイテンシーは素晴らしいメリットを提供しますが、実際のアプリケーションは、リード/ ライトを同時に行いデータに高速でアクセスします。この種の大量のトラフィックが存在する場合、これらのアプリケーションでは低レイテンシーのアクセスが特に高く評価されます。インテル® Optane™ DC パーシステント・メモリーのパフォーマンスの利点を理解するために、SSD 間の差異の分析に使用した負荷プロットのレイテンシーに戻ります。説明を分かりやすくするために、ここでは平均レイテンシーだけに注目します。図 5 は、単一の SSD またはメモリー・モジュールのさまざまなシステム・スループットでの平均レイテンシーを示しています。図に示す 3 つのテクノロジーは、任意のスループットでレイテンシーが 10 分の 1 以下に徐々に低減されており、アプリケーションが優れた能力を発揮できる魅力的なストレージ階層を提供します。
インテル® 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™ パーシステント・メモリーを組み合わせてメモリー / ストレージ階層を構成することで、適切なレベルにデータを配置できるようになり、データに素早くアクセスして優れたシステム・パフォーマンスを実現します。