システム研究を推進: 合成された Google ストレージの I/O トレースがコミュニティで利用可能に
Phitchaya Mangpo Phothilimthana
Staff Research Scientist, Google DeepMind
Saurabh Kadekodi
Senior Research Scientist, Google
※この投稿は米国時間 2024 年 6 月 26 日に、Google Cloud blog に投稿されたものの抄訳です。
大規模分散ストレージ システムの設計は複雑に入り組んだ課題であり、ストレージのハードウェアとソフトウェアが実際の状況でどのようにやり取りするかについての詳細な分析情報を必要とします。この分野の研究者を支援すべく、Google は最近、ストレージ サーバーとディスクの合成された Google I/O トレースのコレクションをリリースしました。今回のリリースは、ASPLOS 2024 で発表された論文「Thesios: Synthesizing Accurate Counterfactual I/O Traces from I/O Samples(Thesios: I/O サンプルからの正確な反事実的 I/O トレースの合成)」に付随するものです。
I/O トレースとは何か、なぜ重要なのか
I/O トレースとは、ストレージ デバイスやストレージ サーバーで発生する入出力オペレーションの記録であり、実際のストレージの動作とパフォーマンスを理解するうえで不可欠です。その中でも特に重要なのが、エクサスケールのデータセンター(Google など)の多様なパターンや需要をキャプチャする代表的な I/O トレースです。これらのトレースを研究することで、研究者は次のことが行えます。
-
ストレージ システムのパフォーマンスとボトルネックに関する詳細な分析情報を取得する
-
より正確なモデルを構築し、現実的なワークロードをシミュレートする
-
より効率的で信頼性の高いストレージ システムのためのピンポイントな最適化を開発する
しかし、高品質の I/O トレースを取得するのは簡単ではありません。なぜなら、多様なストレージ システムがあるだけでなく、オーバーヘッドを最小限に抑えながら詳細をキャプチャする必要があるからです。こうした問題に対処するために、Google は Thesios と呼ばれる新しい手法を開発しました。
Thesios の紹介: I/O トレースを合成するための手法
Google が開発した Thesios 手法は、正確かつ代表的な I/O トレースを作成するためものです。Thesios は、さまざまなストレージ サーバーにまたがる複数のディスクからダウンサンプリングされた I/O トレース(Google のデータセンターで日常的に収集される)を組み合わせることでこれを実現します。
Thesios は、複数の独立したディスクからの I/O サンプルを組み合わせて、単一ディスクの高解像度の I/O トレースを合成します。
Thesios には、(1)I/O サンプルを収集するサンプリング サービス、(2)類似のディスクを識別するエンティティ識別子、(3)サンプルを組み合わせてサーバーレベルのトレースを生成するトレース シンセサイザー、(4)リクエストの順序とレイテンシを調整してディスクレベルのトレースを生成するトレース再オーガナイザーが必要です。
そこにはどのような課題があるでしょうか。ストレージ システムは内部的に異なっているため、モデル、サイズ、使用率、その他の要素にばらつきがあるディスクから収集されたサンプルを単純に組み合わせても、代表的なトレースは生成されません。Thesios はこのような相違をインテリジェントに考慮して、合成されたトレースが実際の状況を正確に反映するようにします。その結果は、収集した実際の集計統計と比較して、驚異的な精度を示しています。
-
95~99.5%: 読み取り / 書き込みリクエスト数の精度
-
90~97%: 使用率の精度
-
80~99.8%: 読み取りレイテンシの精度
合成されたトレースと実際の統計情報における、読み取りオペレーションの合計数と、レイテンシの影響を受けやすい(L)、スループット指向(TP)、その他(O)のリクエストの内訳。Thesios によって合成されたトレースは、曜日や時間帯の変動を正確に捉えています。
Thesios の独自の機能として挙げられるのが、データドリブンな「what-if」研究を実施するための、反事実的 I/O トレースの合成です。Google の論文では、4 つのケーススタディのサンプルを使って、Thesios がどのようにして多様な反事実的 I/O トレースの合成を可能にし、仮定のポリシー、ハードウェア、サーバーの変更を分析するかを実証しています。
-
容量、使用率、満杯状態が仮定されたディスクの I/O トレースを合成する
-
さまざまなワークロード フィルタ条件を使用してホットディスクやコールド ディスクを実現するデータ分離をテストして、データ分離が電力消費に与える影響を分析する
-
1 分あたりの回転数(RPM)が低いディスクを導入した場合のエネルギー消費とレイテンシへの影響を評価する
-
サーバーのバッファ キャッシュ サイズの増加がキャッシュ ヒットに及ぼす影響を見積もる
これらのトレースをオープンソース化する理由
Google の 3 つの異なるストレージ クラスタから、2 か月間の合成された代表的なトレースを公開しました。これには、約 25 億件の I/O レコードが含まれます。また、これらのトレースには、ユーザー向けアプリケーションと社内アプリケーションの両方からの I/O オペレーションが含まれています。Google の目標は、Google の大規模なデータセンターで直面した現実的なワークロードを共有して、ストレージ システムの研究を後押しすることです。これらのトレースが次のことを実現できることを願っています。
-
ストレージ技術における新しい最適化とイノベーションを呼び起こす
-
大規模ストレージ システムのより正確なシミュレーションとモデリングを可能にする
-
産業界が学術界と本番環境のトレースを安全に共有する方法のモデルとなり、連携と進化を促進する
Google は、システム研究者に Google I/O トレースを探索することをおすすめしています。これらのトレースは、大規模ストレージの複雑な世界を深く掘り下げるとともに、有意義な発展を牽引するまたとない機会を提供すると確信しています。トレースをダウンロードして、今すぐ研究を始めましょう。
ここでご紹介した手法と技術的な詳細については、ASPLOS に掲載されている論文「Thesios: Synthesizing Accurate Counterfactual I/O Traces from I/O Samples(Thesios: I/O サンプルからの正確な反事実的 I/O トレースの合成)」をぜひご覧ください。
この投稿で取り上げた研究は、同僚の Soroush Ghodrati、Selene Moon、Martin Maas との共同研究です。また、トレースのリリースに関するサポートとフィードバックを提供してくれた Larry Greenfield、Mustafa Uysal、Arif Merchant、Seth Pollen、Partha Ranganathan にも深く感謝します。