Szabályozástechnika alkalmazása az IT infrastruktúra felügyeletben

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

Virtualizált Biztonságos BOINC Németh Dénes Deák Szabolcs Szeberényi Imre.
Valós idejű tesztlefedettség- monitorozás JEE környezetben Dr. Ferenc Rudolf, Szegedi Tudományegyetem Bakota Tibor, FrontEndART Szoftver Kft.
IP vagy Analóg Videó Megfigyelő rendszer
MEH - MAKK konferencia és fórum 1 Egy hazai fejlesztésű terhelésbecslő és szélerőmű termelésbecslő szoftver Bessenyei Tamás
A SZABÁLYOZOTT JELLEMZŐ MINŐSÉGI MUTATÓI
1 Informatikai Szakképzési Portál Hálózati és Internet ismeretek Hálózati menedzsment.
IRE 8 /38/ 1 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – I ntelligens R endszerek E lmélete 8.
Kötelező alapkérdések
Kalman-féle rendszer definíció
Diszkrét idejű bemenet kimenet modellek
Készítette: Glisics Sándor
Készítette: Glisics Sándor
Mágneses lebegtetés: érzékelés és irányítás
2012. április 26. Dülk Ivor - (I. évf. PhD hallgató)
Szoftver bonyolultsági mértékek alkalmazási területei Király Roland 2011.
controller plant Gd(s) Gc(s) Ga(s) Gp0(s) Gt(s)
Kompenzálás a felnyitott hurok pólusai és fázistartaléka alapján
A jelátvivő tag Az irányítástechnika jelátvivő tagként vizsgál minden olyan alkatrészt (pl.: tranzisztor, szelep, stb.), elemet vagy szervet (pl.: jelillesztő,
Irányítástechnika 5. előadás
Az egyhurkos szabályozási kör statikus jellemzői
Funkciópont elemzés: elmélet és gyakorlat
Megvalósíthatóság és költségelemzés Készítette: Horváth László Kádár Zsolt.
Többmagos processzorok
Regresszióanalízis 10. gyakorlat.
Lab BME TMIT Sztochasztikus hálózat számítás (Stochastic network calculus) Bíró József, Ph.D. BME Távközlési és Médiainformatikai Tanszék 2007.
Hibrid felhő Privát-, publikus és hoster felhők összekapcsolása
Informatikai döntéstámogatás az MVM-nél
Az Alakfelismerés és gépi tanulás ELEMEI
Folyamatirányítás fermentációknál
Hiba-előjel alapú spektrális megfigyelő Orosz György Konzulensek: Sujbert László, Péceli Gábor Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika.
A hiba-előjel alapú FxLMS algoritmus analízise Orosz György Konzulensek: Péceli Gábor, Sujbert László Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika.
Gyengén nemlineáris rendszerek modellezése és mérése Készítette: Kis Gergely Konzulens: Dobrowieczki Tadeusz (MIT)
Idősor elemzés Idősor : időben ekvidisztáns elemekből álló sorozat
Optimalizáció modell kalibrációja Adott az M modell, és p a paraméter vektora. Hogyan állítsuk be p -t hogy a modell kimenete az x bemenő adatokon a legjobban.
Megújuló energiaforrások – Lehetőségek és problémák
Többváltozós adatelemzés
Alapsokaság (populáció)
© Farkas György : Méréstechnika
Automatika Az automatizálás célja gép, együttműködő gépcsoport, berendezés, eszköz, műszer, részegység minél kevesebb emberi beavatkozással történő, balesetmentes.
BEVEZETŐ Dr. Turóczi Antal
Petri-hálón alapuló modellek analízise és alkalmazásai a reakciókinetikában Papp Dávid június 22. Konzulensek: Varró-Gyapay Szilvia, Dr. Tóth János.
Web Architecture. Development of Computing Architectures Monolithic mainframe programming Client Server Real Client Server Web Programming.
Nagy teherbírású rendszerüzemeltetés a felhőben. Miről lesz szó? Cloud áttekintő Terheléstípusok és kezelésük CDN Loadbalancing Nézzük a gyakorlatban.
Rendszerek stabilitása
Hibaterjedés-analízis
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Szondázás alapú diagnosztika 1. Autonóm és hibatűrő információs.
Supervizor By Potter’s team SWENG 1Szarka Gábor & Tóth Gergely Béla.
Az üzleti rendszer komplex döntési modelljei (Modellekkel, számítógéppel támogatott üzleti tervezés) II. Hanyecz Lajos.
Szabályozási Rendszerek
4/7/2017 StorSimple: A felhő-integrált tároló Windows Server 2012 R2 konferencia © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows,
Szoftver születik Eötvös Konferencia Köllő Hanna.
Kommunikációs Rendszerek
Szabályozási Rendszerek 2014/2015, őszi szemeszter Előadás Automatizálási tanszék.
Szabályozási Rendszerek 2014/2015 őszi szemeszter Előadás Automatizálási tanszék.
A website teljesítményének vizsgálata, fejlesztése 1. Forrás: WebTrends Analysis Suite, Advanced Edition White Paper (
Automatika Az automatizálás célja gép, együttműködő gépcsoport, berendezés, eszköz, műszer, részegység minél kevesebb emberi beavatkozással történő, balesetmentes.
Az eredő szakasz GE(s) átmeneti függvénye alapján
Menetrend optimalizálása genetikus algoritmussal
Szimuláció.
Az egyhurkos szabályozási kör kompenzálása
Piramis klaszter rendszer
Az egyhurkos szabályozási kör statikus jellemzői
PÁRHUZAMOS ARCHITEKTÚRÁK – 13 INFORMÁCIÓFELDOLGOZÓ HÁLÓZATOK TUDÁS ALAPÚ MODELLEZÉSE Németh Gábor.
A jelátvivő tag Az irányítástechnika jelátvivő tagként vizsgál minden olyan alkatrészt (pl.: tranzisztor, szelep, stb.), elemet vagy szervet (pl.: jelillesztő,
2004 május 27. GÉPÉSZET Komplex rendszerek szimulációja LabVIEW-ban Lipovszki György Budapesti Műszaki Egyetem Mechatronika, Optika és Gépészeti.
Kontinuum modellek 1.  Bevezetés a kontinuum modellekbe  Numerikus számolás alapjai.
Manhertz Gábor; Raj Levente Tanársegéd; Tanszéki mérnök Budapesti Műszaki és Gazdaságtudományi Egyetem Mechatronika, Optika és Gépészeti Informatika Tanszék.
Klasszikus szabályozás elmélet
Klasszikus szabályozás elmélet
Előadás másolata:

Szabályozástechnika alkalmazása az IT infrastruktúra felügyeletben Paljak Gergely paljak@mit.bme.hu Utolsó módosítás:

Tartalom Bevezetés Szabályozástechnikai alapok (ismétlés) Jelek, modellek PID szabályzók Esettanulmány: AutoTune Esettanulmány: energiafelhasználás felügyelete Kutatási irányok Columbia egyetem előadásai alapján Megkülönböztető tudás

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 Szabtech mint modellezési módszer, mire jó, hogyan

Visszacsatolt szabályozás mint megközelítés 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

Autonóm egységek hierarchiája IBM: An Architectural Blueprint for Autonomic Computing, 4th Ed. (2006)

Szabályozástechnikai ismétlés

Visszacsatolt szabályozási kör Visszacsatolt szabályozási kör, zavarjellel és zajjal Hellerstein, Diao, Parekh, Tilbury: Feedback Control of Computing Systems. Wiley (2004)

Visszacsatolt szabályozási kör Alapjel – Reference input Cél, elvárt kimenet Hibajel – Control Error Az alapjelből ki kell vonni a (mért) kimenetet Beavatkozó/rendelkező jel – Control/Action Input A rendszert befolyásoló paraméterek, pl. a szálak száma, CPU, memória param. Zavarás – Disturbance Input A beavatkozó jelet befolyásolja – pl. érkezési ráta Zaj – Noise input A szabályozott jellemzőt befolyásolja Szabályozó - Controller 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 Dinamikus rendszer, folyamat (process, plant) — gyakran differenciálegyenletek írják le Szabályozott jellemző - Measured output A rendszer egy mérhető jellemzője —pl. válaszidő Transzduktor – Transducer A szabályozott jellemzőt transzformálja, hogy összemérhető legyen az alapjellel controller szabályozó plant szakasz reference input element alapjel adó comparing element különbségképző error detector hibajel detektáló compensator kompenzátor control task irányító szoftver blokk actuator végrehajtó transmitter távadó reference signal alapjel error signal hibajel action signal végrehajtó jel feddback signal ellenőrző (visszacsatolt) jel disturbance variable zavar jellemző manipulated variable módosító jellemző controlled variable szabályozott jellemző

A szabályozás céljai – SASO tulajdonságok Stabilitás Stability Alapjelkövetés Accuracy – ess Beállási idő Settling time – ks Túllövés Overshoot - Mp

Mintavételes rendszerek

Mintavételes szabályozási rendszerek Irányítási rendszereket digitálisan valósítják meg Real-time rendszerek diszkrét idejű beavatkozó jel folytonos beavatkozó jel Tartószerv Szabályozó: digitális szabályozó algoritmus Szabályozott szakasz alapjel Mintavevő diszkrét idejű szabályozott jellemző folytonos szabályozott jellemző

Z-transzformáció: Motiváció y C B y(k) Time (k) k A List representation is cumbersome B C

Z-Transzformáció z az eltolási operátor z0=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) FIXME!

Z-Transzformáció: példa késleltetés y A C B y(k) B siettetés Time (k) k A

Z-Transzformáció: pólusok Motiváció 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 Have class explain the chart

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 Why should the poles lie in the unit circle if we’re talking about a “final value”?

Jelek, rendszerek U(z) Y(z) G U(z), Y(z) are signals – flow of data. G is the system such that when U(z) is applied, it results in an output signal Y(z). For eg, consider the discrete integrator. Shown are two example cases of inputs and resultant outputs. Can we generalize this in some way? It is possible (and also very useful) to represent G in the z domain. G(z) represents the the mathematical relationship between U(z) and Y(z). To be more precise, it is the function/operation performed by G on arbitrary signal U(z). By knowing U(z) and G(z) we can predict the resultant Y(z)  ie, we can predict the behavior of the system G.

Átviteli függvények Definíció: Példa: diszkrét integrátor U(z) Y(z) G(z) Refer to graphs on prev slide. Impulzusválasz: Lépésválasz:

Az átviteli függvények értelme Adott bemenetre prediktálható a kimenet Kiszámítható, hogy stabilis-e a rendszer Nem stabil rendszerek nem kívánatosak Az erősítés kiszámítható (steady state gain) 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 Alacsonyabb fokú rendszerekkel könnyebb dolgozni Szimulálható a rendszer viselkedése Az átviteli függvények komponálhatók Bonyolult rendszereket is vizsgálhatók Predict output for a given input Predict Stability of system Unstable systems are highly undesirable Calculate steady-state gain Compute operating ranges, state space reachability Use it as a basis for lowering system order Lower-order systems are easier to work with Easily simulate the system behavior Compose TFs to build/study complex systems [Next Chapter]

Korlátos jelek Def:: {u(k)} korlátos, ha létezik M konstans, hogy |u(k)| = M minden k értékre. Intuitively, stable system should have a “reasonable” output behavior.

GV stabilitás Megjegyzés: nem korlátos jelekre adott nem korlátos válasz megengedhető! Ezek a rendszerek GV stabilisak? 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) 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.49y(k) + 0.033u(k) Tetszőleges y(k+1) = -1.3y(k) + 2.3u(k) It is tedious to figure out whether or not something is BIBO stable from its time-domain eqn… leads to next slide. M/M/1/K = Arrival-Poisson process/service time distribution-Exponential service time/number of servers/The number of places in the system

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 P szabályozó y(k+1) = KP u(k) G(z) = KP Ö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) M/M/1/K sor y(k+1) = 0.49y(k) + 0.033u(k) G(z) = 0.033/(z-0.49) z = 0.49 Tetszőleges y(k+1) = -1.3y(k) + 2.3u(k) G(z) = 2.3/(z+1.3) z = -1.3

Blokkdiagramok

Blokkdiagramok Sok komponensből álló rendszerek modellezése Szabályzó Notes Server Sensor - + Sok komponensből álló rendszerek modellezése Különbözik a flow chartoktól Flow charts: work flow  rendszer (funkcionális) analízise Blokkdiagram: jelfolyamok szabályozás analízise A SASO tulajdonságokat vizsgáljuk

Szabályozott folyamat Blokkdiagram alapok D(z) Szabályozott folyamat Szabályozó R(z) E(z) U(z) + V(z) Y(z) + K(z) G(z) - + W(z) H(z) Transzduktor Y(z) = G(z) V(z) 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

Szabályozott folyamat Komplex rendszerek D(z) Szabályozott folyamat Szabályozó R(z) E(z) U(z) + V(z) Y(z) + K(z) G(z) - + W(z) H(z) Transzduktor KI + KP +

Zavarjel és zaj modellezése G(z) M/M/1/K Y(z) U(z) Válaszidő Buffer méret + V(z) Zavarjel D(z) Zaj N(z) T(z) Alapjel és a szabályozó K(z) Szabályozó R(z) U(z) Buffer méret Alapjel

Szabályozási minták

Kaszkád szabályozás E2(z) E1(z) R(z) U1(z) V(z) Y(z) K1(z) K2(z) U2(z) G2(z) G1(z) + + - -

Kaszkád szabályozás példa Kívánt válaszidő Mért válaszidő Kívánt kihasználtság Mért kihasználtság MaxClients E2(z) E1(z) Apache szabályozók V(z) R(z) U1(z) U2(z) Apache Server Y(z) K1(z) K2(z) G2(z) G1(z) + + - - Apache web szerver szolgáltatási szintjének szabályozása

Adaptív szabályozás Adaptációs séma A(z) R(z) U(z) Y(z) E(z) K(z) G(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 Mért RIS Kívánt RIS MaxUsers + Szabályozó Notes Szerver Notes Szenzor - Lotus Notes Server szabályozása

Felügyeleti szabályozás Felügyeleti szabályozás = Supervisory control Felügyeleti logika A(z) R(z) U(z) Y(z) E(z) K(z) G(z) + -

Felügyeleti szabályozás példa Rendszer identifikáció Felügyeleti logika Profit model Bevétel= r * (befejezett tranzakciók száma) Szabályozó tervezés, alapjel meghatározás Költség = c * (A W válaszidő kritériumnál hosszabb válaszidők száma) Profit = Bevétel - Költség Felhasználók Alapjel MaxUsers Szabályozó Befejezett tranzakciók Válaszidő Szerver Log Rendszergazda Szerver

Elosztott szabályozás N R(z) E(z) U(z) K(z) G(z) Y(z) + - Centralizált szabályozás K1(z) R(z) U(z) N Y(z) E(z) G(z) K2(z) + - KN(z) Decentralizált szabályozás

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? Y Stop Model Ok? N Y N

Példa: Apache szabályozása Apache session folyamok New Users User Think Idle Busy Connect Close Timeout request reply Szerver állapotátmenetek Close() Timeout() + New conn Lab 1: Constructing Block Diagrams for Apache Control MaxClients TCP Listen queue Apache Szabályozási cél: CPU és memória használat szabályozása if ((QL > 0) && (idle_servers > 0)) then dequeue();

Memória kihasználtság Példa (folytatás) A paraméterhangolás hatása A KA hatása Az MC hatása CPU kihasználtság (CPU) Memória kihasználtság (MEM) KeepAlive (KA) MaxClients (MC)

Példa (folytatás) Két SISO szabályozó: C1 KA-t szabályozza, hogy elérje a CPU*-t C2 MC-t szabályozza, hogy elérje a MEM*-t - Apache Server Apache Server C1 + CPU*k ECPU,k KAk CPUk Szabályozó1 MEM*k EMEM,k MCk MEMk C2 Apache Server + - Szabályozó2 SISO: Single Input Single Output MIMO: Multiple Input Multiple Output

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 - C Apache Server + CPU*k ECPU,k KAk CPUk MEM*k EMEM,k MCk MEMk + - Szabályozó

Model struktúrák Az átviteli függvények kapcsolata G11 MIMO model G21 + G11 S MIMO model G21 G12 G22 G11 SISO vs. MIMO G21 G12 G22 A SISO megközelítés a közös tagokat elhanyagol- hatónak tekinti + G11 KA CPU Two SISO models G22 MC MEM Apache Szerver

SISO Rendszeridentifikáció Empirikus modellalkotás KA Apache Server Apache Server CPU 1 MC MEM A hangoló paramétereket változtassuk és folyamatosan gyűjtsünk adatokat Lineáris regresszióval (legkisebb négyzetes hiba) elsőrendű modellt kaphatunk CPU KA 2 Time (s)

Bemenő jelek kiválasztása 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 MC Time (s) MC KA

SISO Rendszeridentifikáció KA CPU MEM MC G21 G12 G11 G22 + KA CPU MEM MC G21 G12 G11 G22 + MC=600 KA=11 CPU MEM KA MC Time (s) Time (s)

SISO modellek illeszkedésének vizsgálata Egyszerre egy bemenet változik KA CPU MEM MC G21 G12 G11 G22 + KA CPU MEM MC G21 G12 G11 G22 + Prediktált Prediktált Valós Valós R2 = 0.934 R2 = 0.989

A SISO modellek értékelése mérések alapján CPU MEM MC G21 G12 G11 G22 + KA CPU MEM MC G21 G12 G11 G22 + NEM NULLA! ~NULLA MC=600 KA=11 CPU MEM KA MC Time (s) Time (s)

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, alapjel-kö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 Kp E(z) 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 KP=0.91 Gyökhelyek - Az egyenlet megoldásai

Integráló tag Célja: az állandósult hiba 0 legyen E(z) U(z) Vagy 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: AutoTune

Esettanulmány: AutoTune Cloud computing rendszerek menedzsmentje Kihívások: Dinamikus terhelés Virtualizált környezetek Egy adatközpontot sok szolgáltatás vagy bérlő használ 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 MaxClients és KeepAlive paraméterek állíthatóak MaxClients: max. párhuzamosan kiszolgált kliensek száma KeepAlive: 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 AutoTune: szabályozó megoldás

AutoTune ágensek Autotune Adaptor Bean Autotune Controller Bean A felügyelt rendszertől lekérdezi a szolgáltatási szint metrikákat Beállítja a hangolt paramétereket Autotune Controller Bean Meghatározza a szabályozási algoritmusokat (a rögzített adatok alapján) A rendszermérnök számára interfészt ad a szabályozás beállítására, hangolására

AutoTune Functionality Beavatkozási és mintavételezési intervallumokat állítja

AutoTune architektúra

AutoTune ágens műveletek Három ágens: 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 Modellezés Nem éles rendszeren, tesztelés során A MaxClients és KeepAlive paraméterek állítása A CPU és memória kihasználtság monitorozása Dinamikus modell építse az idősorok alapján Futásidejű szabályozás Éles rendszerben A szabályozó kimenete szerint állítja a MaxClients és a KeepAlive értékét

Modellező ágens A rendszer matematikai modelljét hozza létre Sorbanállás elmélet Mért adatok vizsgálata Matematikai modell A szerver belső működésének ismeretét igényli A szerver sajátosságait ismerni kell Mérések alapján épített modell (fekete doboz modell) Adatgyűjtés éles rendszerekből Feltételezzük, hogy megfelelően lefedjük az állapotteret Felhasználói input A hangolt paraméterek értéktartománya: MaxClient [1,1024]; KeepAlive [1,50] Max. késleltetés, amíg az új paraméterek érvényre jutnak és látszanak a metrikákon: MaxClients (10m); KeepAlive (20m) Lineáris Modell

Visszacsatolt szabályozás PID (proportional-integral-derivative) szabályozás Korrigálja a hibát a változók mért és kívánt értékei között 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 Visszacsatolt szabályozást valósít meg A kívánt és a mért kihasználtság értékeket használja A Kp és Ki mátrixokat a szabályozás tervező ágens számítja ki Szabályozó teljesítménye Mennyi idő alatt tér vissza a rendszer egy terhelésváltozás után Kp = arányos tag, erősítés Ki = integáló tag erősítése e= hiba az aktuális és a kívánt érték között a k-adik intervallumban 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 2x2-es mátrix ; R 4x4-es mátrix Tapasztalati értékek: Q = diag(q1,q2,q3,q4), and R=diag(r1,r2) q1=1, q2=2, q3=(1/10^2), q4=(1/2^2) (10% CPU, és 2% memória fluktuáció) r1=(1/50^2), r2=(1/1000^2)

AutoTune architektúra

Kísérleti környezet Linux, Apache HTTP szerver MaxClient és KeepAlive paraméterek dinamikusan változtathatóak Sok kliens viselkedését emuláló terhelésgenerátorok WAGON (Web trAffic GeneratOr and beNchmark) – Liu et al. (INRIA) Httperf generál HTTP lekérdezéseket Statikus és dinamikus terhelésmodellek Statikus: weboldal lekérések – a lekérdezések Poisson eloszlást követnek (20 session/sec) Dinamikus: weboldal lekérések – a lekérdezések Poisson eloszlást követnek (10 session/sec) Szabályozási paraméterek Szabályozási intervallum: 5 seconds 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: Energiaköltség Hődisszipáció Két legfontosabb lehetőség a skálázásra: Működési frekvencia (négyzetes hatás) Tápfeszültség (köbös hatás) QoS követelmények és energiafelhasználás mérlegelése 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 Energia = hő; a hődisszipáció költséges Rendelkezésre álló elektromos ellátás korlátolt Jelentős költség a működés során Következmény A teljesítményt korlátozza a rendelkezésre álló energia Kevesebb csomópont/eszköz tud egyszerre működni Lehetőség: szűk keresztmetszetek Szűk keresztmetszetek korlátozzák a teljes rendszer teljesítményét 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: Jelentős fogyasztó(~100W), Ritkán szűk keresztmetszet Skálázható a teljesítménye (frekvencia és feszültség)

A CPU skálázás megoldás? Frekvencia és feszültség skálázása A villamos teljesítmény csökkenés kisebb mértékű, mint a számítási teljesítmény csökkenése Alkalmazás áteresztőképessége Az áteresztőképesség csökkenés Feltételezések: A CPU jelentős energiafogyasztó A CPU szabályozható Az áteresztőképesség növekedése nem végig lineáris CPU power P = ½ CVf2 (1) power performance (freq) application throughput (2) performance (freq)

AMD Athlon-64 x86 ISA 64-bit technológia Hypertransport technológia – gyors memória busz Teljesítmény SPEC2K eredmények 2GHz AMD-64 hasonló a 2.8GHz P4-hez a P4 átlagosan 10-30%-kal jobb (INT & FP) Alacsonyabb órajel Rövidebb pipeline (12 vs. 20) Frekvencia és feszültség skálázás 2000 – 800 MHz 1.5 – 1.1 Volt From: Vincent W. Freeh (NCSU)

LMBench eredmények Frequency (Mhz) 2000 1.5 1 1800 1.4 2 1600 1.3 3 Benchmarking csomag Alacsony szintű Micro adatok Minden fokozat tesztelése Fokozat (Gear) Frequency (Mhz) Voltage 2000 1.5 1 1800 1.4 2 1600 1.3 3 1400 1.2 4 1200 1.1 6 800 0.9 From: Vincent W. Freeh (NCSU)

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: Egy rack energiafelhasználása Terem/villamos közmű Hődisszipáció korlátozásaiból. Statikus megoldás, a szerverek száma N = P/Pmax Ahol Pmax maximum energiafelhasználása egységenként Problémák Csúcs villamos teljesítmény > átlagos villamos teljesítmény (Pmax > Paverage) N * (Pmax - Paverage) kihasználatlan általában Alulteljesít – a számítási teljesítmény N-nel arányos 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 M > N Pl. M = P/Paverage MPmax > P Plimit = P/M Cél Használjuk több energiát, de maradjunk egy biztonsági határ alatt Csökkentsük az egyes csomópontok energiafelhasználását (és CPU csúcsteljesítményét) Növeljük a teljes rendszer számítási teljesítményét Pmax Pmax power power Paverage Paverage Plimit P(t) P(t) time time

kihasználatlan energia Túltervezés Előnyök Kevesebb kihasználatlan energia Hatékonyabb energiafelhasználás Nagyobb számítási teljesítmény ugyanolyan energiakorlátok között Legyen P (performance) a számítási teljesítmény Nagyobb számítási teljesítmény másképpen: MP * > NP P */ P > N/M vagy P */ P > Plimit/Pmax kihasználatlan energia Pmax Pmax power power Paverage Paverage Plimit P(t) P(t) time time

Mikor oldottuk meg a feladatot? Ha P */ P > N/M vagy P */ P > Plimit/Pmax 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 */ P < Paverage/Pmax power (1) P */ P > Paverage/Pmax performance (freq) application throughput (2) 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 Adott az energiafelhasználás kívánt értéke Monitorozzuk az aktuális felhasználást A CPU beállításait szabályozzuk Több cél Átlagos energiafelhasználás Maximális energiafelhasználás 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 A robosztus szabályozás változások ismert korlátait figyelembe veszi a szabályozás tervezése során Í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

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: Fizika Informatika Mérnöki tudományok Közgazdaságtan Biológia Kémia Gyógyászat

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

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 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 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 Az aktuális identifikációt a valós rendszernek tekinti, nem fogad el bizonytalanságot

MODEL IDENTIFICATION ADAPTIVE CONTROLLERS—MIAC

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 A referenciamodell statikus — adott vagy előre kiszámított, futásidőben nem változik MIAC megközelítés A referenciamodell változik futásidőben, identifikációs algoritmusokat futtat

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 A teljesítménytervezés a sorbanállás elmélet sok alkalmazásra létrehozott modelleket, de nem biztos, hogy QoS jellemzőknek is megfelelő indikátorok Bizonyos jellemzők (pl. bizalom) számszerűsítése nehéz Milyen rendszerszintű, end-to-end és lokális QoS 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, QoS indikátorok kombinációi alapján QoS indikátorok visszacsatolása alapú szabályozása kihívás sok alkalmazási területen A modellek és a QoS metrikák governance-hez, compliance-hez vagy egyed SLA-khoz 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

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

Ö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 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

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=COMSE6998_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 FoSM (2008) IBM: An Architectural Blueprint for Autonomic Computing, 4th Ed. (2006) Huebscher, M.C., McCann, 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: 3rd 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)