スライド 1 - qwik.jp

P3: Automated Design of Self-Adaptive Software
with Control-Theoretical Formal Guarantees
by
G3: Brownout: Building More Robust Cloud
Applications
by
ICSE14勉強会: 宮下尚 , Cybernet Systems
Background
• 共通の課題: 如何にして動的(予測しにくく、不確
実性が高い)な環境に対して適応するソフトウェア
システムを構築するのか?
• 共通のアプローチ: 制御理論を用い、ソフトウェア
をシステム同定し、目標値に対して制御を行う (ど
ちらもP制御)
– 理論的な枠組みはどちらも同じ
• 目標
– G3: 適応システムの自動的な構成
– P3: クラウドアプリケーションに対する適応制御
ソフトウェアがコントローラではなく、
プラント(制御対象)とした初めての試み
2
P3:Brownoutのための補足
• Cloud Application(ウェブアプリケーションと思って良い)は、サ
イジングが困難
– ピークに合わせてリソースを割り当てると、無駄が多い
– ピーク時にはユーザーを非常に待たせてしまう
• Brownout: 負荷が高い時に、少しづつサービスを自動的にダ
ウングレード(Graceful Degradation)していく枠組み
– 実装も公開されている https://github.com/cristiklein/brownout
負荷が高くなるほどベ
ストセラーをレスポンス
から落としていく (一
部のリクエストには追
加しなくなる)
3
Approach
• 通常はC(コントローラ)がソフトウェアだが、
今回はP(プラント)もソフトウェア
• Model Building modeで同定をする
– G3のみ。P3では同定できていると仮定(後述)
© 2014 CYBERNET SYSTEMS CO., LTD. All Rights Reserved.
4
Fig.1 in G3
Approach: システム同定によるモデリング (1)
• 肝となる同定ステップ
– ソフトウェアを含んだsystem全体がどのような
挙動をするのかシステム同定を行う
– どちらも単純な線形モデル (αが同定パラメタ)
• G3 (外乱なし)
– ARPE(著者二人同じ) を用いて最小二乗同定、 Kalman
Filterによってupdate
»
https://www.usenix.org/conference/feedbackcomputing13/workshop-program/presentation/maggio
• P3 (外乱あり)
– レスポンスタイムが伸びるほど大きくするヒューリスティッ
クなupdate
– 初期の同定方法は指定されていない (仮定するとのこと)
» μ=1の時には初期値は意味が無い
5
Approach: 制御モデル
• 安定性を保証するために単純な極1モデ
ルを導入
– z変換により、
で、コントローラを実装
– これは極p1により安定性解析ができる
• 最終的には逆z変換によりコントローラは
以下のように導出される (P制御)
– eは目標値と実際との差分、Θは制御パラメタ
© 2014 CYBERNET SYSTEMS CO., LTD. All Rights Reserved.
6
Results
• こんな単純ではあるが、かなり良い結果
– G3では、ビデオエンコーダーの品質、電力管理、SOAのService
Bindingで実験
– P3では、Webサービスのレスポンスを実験
G3におけるビデオエンコーダーの電力消費制御の結果の一部
7
Takeaway
• 制御理論をソフトウェア自身の制御に使うという新
しいアイデア
– 適用領域はおそらく広い
• (私見では)制御よりもむしろシステム同定が肝
– 単純な線形モデルで合うのは限られている
• これらの研究では線形でソフトウェアが動くことを仮定してい
るのみ
– ソフトウェアのアブストラクションを取る手法として研究
する価値があると考える
• 興味ある方募集
• 制御モデルもまだかなりやることがある
– MIMO, ロバスト制御、最適制御
8