Coordination services and protocols are critical components of distributed systems and are essential for providing consistency, fault tolerance, and scalability. However, due to the lack of standard benchmarking and evaluation tools for distributed coordination services, coordination service developers/researchers either use a NoSQL standard benchmark and omit evaluating consistency, distribution, and fault tolerance; or create their own ad-hoc microbenchmarks and skip comparability with other services. In this study, we analyze and compare the evaluation mechanisms for known and widely used consensus algorithms, distributed coordination services, and distributed applications built on top of these services. We identify the most important requirements of distributed coordination service benchmarking, such as the metrics and parameters for the evaluation of the performance, scalability, availability, and consistency of these systems. Finally, we discuss why the existing benchmarks fail to address the complex requirements of distributed coordination system evaluation.
academic- 論文ID: 2403.09445
- タイトル: How to Evaluate Distributed Coordination Systems? -- A Survey and Analysis
- 著者: Bekir Turkkan (IBM Research)、Elvis Rodrigues (University at Buffalo)、Tevfik Kosar (University at Buffalo)、Aleksey Charapko (University of New Hampshire)、Ailidani Ailijiang (Microsoft)、Murat Demirbas (MongoDB)
- 分類: cs.DC (分散コンピューティング)
- 発表時期: arXivプレプリント、最終更新2025年10月27日
- 論文リンク: https://arxiv.org/abs/2403.09445
分散型協調サービスとプロトコルは分散システムの重要なコンポーネントであり、一貫性、耐障害性、スケーラビリティの提供に不可欠である。しかし、標準的なベンチマークと評価ツールの欠如により、分散型協調サービスの開発者と研究者は、NoSQL標準ベンチマークを使用しながら一貫性、分散性、耐障害性の評価を無視するか、独自のアドホックなマイクロベンチマークを作成して他のサービスとの比較ができないかのいずれかである。本研究は、既知で広く使用されているコンセンサスアルゴリズム、分散型協調サービス、およびこれらのサービスに基づいて構築された分散アプリケーションの評価メカニズムを分析・比較する。著者は、分散型協調サービスベンチマークの最も重要な要件を特定し、性能、スケーラビリティ、可用性、一貫性評価のメトリクスとパラメータを示す。最後に、既存のベンチマークが分散型協調システム評価の複雑な要件を満たせない理由について論じる。
分散型協調システム(コンセンサスアルゴリズム、協調サービス、分散アプリケーションを含む)は、標準化された評価ベンチマークの欠如により、以下の問題が生じている:
- 評価の不完全性:開発者はNoSQLベンチマーク(YCSB等)を使用しながら一貫性、分散性、耐障害性を無視するか、カスタムマイクロベンチマークを使用する
- 比較可能性の欠如:各システムが異なるメトリクスと技術を採用したカスタムマイクロベンチマークを使用するため、公正な比較ができない
- 評価の断片化:性能、スケーラビリティ、可用性、一貫性を包括的に評価するための統一フレームワークが存在しない
- 実務的ニーズ:クラウドコンピューティングとビッグデータアプリケーション(検索エンジン、ソーシャルネットワーク、ビデオストリーミング、IoT)はすべて分散型協調に依存している
- 技術進化:Paxosからraftへ、さらにWPaxos、SwiftPaxos等のWAN最適化バリアントへと継続的に進化している
- 広範な応用:Google Spanner、Apache Kafka、Twitter Manhattanなどの重要なシステムはすべて協調サービスに依存している
- 評価の複雑性:分散型協調システムは、性能、一貫性、耐障害性、地理的分散など複数の次元の特性を同時に考慮する必要がある
既存ベンチマークツールの不足:
- YCSB:単一クライアントプロセス、データアクセス重複、アクセス局所性などの重要なパラメータをサポートしない
- TPC-C:主にトランザクション処理を対象とし、協調サービスの特定の要件に適さない
- Jepsen:ツール内部の深い理解が必要で、ブラックボックステストではなく、採用が困難
- WAN対応の欠如:ほとんどのツールは地理的に分散したシナリオの評価をサポートしない
本論文は、30以上の分散型協調システムの評価実践の系統的調査を通じて、以下を目的としている:
- 現在の評価実践の共通点と相違点を特定する
- 分散型協調システム評価の中核的要件を抽出する
- 既存ベンチマークツールの欠陥を分析する
- 将来の標準化ベンチマークツール開発に指針を提供する
- 系統的調査:30以上の分散型協調システム(13個のコンセンサスアルゴリズム、10個の協調サービス、7個の分散アプリケーションを含む)の評価実践を分析
- トポロジー分類:6種類の実験トポロジー構造(フラット、スター、マルチスター、階層化、グリッド、中央ログ)を特定・定義し、システムアーキテクチャの理解のためのフレームワークを提供
- メトリクスとパラメータ体系:
- 4つの主要評価メトリクスを系統的に整理:性能、スケーラビリティ、可用性、一貫性
- 重要なワークロードパラメータを特定:読み書き比率、データアクセス重複、アクセス局所性、オブジェクト数とサイズ等
- ベンチマーク要件:分散型協調システムベンチマークの7つの中核的要件を提案:
- 柔軟性と複雑性
- WAN システムサポート
- ベンチマークスケーラビリティ
- 採用の容易性
- ブラックボックステスト能力
- 一貫性検証能力
- 障害注入能力
- ギャップ分析:10以上の既存ベンチマークツール(YCSB、TPC-C、Jepsen、Elle等)の能力と不足を系統的に分析
- 実践的ガイダンス:研究者とエンジニアに分散型協調システム評価のベストプラクティスと注意事項を提供
本論文は新しい技術的手法を提案するのではなく、系統的調査と分析を実施する。タスクには以下が含まれる:
- 入力:30以上の分散型協調システムの論文と評価資料
- 処理:評価トポロジー、メトリクス、パラメータ、ツール等の情報を抽出
- 出力:評価実践の系統的な要約、要件分析、ツール能力の比較
著者は関連性、時間性、影響力に基づいて3つのカテゴリーのシステムを選択した:
カテゴリーI:コンセンサスアルゴリズム(13個)
- Paxosバリアント:Mencius、FPaxos、Multi-Paxos、Hybrid-Paxos、E-Paxos、M2 Paxos、WPaxos、SwiftPaxos、Omni-Paxos
- その他のプロトコル:Raft、Bizur、ZAB、Hydra
カテゴリーII:協調サービス(10個)
- ZooKeeper、Tango、Calvin、WanKeeper、ZooNet、Boki、FlexLog、SplitFT、Fabric、Narwhal
カテゴリーIII:分散アプリケーション(7個)
- Spanner、DistributedLog、PNUTS、COPS、CockroachDB、OceanBase、ScalarDB
著者はクォーラム作成方法とリクエスト処理方法に基づいて6つのトポロジーを定義した:
| トポロジータイプ | 特性 | 代表的システム |
|---|
| フラットトポロジー | 複数リーダーまたはリーダーレス、並行更新を許可 | Mencius、E-Paxos |
| スタートポロジー | 単一リーダープロトコル | ZooKeeper、Raft、Hybrid-Paxos |
| マルチスタートポロジー | 複数のクォーラム、各スター、リーダー間フラット通信 | ZooNet、M2 Paxos、Spanner |
| 階層化トポロジー | マルチスターだがリーダー間に階層構造 | WanKeeper |
| グリッドトポロジー | グリッドクォーラムを使用して性能を最適化 | FPaxos、WPaxos |
| 中央ログトポロジー | 共有永続ログが実行順序を記録 | Tango、Boki、Calvin |
各システムの論文から以下を抽出:
- 実験設定:リージョン数、サーバー数、クライアント数、テストプラットフォーム、ベンチマークツール
- 評価メトリクス:スループット、レイテンシ、スケーラビリティ、可用性、一貫性
- ワークロードパラメータ:読み書き比率、オブジェクト数/サイズ、データアクセス重複、アクセス局所性
著者は30個のシステムの実験設定を分析し、主な発見は以下の通り:
地理的分散:
- 単一リージョンデプロイメント:ほとんどのシステム(Raft、Multi-Paxos、ZooKeeperなど)
- マルチリージョンデプロイメント:WAN最適化システム(WPaxos 5リージョン15サーバー、SwiftPaxos 13リージョン)
- 実際のクラウド環境:Amazon EC2、Google Compute Engine、Alibaba ECS
- 制御された環境:Emulab、DETER(ネットワーク遅延制御可能)
クラスタ規模:
- 小規模:3~13サーバー(ほとんどのコンセンサスアルゴリズム)
- 中規模:15~100サーバー(協調サービス)
- 大規模:OceanBase 1557サーバー、360,000クライアント/サーバー
クライアント構成:
- 単一クライアント:Bizur、Omni-Paxos
- マルチスレッドクライアント:Multi-Paxos(1~20スレッド)
- 分散クライアント:E-Paxos(50クライアント)、PNUTS(300クライアント)
表2の統計に基づく:
| メトリクスカテゴリー | 評価システム数 | カバレッジ |
|---|
| 性能-スループット | 28/30 | 93% |
| 性能-レイテンシ | 27/30 | 90% |
| スケーラビリティ-サーバー | 14/30 | 47% |
| スケーラビリティ-クライアント | 8/30 | 27% |
| 可用性-障害 | 14/30 | 47% |
| 可用性-分割 | 5/30 | 17% |
| 一貫性 | 8/30 | 27% |
重要な発見:
- 性能評価はほぼ普遍的だが、一貫性評価は著しく不足している
- ネットワーク分割テストはノード障害テストより大幅に少ない
- スケーラビリティ評価は通常サーバー数のみに焦点を当て、リージョン拡張を無視している
表3の分析に基づく:
- 100%書き込み操作:Multi-Paxos、E-Paxos、Hybrid-Paxos(競合コマンドに焦点)
- 0~100%変動:ZooKeeper、WanKeeper(異なるシナリオを展示)
- 固定比率:COPS(50%書き込み)、PNUTS(10%書き込み)
- 未指定:Raft、FPaxosなど複数のシステム
問題:異なる読み書き比率下での性能差は巨大だが、多くのシステムは単一構成のみをテストしている
- 100%重複:Mencius、E-Paxos、Hybrid-Paxos(最悪ケース)
- 0~100%変動:WanKeeper、Boki、FlexLog
- 未評価:ほとんどの単一リーダーシステム(性能への影響が小さいため)
重要な洞察:複数リーダーシステムの性能はアクセス重複に大きく依存するが、評価は頻繁に無視される
- 評価システム:M2 Paxos(0~100%)、WPaxos(70~90%)、COPS(0~100%)
- 未評価:ほとんどのシステム
- 重要性:所有権メカニズムを使用するシステムに大きな影響
- 指定システム:Mencius(16~1024)、M2 Paxos(1~1000)、Omni-Paxos(500~50K)
- ほとんど未指定:競合率の理解を制限
- 小オブジェクト:6B~1KB(CPU集約的ワークロード)
- 大オブジェクト:1KB~8KB(ネットワーク集約的ワークロード)
- 変動範囲:Mencius(6B~4KB)、SplitFT(128B~8KB)
ワークロードスケーラビリティ:
- Hybrid-Paxos、E-Paxos:並行クライアント数を増加
- WPaxos:クライアント限流度を調整
- ほとんどのシステム:飽和点までテスト
システムスケーラビリティ:
- 水平スケーリング:ZooKeeper(3~13レプリカ)、Calvin(4~100レプリカ)
- リージョンスケーリング:E-PaxosとMencius(3~7リージョン)
- 垂直スケーリング:M2 Paxos(CPU性能変動)
問題:統一されたスケーラビリティテスト方法がなく、異なるシステム間の比較が困難
現在の実践:
- テストツール:BizurはSeriallaを使用、Multi-PaxosはチェックサムチェックをUse
- Jepsenテスト:ZooKeeper、CockroachDB(線形化検証)
- Elleテスト:ScalarDB(厳密な可串列化検証)
- 陳旧性測定:ZooNet、PNUTS、BG(ただし強一貫性を証明できない)
中核的問題:
- ほとんどのシステムが「強一貫性」を主張しているが定義が曖昧
- 系統的な一貫性検証方法が欠けている
- 陳旧性測定は線形化または可串列化を検証するには不十分
表4に基づく:
障害タイプ:
- ノードクラッシュ:最も一般的(14/30システム)
- ネットワーク分割:より少ない(5/30システム)
- その他の障害:クロックドリフト、メモリ破損等はほぼ未テスト
障害数:
- 単一ノード障害:ほとんどのシステム
- 複数ノード障害:ZooKeeper(2フォロワー)、Omni-Paxos(1~2ノード)
テスト方法:
- 障害中のスループット低下を測定
- Spanner:リージョン全体をクラッシュさせるがPaxosグループは利用可能
- Hybrid-Paxos:可用性向上をテストするためレプリカ数を増加
NoSQLデータベースベンチマーク:
- YCSB (2010):最も一般的なNoSQLベンチマークだが、分散クライアントとWANシナリオをサポートしない
- YCSB+T (2014):トランザクションサポートを追加したが、依然として単一プロセス
- YCSB++ (2011):分散クライアントをサポートするが、ZooKeeperの同期に依存し、WANに不適切
アプリケーション固有ベンチマーク:
- BG (2013):ソーシャルネットワークワークロード、ただしロックを使用して競合を回避
- TPC-C (1992):トランザクション処理標準、協調サービスを対象としない
- HiBench (2010):Hadoopベンチマーク、協調システムに不適切
ビッグデータベンチマーク:
- BigDataBench (2014):多様なビッグデータワークロードをカバー
- ただし、すべて協調サービスの特定の要件(一貫性、耐障害性、地理的分散)の評価に不適切
Jepsen (2013~現在):
- 強力な一貫性テストフレームワーク
- 線形化違反を検出可能
- ただし、ツールの深い理解が必要で、ブラックボックステストではない
Elle (2020):
- Jepsenベース、より効率的な分離レベル検出
- トランザクション依存グラフを構築して違反サイクルを特定
- 依然としてカスタムワークロードが必要
その他のテストツール:
- Serialla:Bizurが使用する厳密な可串列化テスト
- UPB (2013):可用性ベンチマーク、YCSBベース
クラウドサービス評価:
- 弾性評価、計算能力、費用対効果分析
- ただし協調サービスを対象としない
ファイルシステムとデータウェアハウス:
- 分散ファイルシステムベンチマークテスト
- データウェアハウスクエリ性能評価
- 協調システムの要件と異なる
協調サービス総説:
- アルゴリズム比較(Paxosバリアント)
- サービス特性分析
- 本論文の独自性:評価実践とベンチマーク要件の系統的分析が初
- 評価実践の断片化:30個のシステム中、標準ベンチマーク(YCSB、TPC-C、Jepsen)を使用しているのは7個のみで、ほとんどはカスタムマイクロベンチマークを使用している
- メトリクスカバレッジの不均衡:
- 性能評価は普遍的(93%のシステム)
- 一貫性評価は不足(27%のシステム)
- ネットワーク分割テストは稀少(17%のシステム)
- パラメータ使用の不一貫性:
- 重要なパラメータ(アクセス局所性、データアクセス重複)は頻繁に無視される
- パラメータ構成の標準化が欠けている
- 異なるシステム間の公正な比較が困難
- 既存ベンチマークの不足:
- YCSB:分散クライアント、WANシナリオ、アクセス局所性をサポートしない
- TPC-C:協調サービスを対象としない
- Jepsen:ブラックボックスではなく、採用が困難
- すべての要件を満たすツールは存在しない
- 7つの主要ベンチマーク要件:
- 柔軟性と複雑性(複数次元パラメータ最適化をサポート)
- WAN システムサポート(地理的分散、不均一遅延)
- スケーラビリティ(分散負荷生成)
- 採用の容易性(ブラックボックステスト、言語非依存)
- 性能ベンチマーク(スループット、レイテンシ、テール遅延)
- 一貫性検証(線形化、可串列化)
- 障害注入(クラッシュ、分割、クロックドリフト)
- サンプルカバレッジ:30個のシステムをカバーしているが、新興システムや特定分野の協調サービスを見落とす可能性がある
- 時間性:分散システムは急速に進化し、新しい評価実践とツールが継続的に出現している
- 深度分析:各システムの評価実践分析は公開論文に基づいており、すべての実装詳細を取得できない可能性がある
- ベンチマークツール実装:本論文は要件を特定しているが、完全なベンチマークツールは実装していない
- 一貫性モデル:異なるシステムが主張する「強一貫性」の定義が異なり、統一された評価基準が困難
- 標準化ベンチマークツールの開発:
- 分散クライアントとWANシナリオをサポート
- 柔軟なパラメータ構成を提供
- 一貫性検証能力を統合
- 複数の障害注入をサポート
- 評価基準の確立:
- 最小限必要な評価メトリクスセットを定義
- ワークロードパラメータ構成を標準化
- 一貫性検証プロトコルを制定
- 調査範囲の拡張:
- より多くの新興協調プロトコルを含める(DAGベースのコンセンサスなど)
- ブロックチェーンコンセンサスアルゴリズムの評価実践を分析
- エッジコンピューティングシナリオの協調要件を研究
- 実証研究:
- 標準ベンチマークを使用して既存システムを再評価
- 異なるパラメータが性能に与える影響を定量化
- 主張された一貫性保証を検証
- 自動化テスト:
- 自動化一貫性検証ツールを開発
- 継続的インテグレーション/継続的デプロイメント(CI/CD)に統合
- 回帰テストをサポート
- 広さ:30個のシステムをカバー、20年の研究歴史にまたがる(Paxos 1998~最新システム2024)
- 深さ:実験設定、トポロジー、メトリクス、パラメータを詳細に分析
- 分類の明確性:3層分類(アルゴリズム-サービス-アプリケーション)+ 6種類のトポロジー
- 指導的意義:開発者に評価ベストプラクティスを提供
- 要件の明確性:7つの主要ベンチマーク要件は実行可能
- 問題指向:既存ツールの具体的な不足を明確に指摘
- 3つの総合表:表1(実験設定)、表2(メトリクス使用)、表3(ワークロードパラメータ)
- 定量分析:メトリクスカバレッジ率、パラメータ使用頻度
- 可視化:6種類のトポロジーの明確な図示
- 特定のシステムまたはベンチマークツールに偏らない
- 各ツールの長所と短所を公正に分析
- 事実に基づいた評価であり、主観的判断ではない
- 85の参考文献を引用
- 方法論が明確(選択基準、分析フレームワーク)
- 結論は十分なデータに支持されている
- 異なる評価方法の性能差異データを提供していない
- パラメータ選択が結果に与える影響の程度を定量化していない
- 統計分析(相関性、有意性検定等)が欠けている
- 要件を満たすベンチマークツールを実際に開発していない
- 提案された要件の実現可能性を実験で検証していない
- プロトタイプシステムの評価が欠けている
- 異なる一貫性モデル間の区別についての議論が不十分
- 具体的な一貫性検証方法論を提供していない
- 一貫性テストの複雑度分析が欠けている
- WAN重要性を強調しているが、具体的分析が不十分
- 異なる地理的分散パターンの影響について詳細に議論していない
- クロスクラウド、大陸間デプロイメントの特殊な課題が欠けている
- ブロックチェーンコンセンサスアルゴリズム評価実践を扱っていない
- エッジコンピューティングシナリオの協調要件を議論していない
- 機械学習システムにおける協調評価を扱っていない
- 詳細な実験再現ガイドを提供していない
- オープンソースデータセットまたは評価スクリプトが欠けている
- 評価の再現可能性を確保する方法について議論していない
- 空白を埋める:分散型協調システム評価実践の系統的調査が初
- 理論的価値:評価フレームワークと要件体系を確立
- 引用可能性:該当分野の評価方法論の参考文献となる可能性が高い
- 工学的ガイダンス:開発者が適切な評価方法を選択するのに役立つ
- ベンチマーク開発:新しいベンチマークツール開発の要件仕様を提供
- 標準化推進:評価基準の確立を促進する可能性
- 実装欠如:直接使用可能なツールを提供していない
- 検証不足:要件の実現可能性が実証検証されていない
- 更新必要性:急速に進化する分野では継続的な更新が必要
- 直接適用:分散型協調システムの研究者とエンジニア
- 間接適用:分散データベース、ブロックチェーン、クラウドコンピューティングシステム開発者
- 教育的価値:分散システムコースの参考資料として使用可能
- 新規プロトコル開発:評価方案設計時に要件チェックリストを参照
- システム比較:適切なメトリクスとパラメータを選択して公正な比較を実施
- 論文執筆:標準評価実践を引用して信頼性を向上
- システム選定:異なるシステムの評価結果と限界を理解
- 性能チューニング:性能に影響する重要なパラメータを特定
- 障害テスト:包括的な可用性テスト方案を設計
- コース教学:分散システム評価方法論を紹介
- プロジェクト実践:学生が実験と評価方案を設計するのをガイド
- 文献レビュー:該当分野の研究現状を理解
- ベンチマーク開発:要件仕様書として使用
- 業界標準:評価基準制定を推進
- 適合性テスト:協調サービスのコンプライアンステストを設計
- Lamport, L. (1998). The part-time parliament. ACM TOCS - Paxos原論文
- Ongaro, D. & Ousterhout, J. (2014). In search of an understandable consensus algorithm. USENIX ATC - Raftアルゴリズム
- Hunt, P. et al. (2010). ZooKeeper: Wait-free coordination for internet-scale systems. USENIX ATC
- Balakrishnan, M. et al. (2013). Tango: Distributed data structures over a shared log. SOSP
- Cooper, B.F. et al. (2010). Benchmarking cloud serving systems with YCSB. SoCC
- Kingsbury, K. (2024). Jepsen tests - 一貫性テストフレームワーク
- Kingsbury, K. & Alvaro, P. (2020). Elle: Inferring Isolation Anomalies from Experimental Observations
- Ailijiang, A. et al. (2017). Multileader WAN Paxos: Ruling the archipelago with fast consensus - WPaxos
- Mao, Y. et al. (2008). Mencius: Building efficient replicated state machines for WANs. OSDI
- Corbett, J.C. et al. (2013). Spanner: Google's globally distributed database. ACM TOCS
要約:本論文は分散型協調システム評価分野の重要な総説論文であり、現在の評価実践の断片化問題を系統的に明らかにし、標準化ベンチマークテストの要件を提案している。実際のツール実装は欠けているが、将来の研究と工学実践に明確な方向性を提供している。分散システム研究者とエンジニアにとって、この分野の評価方法論を理解するための必読文献である。