Uvod v simulacijo
Iz E-študij, proste zakladnice študentskega znanja
Simulacija
Simulacija je ena izmed tehnik določanja zmogljivosti računalniških sistemov
Simulacijski model je opredeljen s stanjem sistema: število zahtev v čakalnih vrstah, zasedenost resursov, intenzivnost strežbe...
Dogodek je sprememba stanja sistema. Ko simulacija teče se stanje sistema spreminja v odvisnosti od časa, vhodnih parametrov in medsebojnih odvisnosti.
Vrste simulacije:
- glede na stanje sistema:
- dikretne (število programov v sistemu...)
- zvezne (temperatura...)
- glede na čas:
- diskretne (dnevni tečaji delnic)
- zvezne (število zahtev v čakalni vrsti)
Pri računalniških simulacijah se navadno uporablja simulacija na osnovi diskretnih dogodkov in zveznega časa.
Simulacija na osnovi diskretnih dogodkov in zveznega časa
Dogodek je osnova za spremembo časa. Ker se med dvema dogodkoma stanje sistema ne spremeni, ni smiselno da čas teče v majhnih korakih ampak lahko skače od dogodka do dogodka. Simulator hrani časovno urejen seznam dogodkov in se premika od enega do drugega. Če je rezultat spremembe nov dogodek se le-ta vstavi v seznam glede na njegov čas.
Dogodki:
- primarni - rezultat generiratorja zahtev
- sekundarni - rezultat izvedbe dogodka
Izvajanje primarnega dogodka:
- če so izpolnjeni pogoji za generiranje nove zahteve, se izračuna čas novega primarnega dogodka, nato pa se dogodek vstavi v seznam dogodkov.
- če je strežnik prazen, se izračuna čas trajanja sekundarnega dogodka, nato se ta dogodek vrine v seznam dogodkov.
- če je strežnik zaseden, se poveča število dogodkov v čakalni vrsti (za ena).
Izvajanje sekundarnega dogodka:
- če je izhod opazovane strežne enote povezan na vhod druge strežne enote, lahko zahteva sproži novo sekundarno zahtevo ali pa poveča število zahtev v ponorni čakalni vrsti.
- če v opazovani strežni enoti čakalna vrsta ni prazna, se iz vrste vzame ustrezen primarni dogodek, ki se pretvori v sekundarni dogodek (prilagodi se tudi čas), ki se nato vstavi v čakalno vrsto.
- če je čakalna vrsta prazna, akcija ni potrebna
Naključni generatorji
Naključni generatorji se pri simulaciji uporabljajo za izračun naključnih spremenljivk. Običajni je izhod (rezultat) naključnega generatorja je število med 0 in 1.
Naključni generator je realiziran kot rekurzivna funkcija:
(generator v bistvu ni popolnoma naključen , ampak psevdo naključen z določeno periodo). Začetne parametre generatorja imenujemo seme (seed).
Primeri generatorjev:
- xn = (5xn − 1 + 1)mod16
- xn = 75 * xn − 1mod(231 − 1)
Naključni proces je običajno podan s povprečnim časom in verjetnostno porazdelitvijo. Za simulacijo so potrebni generatorji, ki generirajo števila po različnih verjetnostnih porazdelitvah.