はじめに
前回に続いて、2023年に公開された論文「Profiling Hyperscale Big Data Processing」に基づいて、Googleの大規模データ処理システムのプロファイリングデータを紹介します。今回は、実際に収集されたプロファイリングデータについて説明します。
処理時間の分割方法
システムプロファイリングの目的は、システムを構成するどの部分、もしくは、どのような処理に実行時間が割かれているのかを分析することです。そこで、まずは、処理時間を計測する部分をいくつかのカテゴリーに分けておきます。冒頭の論文では、次のように、3つの階層に分けて段階的にカテゴリーを分割しています。
まずはじめに、システムの処理時間を次の3つに分割します。
・システムを構成するノードによるCPU処理時間
・分散ストレージによるI/O処理時間
・システム外のリモートサービスによる処理時間
最後のリモートサービスの内容はシステムによって異なりますが、Spannerであれば、同期処理のためのコンセンサスプロトコルの完了待ち時間、BigTableであれば、リモートストレージのコンパクション処理、そして、BigQueryであれば、ステージ間のシャフル処理などがあります。この3つのカテゴリーの処理時間は、第164回からの 記事で紹介した、分散トレーシングツールのDapperで計測できます。
この続きは以下をご覧ください
(リンク »)
お問い合わせにつきましては発表元企業までお願いいたします。