# 階層型メトリック収集アーキテクチャ
大規模計算システムのノードから継続的にメトリクスを収集する際に、収集を担うプロセス(サンプラー)と、複数のサンプラーおよび下位アグリゲータからデータを再帰的に集約するプロセス(アグリゲータ)を分離し、多段の木構造(デイジーチェーン)で構成することでスケーラビリティを確保するアーキテクチャを指す。[[LDMS]] は各ノードでサンプリングプラグインを実行する「サンプラー」と、プル方式(区間駆動のポーリング)で下位からメトリックセットを収集する「アグリゲータ」を同一の `ldmsd` デーモンの動作モードとして実装し、1アグリゲータが収集する対象ホスト数(fan-in)をソケット/InfiniBand RDMAで約9,000:1、Cray Gemini RDMAで15,000:1超まで許容することで、27,648ノード規模のシステムを少数のアグリゲータ階層で束ねる([[@2014__SC14__The Lightweight Distributed Metric Service - A Scalable Infrastructure for Continuous Monitoring of Large Scale Computing Systems and Applications]])。
## 未解決の問い
- fan-in の上限(ソケット/InfiniBand RDMAで9,000:1、Cray Gemini RDMAで15,000:1超)を決めている律速要因は、アグリゲータホストのCPU・メモリ・ネットワーク帯域・ストレージ帯域のうちどれが支配的か。トランスポート種別によって上限が異なる理由の定量的な説明は本論文には無い。
- スタンバイアグリゲータへのフェイルオーバーが自動検知を持たず手動または外部ウォッチドッグに依存するという設計は、後継の階層型収集システムでどう自動化されているか。
- LDMS のようなプル型・多段階層アーキテクチャと、Ganglia のようなクラスタ内push・クラスタ間pullを使い分けるハイブリッド型([[分散モニタリング]]参照)は、ノード規模・ネットワーク特性(専有インターコネクト vs 汎用イーサネット/InfiniBand)のどちらに応じて選択されるべきか。
## 未編纂の観察
- [[Chukwa]](USENIX LISA '10)は、ログ収集の文脈で LDMS と類似のサンプラー/アグリゲータ的な二層構造(ホストごとの「エージェント」とHDFS書き込みを担う「コレクタ」)を採るが、fan-in の設計目標は200:1程度(5%のクラスタリソース制約から算出)にとどまり、LDMS の9,000:1〜15,000:1超に比べ大幅に小さい。差の一因は、LDMS がpull型の定期ポーリングでメトリクス集約に特化するのに対し、Chukwa はログファイル全体(可変長・高スループット)を扱い、コレクタの書き込み帯域(実測約30 MB/秒/コレクタ)がディスクI/Oで律速される点にある (Source: [[@2010__LISA__Chukwa - A System for Reliable Large-Scale Log Collection]])。
- [[Chukwa]] はコレクタを完全にステートレスにし、フェイルオーバー・再送の責任を全てエージェント側(データ発生元)に寄せるエンドツーエンドの信頼性モデルを採る点で、LDMS のスタンバイアグリゲータへの手動的フェイルオーバーとは異なるアプローチを取る (Source: [[@2010__LISA__Chukwa - A System for Reliable Large-Scale Log Collection]])。
## 関連
- ソース: [[@2014__SC14__The Lightweight Distributed Metric Service - A Scalable Infrastructure for Continuous Monitoring of Large Scale Computing Systems and Applications]] / [[@2010__LISA__Chukwa - A System for Reliable Large-Scale Log Collection]]
- エンティティ: [[LDMS]] / [[Chukwa]]
- 概念: [[分散モニタリング]]
## 出典
- [[@2014__SC14__The Lightweight Distributed Metric Service - A Scalable Infrastructure for Continuous Monitoring of Large Scale Computing Systems and Applications]]