# Magpie
[[Microsoft Research]] Cambridge が提案したオンライン性能モデリング基盤([[@2003__HotOS__Magpie - Online Modelling and Performance-aware Systems]]、HotOS IX 2003)。[[Paul Barham]]・[[Rebecca Isaacs]]・[[Richard Mortier]]・Dushyanth Narayanan が設計した。
## 設計思想
二つの基本原則に基づく:
1. **ブラックボックス計装**: 計測対象システムのソースコードを変更せず、OS レベルのイベントトレーシングで計測する
2. **エンドツーエンドトレーシング**: 集約統計だけでなく、各リクエストがシステムを通過する経路を個別に追跡する
## 主要機能
- **イベントトレーシング**: Event Tracing for Windows(ETW)・.Net Profiling API・Detours を用いて複数マシンの詳細トレースを収集
- **リクエスト縫合**: ネットワーク送受信イベントをもとにマシン間のリクエスト制御フローを再構成
- **行動クラスタリング**: Levenshtein 文字列編集距離 + リソース消費ベクトルのユークリッド距離によってリクエストを挙動で分類。URL ベース手法より精度が高い
- **確率的モデリング**: ALERGIA アルゴリズムによる確率的文脈自由文法(SCFG)でリクエスト生成プロセスを状態機械として表現
## フィージビリティスタディ
Duwamish7(未改変の EC サイト)を 2 台構成で TPC-W ワークロードで評価:
- 150k イベント/分(10 MB/分)のログを生成
- マイクロベンチマークでスループット 18% 低下(削減可能)
- 5 分間・1,800 リクエストから 8 クラスタを 2 秒未満で抽出
- ALERGIA が Reber 文法を 400 サンプルで正確に収束
## 歴史的位置づけ
2003 年という非常に早い時期に「分散リクエストの個別追跡」と「確率的ワークロードモデリング」を結合した先駆的システム。[[分散トレーシング]]の歴史において Dapper や X-Trace に先行する提案として記録される。後の Dapper(Google)・X-Trace・OpenTelemetry が体系化した概念を先取りした。
## 関連
- ソース: [[@2003__HotOS__Magpie - Online Modelling and Performance-aware Systems]]
- 開発者: [[Paul Barham]] / [[Rebecca Isaacs]] / [[Richard Mortier]]
- 所属組織: [[Microsoft Research]]
- 概念: [[分散トレーシング]] / [[リクエストモデリング]] / [[サービス依存性発見]]