デザインツール

無効な入力です。特殊文字はサポートされていません。

SSD

FDPとLatency Monitorによるストレージレジリエンスの向上

スティーヴン・ウェルズ

はじめに - FDPとLatency Monitorは、高レジリエンスSSDアーキテクチャーを支える重要な要素です。

最近私が執筆した2本のブログ記事は、一見するとあまり関連のないようなテーマを取り上げています。しかしその後、業界の同僚たちと何度か話す中で、実際には私が考えていた以上に深く関わり合っていることが分かりました。そこで今回のブログでは、これらの関連性をさらに掘り下げます。特にレイテンシーの低減に着目し、NVM ExpressのFlexible Data Placement(FDP)と、OCP Storage Work GroupのLatency Monitor(LM)という2つの戦略が、いずれも垂直統合型の高レジリエンスを支える要素であることを深掘りします。
 

振り返り - 垂直統合型レジリエンス

シフトレフトのアプローチでSSDのレジリエンスに革命をもたらす」というブログでは、高レジリエンスの実現に関わるホスト側およびストレージデバイス側両方の要素を概観しました。バージョン1の「OCP SSD仕様」から始まり、現在の第3版に当たるバージョン2.5に至るまで、レジリエンスを支える要素が段階的に追加されてきました。パニック検出、パニックリカバリー、標準化テレメトリーについては、すでに取り上げました。今回は、その中でも特に、1) Flexible Data Placement、2) Latency Monitorの2つを詳しく見ていきたいと思います。

垂直統合型レジリエンスの機能概要

図1 - 垂直統合型レジリエンスの機能概要

 

テールレイテンシーの低減を通じて垂直統合型レジリエンスを強化するNVM Express™ Flexible Data Placement(FDP)

書き込み増幅(WA)の低減によってホストアプリケーションの耐久性をさらに高められるため、SSDレジリエンスを強化する手段としてのFDPは、妥当で分かりやすい選択肢に思えます。この点については、業界でも、そしてマイクロンの同僚による他のブログ記事でも、幅広く取り上げられています。また、すでに述べたとおり、FDPを使用してパフォーマンスを改善できる場面が複数あることも示しています。これは驚くべきことではありません。ガベージコレクションの削減と同様に、業界で観測される実運用に近いワークロードも改善する可能性があります。

とはいえ、レイテンシーの外れ値の低減は、垂直統合型レジリエンスの機能の一つと見なせるのでしょうか。また、FDPはそれに役立つのでしょうか。以前のブログ記事「データセンターSSDのレイテンシーが重大である理由と、マイクロンがどのようにしてクラス最高になったのか」では、スケールアウトソリューションにおいてレイテンシーの外れ値がなぜこれほど深刻な問題になるのかという考え方と、マイクロンが世界トップクラスのソリューションを実現するために導入した技術について掘り下げました。ただし、その記事では垂直統合を前提としておらず、垂直統合型のFDPソリューションがいかにしてレイテンシーのさらなる改善を実現するかについては触れていませんでした。

FDPの役割がガベージコレクション(GC)の発生量を減らすことであるなら、FDPがレイテンシーの外れ値も抑えることは明らかに思えます。もちろん、GCがなく、WAF=1の場合でも、ホスト起因の読み取り、プログラム、消去がさまざまなチャネル、ダイ、プレーンで発生することにより、レイテンシーのばらつきは依然として生じます。ただし、書き込み増幅率が2~3、あるいはそれ以上になると、競合が発生する可能性が高まり、その結果、レイテンシーの外れ値の影響も大きくなります。では、FDPはレイテンシーの外れ値をどの程度改善できるのでしょうか。

NAND動作に影響を与えるホスト側および内部動作の概要

図2 - NAND動作に影響を与えるホスト側および内部動作の概要。こうした内部動作がトラフィックを増大させる要因となり、一般には「書き込み増幅」として測定される。

ここでは、レイテンシーに関する私のブログ記事で詳しく紹介した、業界で一般的な手法を用いて、高負荷時の4KiBランダムワークロードにおける読み取りレイテンシー分布を見ていきます。条件は、読み取り70%、書き込み30%です。FDPを使用しないケースはシンプルで、業界慣行に従っています。FDPのベストケースの代替指標としてWAが1の状態を測定するために、新しいネームスペースを作成し、総容量の一部だけを事前コンディショニングしたうえで、70/30のワークロードを実行しました。このケースでは、8TBのMicron 7500 SSDに対して1TB分だけ事前コンディショニングを行い、物理メディアが満杯になってGCが開始されるまで、I/Oはその1TBの範囲に制限しました(未マッピングのLBAを読み取らないようにするため)。

以下の図3は、まず書き込み負荷がない場合の読み取りレイテンシー分布を示し、続いて持続的な書き込み負荷がある場合の分布を示しています。これまでの多くの結果から、FDPのWAはおよそ1であることが示唆されており、したがって、テールレイテンシーのばらつきは最大30%低減できると期待できます。

FDPによってガベージコレクション負荷を軽減することで、テールレイテンシー分布を大幅に抑制できます

図3 - FDPによるガベージコレクション負荷の軽減で、テールレイテンシー分布を大幅に抑制できる。

 

OCP Storage WorkgroupのLatency MonitorによるSSDレジリエンスの強化

以前のブログでレイテンシー低減について述べた際、データベースクエリが複数のサブクエリに分割されて並列実行される場合、テールレイテンシーは発生確率こそ低いものの、総レイテンシーに大きな影響を与えると説明しました。そのブログでは、レイテンシーの外れ値の原因を特定し、修正することがいかに難しいかについても述べました。一方で、レイテンシーの外れ値が想定どおりであることを、どのように証明するかについては触れていませんでした。FIOのようなツールを使えば、システムレベルで各トランザクションにタイムスタンプを付与し、必要なレイテンシーヒストグラムを算出できます。しかし、現在のドライブは数百万IOPSを処理できるため、実際のアプリケーション環境でシステムレベルのリアルタイムブロックトレースを作成し、外れ値を探すのは計算コストが高すぎます。さらに、仮にそれが可能だったとしても、ホストが外れ値を検出し、必要なデバッグデータを含むTelemetry Host-Initiatedリクエストを送信する頃には、SSD側のデバッグ情報がすでに失われている可能性があります。

私はFMS 2017の論文に取り組んでいた際に、まさにこの問題に直面しました。その中で、SSDコントローラには、すべてのコマンドの到着時刻と完了時刻を記録し、レイテンシーを測定し、詳細なヒストグラムを作成し、値が高すぎる場合にはアサートをトリガーするだけの十分な計算能力があることを実証しました。そのケースでは、データは後で抽出して分析できるよう、内部で収集されていました。提示されたデータはすべて、SSD自体が内部で生成したものです。

この研究の成果に加え、Metaから示された重要なニーズを踏まえて、SSD Latency Monitorのコンセプトが正式化され、OCP Datacenter NVMe SSD Specificationのバージョン2に初めて盛り込まれました。大まかに言うと、完了した各コマンドにタイムスタンプを付与し、それを対応する受信時のタイムスタンプと比較して、レイテンシーを算出します。ホスト側で設定可能な4つのヒストグラムバケットが、タイムスタンプ付きで作成されます。ホストがデバッグログを要求するまでに生じる遅れに対処するため、コマンド完了時点でレイテンシーが閾値を超えていた場合は、内部デバッグログがただちに保存され、後でベンダーが分析できるようになっています。また、OCP Storageの標準化テレメトリーがさらに普及すれば、レイテンシーの外れ値に関する、より詳細なデバッグ情報も取得できるようになります。

Storage Developer Conference 2022では、Metaのヴィニート・パレク氏とヴェンカト・ラメーシュ氏が、自社フリートへのLatency Monitorの導入状況と、それによって特定された重要な問題の一例を紹介しました。彼らは、仮に1,000IOPSで稼働するフリート全体で、1秒のレイテンシーを伴う9ナインの外れ値が発生した場合、1日当たり5,000件を超えるレイテンシーイベントになると指摘しました。パレク氏とラメーシュ氏は、Latency Monitorを導入した問題のあるSSDドライブの事例も示し、導入前には数か月にわたって未解決だったレイテンシーの外れ値の問題を、効率的にデバッグできたことを説明しました。以下の図4は、Latency Monitorのアーキテクチャーと、この困難な外れ値デバッグの成功事例をまとめたものです。

Latency Monitorのもう1つの利点は、それまでストレージデバイスの問題と考えられていたホスト側のレイテンシー問題を特定できることです。最近の例が2つあります。1つは、レイテンシーの外れ値がきっかけとなって、NVMe仕様の機能拡張につながったLinuxの問題に関するものです。もう1つは、マイクロンの同僚であるサヤーリー・シロデのブログで紹介された事例です。Latency Monitorを用いることで、測定されたレイテンシーの外れ値の原因が、問題となっていたSSDではないことを示しました。

効率的なデバッグを可能にするLatency Monitorログ

図4 - Storage Developer Conference 2022でMetaが紹介したレイテンシー外れ値のデバッグ事例

 

結論 – マイクロンが高レジリエンスSSDのアーキテクチャーと設計を採用

2023年11月のブログでは、レジリエンスの革新には「シフトレフト」が必要だと述べました。このエコシステムには、測定と検出が必要であるだけでなく、ホストとベンダーの相互作用をカバーするための垂直統合も求められます。パニックレポート、パニックリカバリー、テールレイテンシーの大幅な低減といった要素については、すでに触れました。ここで強調したいのは、そうした2つの考え方を組み合わせる要素が2つあるということです。

  1. OCPのLatency Monitor機能は、SSDデバイスだけでなく、ソフトウエアエコシステムにおけるレイテンシーの外れ値を排除するうえでも重要です。
  2. データ配置、特にFDPは、耐久性とパフォーマンスを向上させるとともに、レイテンシーの外れ値を最大30%低減します。

最後に、もう2点。

  • FMSでは、私が「ハイパースケールアプリケーション」に関するセッションの進行役を務めます。このセッションでは、MetaがLatency Monitorを大規模導入した経験について、さらに詳しく紹介する予定です。ぜひご参加ください。この秋のカンファレンスでも、FDPをめぐって有意義な議論が交わされることを期待しています。
  • OCP StorageのNVMe-CLI向けプラグインにより、ベンダーに依存しないシームレスな方法で、FDPとLatency Monitorの両方の設定とレポート出力を行えるほか、標準化テレメトリーのデコードなどの重要な機能も利用できます。

 

謝辞

  • FDPの実験設計を担当してくれたマイクロンのチャンドラ・グダと、テストの実行を支援してくれたジョン・マジーに感謝します。

 

参考資料

シフトレフトのアプローチでSSDのレジリエンスに革命をもたらす | Micron Technology Inc.

データセンターSSDのレイテンシーが重大である理由と、マイクロンがどのようにしてクラス最高になったのか | Micron Technology Inc.

ハイパースケール環境で観測されたフラッシュの問題の大規模なデバッグ - SNIA SDC 2022(sniadeveloper.org)

ワークロードテストにおけるレイテンシーの異常値を特定する | Micron Technology Inc.

I/O決定論により、SSDにおけるコストのかかる読み取りレイテンシーの変動を回避する(flashmemorysummit.com)

Aerospikeを使用する実際のワークロードにおけるFDPのメリット | Micron Technology Inc.

I/Oブレンダーの排除:Flexible Data Placementがもたらすもの | Micron Technology Inc.

ストレージシステムのアーキテクト担当フェロー

Steven Wells

スティーヴン・ウェルズはマイクロンのフェローです。次世代SSDソリューションを専門としており、不揮発性ストレージの分野で65件以上の特許を保有しています。1987年からフラッシュ部品とSSDの設計に携わっており、ISSCC、JSSC、Flash Memory Summit、Storage Developer Conference、OCP Global Summitなど、複数の会議で発表を行っています。また、NVM Expressの取締役を務めています。

Related blogs