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
© Copyright 2024 ExpyDoc