# TACC Stats
## 定義
TACC Stats は、[[Texas Advanced Computing Center]] が開発・運用するオープンソースの HPC 資源使用監視パッケージであり、ユーザーやコンサルタントの操作を必要とせず、全ノード・全ジョブを対象にジョブ単位で資源使用データを常時収集する点が既存ツールとの最大の違いである([[@2014__HUST__Comprehensive Resource Use Monitoring for HPC Systems with TACC Stats]])。
## 構成
TACC Stats は Python ベースの4モジュールで構成される。
- **monitor**: ノードごとに実行される 400KB の実行ファイル。ジョブスケジューラの prolog/epilog と cron(10分間隔)でデータを収集し、Sandy Bridge/Ivy Bridge の MSR・PCI 設定空間カウンタ、InfiniBand、Lustre(llite/lnet/mdc/osc)、メモリ・NUMA・プロセス統計などデバイス横断のデータをテンプレート化されたルーチンで収集する。実行1回0.5秒未満、既定間隔でのオーバーヘッド0.1%未満。
- **pickler**: 24時間ごとにノードレベルデータをジョブレベルの Python pickle へ変換・正規化する。
- **analysis**: `job_sweeper.py` により Imbalance・High CPI・Idle・Catastrophe の4種の夜間テストを実行し、異常ジョブを自動検知する。`job_plotter.py` でジョブ単位の可視化を生成する。
- **site**: ジョブメタデータと指標のデータベースを構築し、Web インターフェースで検索・閲覧・プロット表示を提供する。
## 位置づけ
TACC Stats は HPC システムアナリティクスプロジェクト [[SUPReMM]] の一構成要素であり、収集データは XDMoD(Open XDMoD)フレームワークへ供給される。また [[Lariat]] プロジェクトを活用して実行ファイル名・作業ディレクトリ・依存ライブラリなど通常は不明なジョブの詳細を発見する。関連研究比較では、[[Ganglia]]・Nagios はジョブ/ユーザー単位でデータを解決できず、CLUMON・PCP はハードウェア性能カウンタを収集しない点で TACC Stats と異なるとされる(いずれも本論文の主張)。
## 未解決の問い
- 収集データのうち実際に分析へ活用されている割合はごく一部とされるが、これが後続バージョンでどこまで拡大されたか。
- 他の Linux ディストリビューション(CentOS 以外)での動作検証結果はどうだったか。
## 関連
- [[Texas Advanced Computing Center]] — 開発・運用組織
- [[SUPReMM]] — TACC Stats を構成要素とするアナリティクスプロジェクト
- [[Lariat]] — ジョブ詳細発見のために活用する併用プロジェクト
- [[Ganglia]] — 比較対象の既存分散モニタリングシステム
## 出典
- [[@2014__HUST__Comprehensive Resource Use Monitoring for HPC Systems with TACC Stats]]
- [[@2015__CiSE__Open XDMoD - A Tool for the Comprehensive Management of High-Performance Computing Resources]] — [[SUPReMM]]のデータ収集パッケージの一つとして[[SUNY Buffalo Center for Computational Research]]で使用される旨の言及