Hálózat szmulácós technkák (BMEVITTD094/2005) október 3. Vdács Attla Dang Dnh Trang Távközlés és Médanformatka Tanszék Budapest Mszak és Gazdaságtudomány Egyetem Eseményvezérelt szmulácó DES Dscrete-Event Smulaton A rendszer állapota: (állapot)változók egy halmaza, amelyek egy adott pllanatban meghatározzák a rendszert (megfelel pontossággal). Dszkrét rendszer: A rendszerváltozók értéke dszkrét értékek. A rendszer modelljében az állapotváltozók értéke pllanatszeren változk különböz dpontokban. Ezek az dpontok események bekövetkezésének dpontja. esemény = Pllanatny történés amely megváltoztathatja a rendszer állapotát. Ötlet: A szmulácós d az egyk eseménytl a következ eseményg halad elre. Egy esemény két paraméter határoz meg: dpontja (azaz mkor kell az eseményt kezeln) típusa (azaz hogyan kell az eseményt kezeln) 2 1
DES végrehajtása 3 1. Incalzálás A szmulácó órájának nullázása. A rendszer kezdet állapotának beállítása. A következ események generálása mnden eseménytípusból (ameddg csak lehet), és az eseménylsta felállítása. 2. Id léptetése A szmulácó órájának állítása a soron következ esemény dpontjára. 3. Eseménykezelés Az esemény kezelése (az esemény által kváltott üj események generálása és az eseménylstába llesztése), és a rendszerállapot frssítése. A kezelt esemény eltávolítása a lstából. 4. Leállás feltétel Ha a leállás feltétel gazzá válk, a szmulácó leállítása, ellenkez esetben GOTO 2. DES komponense és felépítése Rendszerállapot: A rendszer (globáls) állapotváltozó Szmulácós óra: Az aktuáls szmulácós dt tartalmazó globáls változó Eseménylsta: Az elkövetkez események dpontjanak lstája Statsztka számlálók: A rendszer teljesítményérl statsztka nformácókat tároló változók. Incalzáló rutn: A szmulácós modell t = 0 dpontbel ncalzálására szolgáló alprogram. Beállítja az állapotváltozók kezdet értéket és a véletlenszám generátorok seed értéket. Tartalmazhat bemenet paraméterek bekérését vezérl rutnokat s. 4 2
DES komponense és felépítése (2) Idzít rutn (ütemez / scheduler / event lst manager): Karbantartja az eseménylstát Meghatározza a következ esemény dpontját az eseménylstából, és az esemény dpontjára állítja a szmulácó óráját. A szmulátor program magja, a leggyakrabban hívott része a programnak. Esemény rutn: Frssít a rendszer állapotát egy esemény bekövetkezésekor. Új eseményeket generál(hat). Mnden eseménytípushoz tartozk egy külön esemény rutn. Nyomkövet ( trace ) rutn: Közbens értékeket ír a kmenetre a szmulácó futása alatt. A hbajavítást támogatja. K/be kapcsolható. 5 DES komponense és felépítése (3) Könyvtár rutnok: Alprogramok csoportja véletlen események elállítására a modellben meghatározott eloszlások alapján. Rport generátor: A kívánt teljesítmény-paraméterek becslését végz a statsztka számlálók értékebl. A szmulácó végén jelentést készít a kívánt formátumban. F program: A szmulátor komponenset összefz. Meghívja az dzít rutnt a következ esemény meghatározására, majd átadja a vezérlést a megfelel esemény rutnnak a rendszer állapotának frssítéséhez. A f program ellenrz a leállás feltételt, majd átadja a vezérlést a rport generátornak a szmulácó végén. 6 3
start ncalzáló rutn fprogram dzít rutn 1. szmulácós óra = 0 2. Rendszerállapot és számlálók ncalzálása 3. Eseménylsta ncalzálás 0. nt rutn meghívása 0 1 1. dzít rutn meghívása 2. esemény rutn meghívása esemény rutn () 2 smételten 1. Rendszerállapot frssítése 2. Számlálók állítása 3. Események generálása és eseménylstához fzése 1. Köv. esemény típusának meghatározása () 2. Szmulácós óra állítása rport generátor vége a szmulácónak? gen 1. Paraméterek becslése 2. Rport generálása nem stop Példa: Egy kszolgálós sor (folyt.) esemény rutn, érkezés érkezés Következ érkezés beütemezése Sorhossz++ Foglalt a kszolgáló? n Késleltetés = 0 az adott csomagra; statsztkák gyjtése Hbaüzenet és a szmulácó leállítása A sor betelt? Késleltetett csomagok száma++ n Csomag érkezés djének tárolása A kszolgáló állapota foglalt A csomag kszolgálás dejének ütemezése return 4
Egyéb szmulácós technkák Folytonos szmulácó Az állapotváltozók folytonosan változnak az dben. Tpkusan dfferencálegyenletek adják meg az összefüggést az állapotváltozók változásának sebessége között. Kombnált dszkrét-folytonos szmulácó Bzonyos rendszerek se nem dszkrétek, se nem folytonosak. 3 féle kapcsolat lehet dszkrét és folytonos állapotváltozók között: Egy dszkrét esemény hatására egy folytonos állapotváltozó értéke egy dszkrét mennységgel változk. Egy dszkrét esemény megváltoztatja egy folytonos állapotváltozó értékét meghatározó összefüggést. Egy folytonos állapotváltozó értékének változása elér egy küszöbértéket, és dszkrét eseményt generál. 9 Egyéb szmulácós technkák (2) Monte Carlo (MC) szmulácó (Általában) statkus szmulácó: Bzonyos determnsztkus vagy sztochasztkus problémák megoldása véletlenszámok használatával, ahol az d elrehaladása nem játszk lényeges szerepet. Megjegyzés: Egyes szerzk MC szmulácó néven lletnek mnden véletlenszámot használó szmulácót. Széles körben használt olyan statsztka problémák megoldására, amelyek analtkusan nem (vagy csak nagyon nehezen) megoldhatók. 10 5