データ圧縮技術を使用したSSDのベンチマーク
「コンピュテーショナルストレージテクノロジーを搭載したSSDがますます主流となっています。今回は、透過圧縮などの新機能をテストする方法について紹介します。
透過圧縮とは何か?
透過的またはインライン圧縮は、特定のワークロードにおいて「アクセラレータ」のように機能し、直感に反するように思われることがあります。しかし、フラッシュメモリ内部で何が起こっているかを理解すれば、その理にかなっていることがわかります。トランスペアレント圧縮は、データをフラッシュへ書き込む際に圧縮し、ホストアクションなしで読み取る際に解凍します。ホストは、これがSSD内で発生していることに気付かないことさえあります。透過的な圧縮は、高い持続的なランダム書き込みIOPS、混合ワークロードにおける読み取り待機時間の改善、および書き込み増幅の低減を通じて耐久性を向上させるアクセラレーション機能です。これにより、特に高いIOPS環境でCPUベースの圧縮に伴う多くのトレードオフが排除されます。
基本的な前提は、Flashへの書き込みアクティビティを減少させることで、次の利点を得ることができるということです。
持続的なランダム書き込みIOPSの増加
読み取り/書き込みが混在するワークロードにおける読み取り待機時間の改善(書き込みから読み取りへの干渉の低減による)
書き込まれるデータ量を減らすことによる耐久性の向上
透過圧縮はどのように機能するのか?
データの圧縮性は、パフォーマンスと耐久性を大幅に向上させるために必要な程度ではありません。2:1の圧縮率を超えると、ホストデータは物理的に使用可能なメディアの半分未満しか占有しないため、ガベージコレクションがほとんどまたはまったく不要になり、収益が減少することがわかります。圧縮の別の効果は、SSDへの追加のオーバープロビジョニング(OP)の効果的な増加です。市場では、7%のOP「読み取り集中型」と28%のOP「書き込み集中型」容量(たとえば、3.2TB対3.84TB)が中心に展開されており、空き容量はわずか20%です。1.2:1の圧縮比は「読み取り集中型」ドライブを「書き込み集中型」ドライブに変えることができます。通常、LZ4(またはSnappy)圧縮データは20%(ハフマンコーディング段階を通じて)さらに圧縮できます。
ScaleFlux SSDの容量はどのくらいですか?
データが圧縮可能な場合、ホストに追加の容量を提供できます。これは、NVMeシンプロビジョニング機能セットを使用して行われ、名前空間のサイズを物理容量を超えて設定できます。物理使用率はネームスペースの使用状況フィールドで報告され、ホストによって監視されます。これは、パフォーマンスとのトレードオフではありません。データが平均して2:1の圧縮可能であると仮定すると、容量を3.84TBから6.2TBに拡張し、28%のOPパフォーマンスレベルを維持できます。
最適な結果を得るには、読み取り/書き込みワークロードと待機時間の混在に注力します。
透過的な圧縮を使用するドライブのベンチマークテストを行う場合、読み取りと書き込みが混在するワークロードを選択します。パフォーマンスは、非圧縮から最大2.5:1の圧縮までのさまざまな圧縮レベルで保存されたデータのレイテンシとIOPSの結果に基づいて評価されます。さらなる圧縮性は容量の拡張に適用します。
たとえば、読み取りパフォーマンスを最大化しながらランダム書き込みの数を着実に増やすテストがあります。
上記のチャートでは、ScaleFluxは赤で、別のGen4 SSDは青です。実線は「読み取りIOPS」で、破線は「達成された書き込みIOPS」です。書き込みIOPSの試行回数が増えると、読み取りパフォーマンスへの影響ははるかに少なくなり、書き込みIOPSを直線的にスケーリングし続けることもできます。
ワークロードが圧縮を利用していない場合、ドライブはどのように比較されますか?
圧縮ができない場合、データは圧縮をバイパスし、SSDのパフォーマンスは主要なGen4 NVMe SSDと競争力があります。言い換えれば、データの圧縮性はすべて利点です。
テストのベストプラクティス
ドライブの容量をテストする際に行うべきことの1つは、nvme-cliのアップストリームバージョンをダウンロードすることです。このプラグインは最新バージョンが利用可能で、SSDでの書き込み増幅と全体的な圧縮率を簡単に報告できます(nvme sfx / dev / nvme…スマートログ追加)。詳細はhttps://github.com/linux-nvme/nvme-cliを参照してください。
最後に、私たちのFIO環境はGitHub上で利用可能です。パフォーマンス上の利点を強調したいいくつかのテストが含まれています(上記のプロットのデータも含まれています)。詳細はREADMEにて、FIO設定を圧縮率にマッピングするテーブルも提供しています。詳細はhttps://github.com/kpmckay/fio-scriptsをご覧ください。
これで、ドライブ機能のテストを開始するために必要な情報をすべて得たと思います。バーチャル店舗で私に連絡するか、info@unea-x.comまで私たちのチームにお問い合わせいただく際は、お気軽にどうぞ。