ワークロードによって生成されるI/Oリクエストは、単一の均一なサイズではなく、さまざまなサイズに分布しています。そして、この分布はQLC SSDとHDDの相対的なパフォーマンスと容量要件に大きく影響します。
全2回のブログシリーズの第1回では、なぜI/OサイズがHDDとSSDの経済性を左右するのかについて解説しました。第2回では、なぜQLC SSDが、Micron 6600 ION SSDのようにG9 QLC NANDを搭載することで、HDDと比較して使用可能なPBあたりのコストに優れ、今日のワークロードを処理するために必要なSSDの電力効率とパフォーマンスを体現しているのか、さらに詳しく説明します。
ストレージソリューションの評価において、QLC NANDフラッシュと従来のハードディスクドライブ(HDD)を比較する場合、ドライブのテラバイト単価という基本的な指標にとらわれないことが重要です。ワークロードのI/Oサイズ分布がシステム全体のパフォーマンスに与える影響を理解すると、コストが大きく左右される可能性があることがわかります。
オブジェクト保存のようなワークロードを検討することから始めましょう。合計10PBのデータセット、1テラバイトあたり6MB/sの総スループット要件、65:35の読み込み/書き込み比率という設定です。このスループットは、28TB HDDがサポートする最大値(1テラバイトあたり約6.2MB/s)をわずかに下回っています。一見すると、HDDソリューションで十分なように思えるかもしれません。しかし、データアクセスパターンを詳しく見ると、この結論に疑問が生じます。具体的に説明するため、まずは代表的なオブジェクトストレージワークロードのI/Oサイズ分布を調べてみます。
ワークロードI/Oヒストグラム:これが重要である理由
図1は、サンプルワークロードの読み取りおよび書き込みI/Oサイズの分布を示しています。HDDのオブジェクト保存では、高いスループットを実現するため、主にデータを4MiBのチャンク単位で書き込みます。一方、読み取りは対数正規分布に従い、ピークは1MiBですが、多くの場合、範囲指定読み取り操作のためにそれよりも小さくなります(書き込みチャンクサイズが大きいため、多くの場合、小さなオブジェクトが詰め込まれる結果となります)。こうした小さな読み取りおよび書き込みはストレージデバイスのパフォーマンスに大きな影響を与える可能性があり、特に小さなI/Oサイズの処理効率が低いHDDでは顕著です。
HDDはI/Oサイズが小さいとパフォーマンスが著しく低下するため、一般的に、ディスクへの小さな書き込みの数を減らす目的で、書き込みキャッシュが利用されています。書き込みキャッシュは、小さな書き込み操作の影響を軽減するためによく使用されます。今回の例として、キャッシュが128KiB以下のすべての書き込みI/O処理を吸収すると仮定します。これは、より大きな書き込みのみがディスク自体に送られることを意味します。読み取り側では、すべての小さな読み取り操作がキャッシュ内のデータにヒットするわけではありません。キャッシュヒット率を75%と仮定しましょう。
書き込みキャッシュを適用すると、図2に示すように、ディスクから見たワークロードが変化します。HDDから小さなI/Oのかなりの部分が削減されました。ただし、HDDにおいては、残っている少量の小さな読み取りであっても、パフォーマンスのボトルネックとなる可能性があります。
ワークロードのヒストグラムに対応するために必要な容量
各デバイスで観測された実効I/Oヒストグラムに基づき、次のステップでは、ワークロードのスループットを維持するために必要な物理容量を決定します。次のステップは、これらの要求を満たすために必要な物理ストレージ容量を計算することです。HDDの場合、この計算にはネットI/Oヒストグラム(キャッシュ後)を使用します。一方、QLCフラッシュは小さなI/Oサイズをはるかに効率的に処理するため、調整を行わずに生データのヒストグラムを使用します。この違いは極めて重要です:QLCは小さなI/Oサイズに関してより高いスループットを実現できるため、小さな読み取りや書き込みが中心のワークロードにおいて、ドライブ数の削減とシステム全体のコスト低減が可能となります。表1は、同一ワークロードに対して、データ容量とI/Oスループットの両方を満たすために必要なドライブ数をまとめたものです。
図3は、I/Oヒストグラムおよび1MB/sを実現するために必要なTBを示す曲線を用いて計算された、各I/Oサイズでスループットを実現するために必要な累積PBを示しています。10PBのワークロードデータ要件は赤い線で示されており、28TB HDDはその線を超えています。
QLCのパフォーマンスとコストの優位性
QLCでは、同じI/Oを実現するために必要な容量がより少なくて済むことが、明確にわかります。この場合、マイクロンの10,000TBシステムでは以下が必要です:
| ドライブの種類 | データ用ドライブ | I/O用ドライブ | I/O用ドライブの割合 | ワット | ワット/データPB |
|---|---|---|---|---|---|
| 28TB HDD | 357 | 458 | 128% | 3,890 | 389 |
| 245TB QLC | 41 | 15 | 37% | 1,230 | 123 |
ここでは全体的なスループット密度は6MB/s/TBですが、28TBのHDDでこれを実現するには28%多くのHDDが必要となり、それでも10,000TBの使用可能容量しか提供できません。
しかし、QLCは利用可能なパフォーマンスの約37%、HDDの消費電力の約32%しか使用しません。つまり、QLCのドライブ単価($/TB)がHDDの4倍であると仮定すると、HDDの容量が1.28倍になれば、他の要因を考慮に入れない場合、その差は3.1倍に縮小します。
結論
I/Oサイズ分布が実際のストレージ要件を決定します。
この例では、QLC SSDの例はHDDの例の約3分の1の電力を使用しており、その比は1,230W対3,890Wです。この電力差に加え、HDDではI/O要件を満たすために物理ドライブが28%多く必要となりますが、QLCでは同じワークロードを余裕を持って処理できます。
このことを考慮すると、コストと価値の比較は変わってきます。
小規模I/Oを多く含むオブジェクトワークロードにおいて、生メディアのTB単価は、実際に導入されるシステムの実態を反映するものではありません。使用可能なPBあたりのコストのほうが、より適切な比較基準となります。なぜなら、これはワークロードを処理するために必要なドライブ、電力、パフォーマンスを反映しているからです。
その基準で見れば、QLCは当初のTB単価比較が示唆するよりも、HDDに近い可能性があります。