Szablyozstechnika alkalmazsa az IT infrastruktra felgyeletben Paljak Gergely
Szabályozástechnika alkalmazása az IT infrastruktúra felügyeletben Paljak Gergely paljak@mit. bme. hu Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Tartalom § Bevezetés § Szabályozástechnikai alapok (ismétlés) o Jelek, modellek o PID szabályzók § Esettanulmány: Auto. Tune § Esettanulmány: energiafelhasználás felügyelete § Kutatási irányok
Szabályozási módszerek
Visszacsatolt rendszerek § A rendszer kimenetét részben vagy egészben a bemenetre csatoljuk § A rendszer viselkedését befolyásoljuk § Adaptivitást várunk 4
Visszacsatolt szabályozás mint megközelítés 5 Dobson, S. et al. : A Survey of Autonomic Communications. ACM Trans. on Autonomous and Adaptive Systems, 2006
A szabályozó egy autonóm egység (AE) • A szabályozó biztosíthat autonóm tulajdonságokat 6
Autonóm egységek hierarchiája IBM: An Architectural Blueprint for Autonomic Computing, 4 th Ed. (2006)
Szabályozástechnikai ismétlés
Visszacsatolt szabályozási kör 9 Hellerstein, Diao, Parekh, Tilbury: Feedback Control of Computing Systems. Wiley (2004)
Visszacsatolt szabályozási kör • Alapjel – Reference input • • Az alapjelből ki kell vonni a (mért) kimenetet • A rendszert befolyásoló paraméterek, pl. a szálak száma, CPU, memória param. • A beavatkozó jelet befolyásolja – pl. érkezési ráta Zaj – Noise input • A szabályozott jellemzőt befolyásolja Dinamikus rendszer, folyamat (process, plant) — gyakran differenciálegyenletek írják le Szabályozott jellemző - Measured output • • Megváltoztatja a végrehajtó jelet, hogy elérje az alapjelet – a szabályozót a felügyelt rendszer modellje alapján kell tervezni Felügyelt rendszer – Managed system • Zavarás – Disturbance Input • • • Cél, elvárt kimenet Beavatkozó/rendelkező jel – Control/Action Input • • Szabályozó - Controller Hibajel – Control Error • • • A rendszer egy mérhető jellemzője —pl. válaszidő Transzduktor – Transducer • A szabályozott jellemzőt transzformálja, 10 hogy összemérhető legyen az alapjellel
A szabályozás céljai – SASO tulajdonságok § § Stabilitás Alapjelkövetés Beállási idő Túllövés Stability Accuracy – ess Settling time – ks Overshoot - Mp
Mintavételes rendszerek
Mintavételes szabályozási rendszerek § Irányítási rendszereket digitálisan valósítják meg o Real-time rendszerek diszkrét idejű beavatkozó jel alapjel Tartószerv Szabályozó: digitális szabályozó algoritmus diszkrét idejű szabályozott jellemző folytonos beavatkozó jel Szabályozott szakasz Mintavevő folytonos szabályozott jellemző
Z-transzformáció: Motiváció y B A C y(k) k A B C Time (k)
Z-Transzformáció z az eltolási operátor z 0=1: k=0 (aktuális időpont) z-1 : k=1 (egy időegységgel előrébb a jövőben) z-2 : k=2 (két időegységgel előrébb a jövőben)
Z-Transzformáció: példa y y(k) késleltetés B A C siettetés k A B C Time (k)
Z-Transzformáció: pólusok Motiváció § o. A jelek viselkedésének egy jelentős részét a nevező gyökei határozzák meg • • Karakterisztikus polinom • A z-transzformált nevezője Pólusok • A karakterisztikus polinom gyökei A pólusok lehetnek imagináriusok • Oszcilláló viselkedést jelez Példa:
Minden, amit pólusokról tudni érdemes
Végérték tétel § A z-transzformációval egyszerűen meg lehet állapítani egy jel állandósult értékét (ha létezik) § Kiszámítható, hogy van-e állandósult hiba! • Példa
Jelek, rendszerek U(z) G Y(z)
Átviteli függvények ¢ Definíció: U(z) ¢ G(z) Impulzusválasz: ¢ Példa: diszkrét integrátor Y(z) ¢ Lépésválasz:
Az átviteli függvények értelme § Adott bemenetre prediktálható a kimenet § Kiszámítható, hogy stabilis-e a rendszer o Nem stabil rendszerek nem kívánatosak § Az erősítés kiszámítható (steady state gain) o Működési tartományok, állapotok elérhetőségét lehet kiszámítani § Egyszerűsíteni, alacsonyabb fokúvá lehet tenni a rendszert o Alacsonyabb fokú rendszerekkel könnyebb dolgozni § Szimulálható a rendszer viselkedése § Az átviteli függvények komponálhatók o Bonyolult rendszereket is vizsgálhatók
Korlátos jelek Def: : {u(k)} korlátos, ha létezik M konstans, hogy |u(k)| = M minden k értékre. 23
GV stabilitás Def. : Egy rendszer gerjesztés-válasz (GV) stabilis, ha bármely korlátos {u(k)} bemenetre az {y(k)} kimenet korlátos. (Bounded Input – Bounded Output, BIBO stable) § Megjegyzés: nem korlátos jelekre adott nem korlátos válasz megengedhető! § Ezek a rendszerek GV stabilisak? Egység y(k+1) = 1 P szabályozó y(k+1) = KP u(k) Összeadó y(k+1) = y(k) + u(k) I szabályozó y(k+1) = y(k) + KI u(k) M/M/1/K sor y(k+1) = 0. 49 y(k) + 0. 033 u(k) Tetszőleges y(k+1) = -1. 3 y(k) + 2. 3 u(k)
GV stabilitás Tétel: G(z) rendszer GV stabilis akkor és csak akkor, ha minden pólusa az egységkörön belül van. Rendszer Időtartománybeli alak Átviteli függvény Pólusok Egység y(k+1) = 1 G(z) = 1 N/A G(z) = KP N/A P szabályozó y(k+1) = KP u(k) Összeadó y(k+1) = y(k) + u(k) G(z) = 1/(z-1) z=1 I szabályozó y(k+1) = y(k) + KI u(k) G(z) = KI/(z-1) z=1 M/M/1/K sor y(k+1) = 0. 49 y(k) + 0. 033 u(k) G(z) = 0. 033/(z-0. 49) z = 0. 49 Tetszőleges y(k+1) = -1. 3 y(k) + 2. 3 u(k) G(z) = 2. 3/(z+1. 3) z = -1. 3
Blokkdiagramok
Blokkdiagramok + Szabályzó - Notes Server § Sok komponensből álló rendszerek modellezése § Különbözik a flow chartoktól Notes Sensor o Flow charts: work flow rendszer (funkcionális) analízise o Blokkdiagram: jelfolyamok szabályozás analízise § A SASO tulajdonságokat vizsgáljuk
Blokkdiagram alapok D(z) Szabályozott folyamat Szabályozó R(z) E(z) + - K(z) W(z) + V(z) U(z) + G(z) Y(z) H(z) Transzduktor § § Funkcionális blokk: a rendszer egy komponense Nyilak: jelfolyam Összegzési pont: jelek összeadása Elágazási pont: egy jel több célhoz jut el Y(z) = G(z) V(z)
Komplex rendszerek D(z) Szabályozó R(z) E(z) + - K(z) + V(z) U(z) Szabályozott folyamat + W(z) G(z) H(z) Transzduktor KI KP + + Y(z)
Zavarjel és zaj modellezése • Zavarjel és zaj modellezése Zaj N(z) Zavarjel D(z) M/M/1/K + V(z) U(z) Buffer méret + G(z) + Y(z) + T(z) Válaszidő • Alapjel és a szabályozó Szabályozó R(z) Alapjel K(z) U(z) Buffer méret
Szabályozási minták
Kaszkád szabályozás E 1(z) R(z) + K 1(z) - U 1(z) + E 2(z) K 2(z) - U 2(z) G 2(z) V(z) G 1(z) Y(z)
Kaszkád szabályozás példa Kívánt válaszidő E 1(z) R(z) + - Kívánt Mért kihasználtság Max. Clients kihasználtság E 2(z) V(z) U 1(z) U 2(z) G 1(z) G 2(z) K 1(z) + Apache Server Apache szabályozók Mért válaszidő Apache web szerver szolgáltatási szintjének szabályozása Y(z)
Adaptív szabályozás Adaptációs séma A(z) R(z) E(z) + - K(z) U(z) G(z) Y(z)
Adaptív szabályozás példa RIS = RPCs in System = lekérdezések száma a rendszerben RPC = Remote Procedure Call Adaptációs séma Szabályozó - Mért RIS Max. Users Kívánt RIS + Notes Szerver Lotus Notes Server szabályozása Notes Szenzor
Felügyeleti szabályozás = Supervisory control Felügyeleti logika A(z) R(z) E(z) + - K(z) U(z) G(z) Y(z)
Felügyeleti szabályozás példa Felügyeleti logika Bevétel= r * (befejezett tranzakciók száma) Szabályozó tervezés, alapjel meghatározás Profit model Költség = c * (A W válaszidő kritériumnál hosszabb válaszidők száma) Profit = Bevétel - Költség Rendszer identifikáció Felhasználók Alapjel Szabályozó Rendszergazda Max. Users Befejezett tranzakciók Szerver Log Válaszidő
Elosztott szabályozás R(z) E(z) + K(z) U(z) N G(z) Y(z) Centralizált szabályozás K 1(z) R(z) E(z) + - U(z) K 2(z) G(z) KN(z) Decentralizált szabályozás N Y(z)
Szabályozás tervezése Start Rendszermodellezés Szabályozó tervezés Blokk-diagram tervezése Szabályozó analízise Átviteli függvény identifikálása és validálása Célok teljesültek? N Model Ok? Y N Y Stop
Példa: Apache szabályozása § Apache session folyamok New Users + Close() Timeout() reply Busy User Think Close Idle Connect request Szerver állapotátmenetek Max. Clients New conn TCP Listen queue Timeout Apache if ((QL > 0) && (idle_servers > 0)) then dequeue(); Szabályozási cél: CPU és memória használat szabályozása
Példa (folytatás) § A paraméterhangolás hatása A KA hatása CPU kihasználtság (CPU) Memória kihasználtság (MEM) Keep. Alive (KA) Max. Clients (MC) 41 Az MC hatása
Példa (folytatás) Két SISO szabályozó: C 1 KA-t szabályozza, hogy elérje a CPU*-t C 2 MC-t szabályozza, hogy elérje a MEM*-t + - CPU*k ECPU, k MEM*k EMEM, k + - C 1 Szabályozó 1 C 2 KAk MCk Szabályozó 2 SISO: Single Input Single Output MIMO: Multiple Input Multiple Output Apache Server CPUk MEMk
Példa (folytatás) Egy MIMO szabályozó: C szabályozza KA-t és MC-t, hogy elérje a CPU*-t és a MEM*-t + - CPU*k ECPU, k MEM*k EMEM, k + C MCk Szabályozó 43 KAk Apache Server CPUk MEMk
Model struktúrák Az átviteli függvények kapcsolata KA SISO Two MIMO SISO vs. models MIMO MC G 11 G 21 G 12 G 22 + 0 S + 0 + + Apache Szerver S CPU A SISO megközelítés a közös tagokat elhanyagolhatónak tekinti MEM
SISO Rendszeridentifikáció Empirikus modellalkotás CPU 1 KA Apache KA CPU Server MC MEM 1. A hangoló paramétereket változtassuk és folyamatosan gyűjtsünk adatokat 2. Lineáris regresszióval (legkisebb négyzetes hiba) elsőrendű modellt kaphatunk 2 Time (s)
MC Time (s) MC A bemenő jeleknek megfelelő variabilitásúnak kell lennie, hogy a modell dinamikát azonosítani lehessen A bemenő jeleknek sűrű és egyenletes fedést kell adnia a bemeneti térre A diszkretizált szinusz alacsony és magas frekvenciákat is lefed a bemeneti térben KA Bemenő jelek kiválasztása KA
SISO Rendszeridentifikáció KA MC G 11 + KA CPU G 11 G 21 G 12 G 22 + MEM MC + KA=11 KA MC CPU MEM MC=600 G 22 + Time (s) CPU MEM
SISO modellek illeszkedésének vizsgálata Egyszerre egy bemenet változik + KA CPU G 11 G 21 G 12 G 22 + Prediktált MC G 11 MEM MC G 22 + + Prediktált KA Valós R 2 = 0. 934 Valós R 2 = 0. 989 CPU MEM
A SISO modellek értékelése mérések alapján KA G 11 + G 21 G 22 + G 11 + G 21 ~NULLA G 12 MC KA CPU NEM NULLA! G 12 MEM MC + KA=11 KA MC MEM CPU MC=600 G 22 Time (s) CPU Time (s) MEM
Szabályozók típusai
Egyszerű szabályozók Egyszerű szabályozó: • Bemenet: E(z) • Kimenet: U(z) Adott • Folyamat t. f. G(z) • Transzduktor t. f. H(z) • Szabályozót. f. K(z) (T. f. = transzfer/átviteli függvény) Kiszámítandó • Pólusok, erősítés • Stabilitás, alapjelkövetés, beállási idő
Arányos tag • A rendszer egy P szabályozóval stabilizálható • A szabályozás lassú • Az előírt fázistöbblet, illetve statikus hiba nem mindig biztosítható Erősítés E(z) Kp U(z)
Az P-tag pontossága Miért?
Az P-tag pontossága Megfigyelések: • A P-szabályozás velejárója a pontatlanság! • Nagy KP értékeket szeretnénk használni
P-tag stabilitása és beállási ideje Megfigyelés: • Az három átviteli függvénynek ugyanazok a pólusai Emlékeztető Def: Karakterisztikus polinom A TF nevezője Def: Karakterisztikus egyenlet Karakterisztikus polinom = 0
Pólusok vizsgálata KP=3. 0 KP=0 Gyökhelyek - Az egyenlet megoldásai KP=0. 91
Integráló tag • Célja: az állandósult hiba 0 legyen E(z) Vagy E(z) U(z)
Az integráló tag pontossága
I-tag stabilitása és beállási ideje
PI szabályozás
Az PI-tag pontossága Az integráló tag biztosítja a pontosságot a lépésválaszra!
PI-tag stabilitása és beállási ideje
PI pólusok, stabilitás, beállási idő (nincs szenzor holtidő)
PI pólusok, stabilitás, beállási idő (szenzor holtidővel)
Differenciáló tag • Mindig P és I tagokkal együtt használandó! • (Közelítő PD szabályozó realizálható) • A változás trendjének előrejelzése • A rendszer gyorsítására használható
PID szabályozás
Esettanulmány: Auto. Tune
Esettanulmány: Auto. Tune § Cloud computing rendszerek menedzsmentje § Kihívások: o Dinamikus terhelés o Virtualizált környezetek o Egy adatközpontot sok szolgáltatás vagy bérlő használ o Az egyes szolgáltatásoknak SLA-kat kell betartaniuk § Ha egy bérlő fizet egy Infrastructure-as-a-Service szolgáltatásért, hogyan biztosítható, hogy minél jobban kihasználja (de ne lépje túl) a kapacitást, amit megvásárolt? § Szabályozástechnika alkalmazása!
Kihívás: dinamikus terhelés § A CPU és memória kihasználtsági elvárásoknak megfelelni -> kézi finomhangolás § A Max. Clients és Keep. Alive paraméterek állíthatóak o Max. Clients: max. párhuzamosan kiszolgált kliensek száma o Keep. Alive: meddig tart nyitva egy kapcsolatot a szerver a kliensekkel § A dinamikus terhelés (dynamic workload) tipikusan nem előrejelezhető -> folyamatos újrahangolást igényel § A terhelés változásának követése egy állandó folyamat § Auto. Tune: szabályozó megoldás
Auto. Tune ágensek § Autotune Adaptor Bean o A felügyelt rendszertől lekérdezi a szolgáltatási szint metrikákat o Beállítja a hangolt paramétereket § Autotune Controller Bean o Meghatározza a szabályozási algoritmusokat (a rögzített adatok alapján) o A rendszermérnök számára interfészt ad a szabályozás beállítására, hangolására
Auto. Tune Functionality Beavatkozási és mintavételezési intervallumokat állítja
Auto. Tune architektúra
Auto. Tune ágens műveletek § Három ágens: o Visszacsatolt szabályozás tervezése • Modellalapú szabályozás • Linear Quadratic Regulation (LQR) szabályozás – Komplexebb szabályozástervezés, nem témája a jelen előadásnak o Modellezés • • Nem éles rendszeren, tesztelés során A Max. Clients és Keep. Alive paraméterek állítása A CPU és memória kihasználtság monitorozása Dinamikus modell építse az idősorok alapján o Futásidejű szabályozás • Éles rendszerben • A szabályozó kimenete szerint állítja a Max. Clients és a Keep. Alive értékét
Modellező ágens § A rendszer matematikai modelljét hozza létre o Sorbanállás elmélet o Mért adatok vizsgálata § Matematikai modell o A szerver belső működésének ismeretét igényli o A szerver sajátosságait ismerni kell § Mérések alapján épített modell (fekete doboz modell) o Adatgyűjtés éles rendszerekből o Feltételezzük, hogy megfelelően lefedjük az állapotteret § Felhasználói input o A hangolt paraméterek értéktartománya: Max. Client [1, 1024]; Keep. Alive [1, 50] o Max. késleltetés, amíg az új paraméterek érvényre jutnak és látszanak a metrikákon: Max. Clients (10 m); Keep. Alive (20 m) Lineáris Modell
Visszacsatolt szabályozás § PID (proportional-integral-derivative) szabályozás o Korrigálja a hibát a változók mért és kívánt értékei között o Kiszámítja a szükséges korrekciót és ennek megfelelően beavatkozik a folyamatba
Visszacsatolt szabályozás § Arányos - Proportional: reakció az aktuális hibára § Integráló - Integral: reakció a legutóbbi hibák alapján § Differenciáló - Derivative: reakció a hiba megváltozásának mértékére § A három módszer súlyozott összegét használjuk § A korrekciót (corrective action) egy beavatkozó hajtja végre
Arányos tag § A mért hibával arányos mértékben hajt végre változtatást § A hibát egy konstans Kp érékkel kell megszorozni (erősítés) m: kimenet; Kp : erősítés e: hiba (elvárt – mért) PB: arányos tartomány (proportional band)
Integráló tag § A szabályozó kimenet arányos a hiba mértékéhez és időtartamához § Az akkumulált arányos eltérést számolja ki az idő szerint § A szabályozó hamarabb éri el az elvárt értéket, de túllövést eredményezhet m: kimenet Ti: időtartam e: hiba (elvárt – mért)
Differenciáló tag § A hibajel meredekségét használja ki (a hiba változásának sebessége) m: kiement Ti: idő e: hiba (elvárt – mért)
PID szabályozás § Output(t) = P + I + D
Run-time Control Agent Kp = arányos tag, erősítés § Visszacsatolt szabályozást Ki = integáló tag erősítése valósít meg § A kívánt és a mért e= hiba az aktuális és kihasználtság értékeket a kívánt érték között a használja k-adik intervallumban § A Kp és Ki mátrixokat a szabályozás tervező ágens számítja ki § Szabályozó teljesítménye o Mennyi idő alatt tér vissza a rendszer egy terhelésváltozás után Akkumulált hiba
Szabályozás tervező ágens § A modellező ágens kimenetét használja § A J(Kp, Ki) négyzetes költségfüggvényt minimalizálja § Q, R súlymátrixok : Q 2 x 2 -es mátrix ; R 4 x 4 -es mátrix § Tapasztalati értékek: Q = diag(q 1, q 2, q 3, q 4), and R=diag(r 1, r 2) o q 1=1, q 2=2, q 3=(1/10^2), q 4=(1/2^2) (10% CPU, és 2% memória fluktuáció) o r 1=(1/50^2), r 2=(1/1000^2)
Auto. Tune architektúra
Kísérleti környezet § Linux, Apache HTTP szerver § Max. Client és Keep. Alive paraméterek dinamikusan változtathatóak § Sok kliens viselkedését emuláló terhelésgenerátorok o WAGON (Web tr. Affic Generat. Or and be. Nchmark) – Liu et al. (INRIA) o Httperf generál HTTP lekérdezéseket § Statikus és dinamikus terhelésmodellek o Statikus: weboldal lekérések – a lekérdezések Poisson eloszlást követnek (20 session/sec) o Dinamikus: weboldal lekérések – a lekérdezések Poisson eloszlást követnek (10 session/sec) § Szabályozási paraméterek o Szabályozási intervallum: 5 seconds o Cél: CPU=0. 5 és memória=0. 6
Statikus terhelés – konvergencia 50 intervallum alatt
Megegyező beállítások + dinamikus terhelés a 20. intervallumtól kezdve
Esettanulmány: energiafelhasználás felügyelete
Követelmények § Az energiafelhasználás egy fontos tervezési kényszer: o Energiaköltség o Hődisszipáció § Két legfontosabb lehetőség a skálázásra: o Működési frekvencia (négyzetes hatás) o Tápfeszültség (köbös hatás) § Qo. S követelmények és energiafelhasználás mérlegelése o A terhelés mekkora részét dolgozzuk fel helyben
Forrás: Salim Hariri, Mazin Yousif
Justin Moore, Ratnesh Sharma, Rocky Shih, Jeff Chase, Chandrakant Patel, Partha Ranganathan (HP Labs)
High Performance Computing energiafelhasználása § Az energiafelhasználás kritikus kérdés o Energia = hő; a hődisszipáció költséges o Rendelkezésre álló elektromos ellátás korlátolt o Jelentős költség a működés során § Következmény o A teljesítményt korlátozza a rendelkezésre álló energia o Kevesebb csomópont/eszköz tud egyszerre működni § Lehetőség: szűk keresztmetszetek o Szűk keresztmetszetek korlátozzák a teljes rendszer teljesítményét o Csökkentsük néhány, nem szűk keresztmetszet energiafelhasználást, és így nem csökken a rendszer teljesítménye § Ma egy CPU: o Jelentős fogyasztó(~100 W), o Ritkán szűk keresztmetszet o Skálázható a teljesítménye (frekvencia és feszültség)
A CPU skálázás megoldás? 1. Frekvencia és feszültség skálázása power A villamos teljesítmény csökkenés kisebb mértékű, mint a számítási (1) teljesítmény csökkenése CPU power P = ½ CVf 2 Az áteresztőképesség csökkenés kisebb mértékű, mint a számítási teljesítmény csökkenése § Feltételezések: o A CPU jelentős energiafogyasztó o A CPU szabályozható o Az áteresztőképesség növekedése nem végig lineáris (2) application throughput 2. Alkalmazás áteresztőképessége performance (freq)
AMD Athlon-64 § § x 86 ISA 64 -bit technológia Hypertransport technológia – gyors memória busz Teljesítmény o SPEC 2 K eredmények • 2 GHz AMD-64 hasonló a 2. 8 GHz P 4 -hez • a P 4 átlagosan 10 -30%-kal jobb (INT & FP) o Alacsonyabb órajel o Rövidebb pipeline (12 vs. 20) § Frekvencia és feszültség skálázás o 2000 – 800 MHz o 1. 5 – 1. 1 Volt From: Vincent W. Freeh (NCSU)
LMBench eredmények § LMBench o Benchmarking csomag o Alacsony szintű o Micro adatok § Minden fokozat tesztelése Fokozat Frequency (Gear) (Mhz) 0 1 2 3 4 6 Voltage 2000 1800 1600 1400 1200 800 From: Vincent W. Freeh (NCSU) 1. 5 1. 4 1. 3 1. 2 1. 1 0. 9
Operációs rendszer funkciók From: Vincent W. Freeh (NCSU)
Kommunikáció From: Vincent W. Freeh (NCSU)
A probléma § Villamos csúcsteljesítmény korlát, P, adódhat: o Egy rack energiafelhasználása o Terem/villamos közmű o Hődisszipáció korlátozásaiból. § Statikus megoldás, a szerverek száma o N = P/Pmax o Ahol Pmax maximum energiafelhasználása egységenként § Problémák o Csúcs villamos teljesítmény > átlagos villamos teljesítmény (Pmax > Paverage) o N * (Pmax - Paverage) kihasználatlan általában o Alulteljesít – a számítási teljesítmény N-nel arányos o Az energiafelhasználás nem prediktálható
Biztonságos tartalékképzés § Felügyeljük az energia megosztást M > N csomópont között o M > N • Pl. M = P/Paverage o MPmax > P o Plimit = P/M § Cél Pmax Paverage P(t) time power o Használjuk több energiát, de maradjunk egy biztonsági határ alatt o Csökkentsük az egyes csomópontok energiafelhasználását (és CPU csúcsteljesítményét) o Növeljük a teljes rendszer számítási teljesítményét Pmax Paverage Plimit P(t) time
Túltervezés § Előnyök o Kevesebb kihasználatlan energia o Hatékonyabb energiafelhasználás § Nagyobb számítási teljesítmény ugyanolyan energiakorlátok között o Legyen P (performance) a számítási teljesítmény o Nagyobb számítási teljesítmény másképpen: MP * > NP Pmax kihasználatlan energia Paverage P(t) time power o P */ P > N/M vagy P */ P > Plimit/Pmax Paverage Plimit P(t) time
Mikor oldottuk meg a feladatot? av e ra ge / P m ax Ha P */ P > N/M ax P m P / e/ * P * / P >P av er ag P (1) power Másképpen: a villamos energiafelhasználás csökkenése nagyobb, mint a számítási teljesítmény csökkenése <P vagy P */ P > Plimit/Pmax (2) application throughput § performance (freq) Vincent W. Freeh (NCSU)
Visszacsatolás-alapú, adaptív teljesítmény szabályozás § Visszacsatolással szabályozzuk az energiafelhasználást o Adott az energiafelhasználás kívánt értéke o Monitorozzuk az aktuális felhasználást o A CPU beállításait szabályozzuk § Több cél o Átlagos energiafelhasználás o Maximális energiafelhasználás o Energia hatékonyság: legyen g a leglassabb eszköz, hogy Vincent W. Freeh (NCSU)
CRAC = Computer Room Air Conditioner Justin Moore, Ratnesh Sharma, Rocky Shih, Jeff Chase, Chandrakant Patel, Partha Ranganathan (HP Labs)
Justin Moore, Ratnesh Sharma, Rocky Shih, Jeff Chase, Chandrakant Patel, Partha Ranganathan (HP Labs)
CRAC = Computer Room Air Conditioner Justin Moore, Ratnesh Sharma, Rocky Shih, Jeff Chase, Chandrakant Patel, Partha Ranganathan (HP Labs)
Justin Moore, Ratnesh Sharma, Rocky Shih, Jeff Chase, Chandrakant Patel, Partha Ranganathan (HP Labs)
Justin Moore, Ratnesh Sharma, Rocky Shih, Jeff Chase, Chandrakant Patel, Partha Ranganathan (HP Labs)
Justin Moore, Ratnesh Sharma, Rocky Shih, Jeff Chase, Chandrakant Patel, Partha Ranganathan (HP Labs)
Justin Moore, Ratnesh Sharma, Rocky Shih, Jeff Chase, Chandrakant Patel, Partha Ranganathan (HP Labs)
Kutatási irányok
Adaptív szabályozás § A szabályozási algoritmus módosítása futásidőben, hogy kövesse a rendszer változását § A robosztus szabályozástól abban különbözik, hogy nincs szükség előzetes információra a lehetséges változásokról o A robosztus szabályozás változások ismert korlátait figyelembe veszi a szabályozás tervezése során o Így, ha a változások a korlátok közé esnek, nincs szükség a szabályozás módosítására 110
Rendszeridentifikáció § Matematikai eszközök, algoritmusok arra, hogy mért adatokból dinamikus modelleket építsünk § Egy dinamikus modell a rendszer viselkedését írja le az idő vagy frekvenciatartományban § Legfontosabb kutatás, alkalmazási területek: l l l Fizika Informatika Mérnöki tudományok l l Közgazdaságtan Biológia Kémia Gyógyászat 111
Modell-alapú adaptív szabályozás § Model Reference Adaptive Controllers (MRAC), vagy Model Reference Adaptive System (MRAS) § Visszacsatolt szabályozás, amely paraméterezhető, így követni tudja a szabályozott rendszer megváltozásait § A valós rendszer kimenetét egy referenciamodell (pl. szimulált modell) kimenetéhez viszonyítjuk § A szabályozás paramétereit ezen modellhiba alapján módosítjuk § A cél, hogy paraméterek konvergáljanak olyan ideális értékekhez, amelyek esetén a szabályozott rendszer válasza megegyezik a modell válaszával 112
MODEL REFERENCE ADAPTIVE CONTROLLERS—MRAC
MODEL IDENTIFICATION ADAPTIVE CONTROLLERS—MIAC § A rendszer identifikációját futásidőben végzi és módosítja a szabályozási algoritmust o Modellstruktúra létrehozása és paraméterbecslés tipikusan a legkisebb négyzetek módszerével § Cautious adaptive controllers – óvatos adaptív szabályozók o Az aktuális rendszer identifikáció alapján módosítja a szabályozást, megengedi a bizonytalanságot az identifikációban § Certainty equivalent adaptive controllers – biztosan ekvivalens adaptív szabályozók o Az aktuális identifikációt a valós rendszernek tekinti, nem fogad el 114 bizonytalanságot
MODEL IDENTIFICATION ADAPTIVE CONTROLLERS—MIAC 115
MIAC és MRAC architektúrák alkalmazása § Mindkettő célja, hogy a szabályozón belül módosítsa a szabályozás algoritmusát § MRAC megközelítés o A referenciamodell statikus — adott vagy előre kiszámított, futásidőben nem változik § MIAC megközelítés o A referenciamodell változik futásidőben, identifikációs algoritmusokat futtat 116
Kutatási kihívások: modellezés § Szabályozástervezés során olyan modelleket kell alkotni, amelyekkel számszerűsíteni lehet a szabályozás hatását a mérhető kimeneteken o A teljesítménytervezés a sorbanállás elmélet sok alkalmazásra létrehozott modelleket, de nem biztos, hogy Qo. S jellemzőknek is megfelelő indikátorok o Bizonyos jellemzők (pl. bizalom) számszerűsítése nehéz o Milyen rendszerszintű, end-to-end és lokális Qo. S indikátorok relevánsak a felhasználó élménye szempontjából? § A modelleknek kompromisszumok (trade-off) tervezésére is lehetőséget kell adniuk, Qo. S indikátorok kombinációi alapján § Qo. S indikátorok visszacsatolása alapú szabályozása kihívás sok alkalmazási területen o A modellek és a Qo. S metrikák governance-hez, compliance-hez vagy egyed SLAkhoz kötődnek, különösen SOA rendszerek esetén
Kutatási kihívások: a bizonytalanság kezelése § Amik külső zavarásokat modellezünk (pl. hálózat telítődése) vagy kényszereket kell kielégíteni (pl. kompromisszumok extra-funkcionális követelmények között), bizonytalanságot vezetünk be § Ezért az ilyen dinamikus rendszereknek kezelniük kell ezt a bizonytalanságot, és a rendszernek alkalmazkodnia kell olya környezeti változásokhoz, amelyek nem volt előreláthatóak tervezési időben § A bizonytalanság bevezetés kompromisszumokat von maga után a rugalmasság a biztosítottan jó működösé között § A megfelelőséget folyamatosan ellenőrizni kell futásidőben, nem csupán egyszer, amikor elfogadtuk a rendszertervet § A változó, adaptív rendszerek alapvető feltétele, hogy kezelni tudják a bizonytalanságot és megbízhatósági garanciákat tudjanak adni 118
Kutatási kihívások: szoftver evolúció § Várható változások a közeljövőben: § A szoftverrendszerek kiterjesztése felügyeleti interfészekkel (szenzor, beavatkozó, vö. autonóm egység) § A reverse engineering és transzformációs technológiák segítségével (pl. modell alapú refaktoring) instrumentáció, módosítás § Szoftverrendszerek monitorozása majd szabályozása futásidőben, eddig elképzelhetetlen intelligens, autonóm működéssel 119
Összefoglalás § A informatikai rendszerek összekapcsolt, dinamikus hálózatokká válnak § Ahhoz hogy ilyen komplex, folyamatosan változó dinamikus rendszereket felügyelni lehessen, jóval nagyobb mértékű és pontosabb monitorozás szükséges § Az időben változó rendszerek felügyelet szabályozási körökkel o Explicit szabályozás § Előre látható és előre nem látható változások adaptív kezelése § Mindenre kiterjedő, alapos instrumentáció a rendszerek minden építőelemében § Karbantarthatósági és evolúciós előnyei is vannak az ön-adaptív rendszereknek a statikus, nem adaptívakhoz képest 120
Felhasznált és ajánlott irodalom § § § Hellerstein, J. L. , Diao, Y. , Parekh, S. , Tilbury, D. M. : Feedback Control of Computing Systems. John Wiley & Sons (2004) Joseph L. Hellerstein Yixin Diao, Sujay Parekh, Feedback Control of Computing Systems, Columbia University, https: //courseworks. columbia. edu/cms/outview/courseenter. cfm? no=COMSE 6998_004_2004_1 IBM Research, Feedback Control of Computing Systems, http: //domino. research. ibm. com/comm/research_projects. nsf/pages/fbcs. index. html Northrop, L. , et al. : Ultra-Large-Scale Systems. The Software Challenge of the Future. SEI Tech Report, 134 pages, ISBN 0 -9786956 -0 -7 (2006) http: //www. sei. cmu. edu/uls Lewis, G. , Smith, D. : SOA and its Implications for Maintenance and Evolution, ICSM Fo. SM (2008) IBM: An Architectural Blueprint for Autonomic Computing, 4 th Ed. (2006) Huebscher, M. C. , Mc. Cann, J. A. : A Survey of Autonomic Computing—Degrees, Models, and Applications. ACM Computing Surveys, 40 (3): 7: 1 -28 (2008) Dobson, S. , Denazis, S. , Fernandez, A. , Gaiti, D. , Gelenbe, E. , Massacci, F. , Nixon, P. , Saffre, F. , Schmidt, N. , Zambonelli, F. : A Survey of Autonomic Comm. . ACM TAAS 1(2): 223 -259 (2006) Diao, Y. , Hellerstein, J. L. , Parekh, S. , Griffith, R. , Kaiser, G. E. , Phung, D. : A Control Theory Foundation for Self. Managing Computing Systems. IEEE Journal on Selected Areas in Communications 23(12): 2213 -2222 (2005) Müller, H. A. , Pezzè, M. , Shaw, M. : Visibility of Control in Adaptive System. In: 3 rd ACM/IEEE International ICSE ULSSIS 2008, pp. 23 -26 (2008) Müller, H. A. , Kienle, H. M. , Stege, U. : Autonomic Computing: Now You See It, Now You Don’t—Design and Evolution of Autonomic Software Systems. In: De Lucia, A. , Ferrucci, F. (eds. ): In ISSL, LNCS 5413, pp. 32– 54 (2009) Brun, Y. , Di Marzo Serugendo, J. , Gacek, C. , Giese, H. , Kienle, H. M. , Litoiu, M. , Müller, H. A. , Pezzè, M. , Shaw, M. : Engineering Self-Adaptive Systems through Feedback Loops, In: Software Engineering for Self-Adaptive Systems, LNCS 5527, pp. 47 -69 (2009) 121
- Slides: 121