PRS - Skripta v2.0

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 121

UNIVERZITET U BANJALUCI

ELEKTROTEHNIKI FAKULTET
STUDIJSKI PROGRAM RAUNARSTVO I INFORMATIKA

PERFORMANSE RAUNARSKIH SISTEMA

Skripta sa predavanja i vjebi

Banjaluka, mart 2011.


Performanse raunarskih sistema - skripta

SADRAJ

1. UVOD U PERFORMANSE RAUNARSKIH SISTEMA ....................................................... 4


2. MJERENJE PERFORMANSI ............................................................................................ 6
2.1. Ciljevi mjerenja performansi ................................................................................. 6
2.2. Tehnike mjerenja performansi ............................................................................. 7
2.3. Faze studije evaluacije performansi ..................................................................... 9
2.4. Metrika performansi ............................................................................................. 9
2.4.1. Karakteristike dobrih metrika ....................................................................... 10
2.5. Skale mjerenja..................................................................................................... 11
2.6. Mjerne tehnike i alati .......................................................................................... 13
2.6.1. Strategije mjerenja........................................................................................ 13
2.7. Workload............................................................................................................. 15
2.7.1. Strategije benmarkinga ............................................................................... 17
3. SIMULACIJA ................................................................................................................ 20
3.1. Vrste model ....................................................................................................... 20
3.1.1. Neformlni i formlni modeli........................................................................ 21
3.2. Runrsk simulcij ......................................................................................... 23
3.2.1. Modelirnje i simulcij ................................................................................ 24
3.3. Krkteristike simulcionog modelirnj ........................................................... 26
3.4. Potreb z simulcijom ....................................................................................... 27
3.5. Prednosti i nedostci simulcije ......................................................................... 28
3.6. Simulcioni proces .............................................................................................. 29
3.7. Podjele simulcionih model .............................................................................. 32
3.7.1. Deterministiki i stohstiki modeli .............................................................. 32
3.7.2. Diskretni i kontinulni modeli ....................................................................... 33
3.8. Vrste simulcionih model ................................................................................. 34
3.8.1. Emulacija ....................................................................................................... 34
3.8.2. Monte Krlo simulcij ................................................................................. 34
3.8.3. Kontinuln simulcij .................................................................................. 36
3.8.4. Simulcij diskretnih dogj ..................................................................... 37
3.8.5. Mjeovit simulcij ..................................................................................... 41
3.8.6. Izbor tip simulcionog model .................................................................... 42
3.9. Validacija i verifikacija ......................................................................................... 42
3.9.1. Vlidcij simulcionih model .................................................................... 44
3.9.2. Verifikcij simulcionih model .................................................................. 50
3.10. Generisanje sluajnih brojeva ............................................................................. 51
3.10.1. Mnuelne metode ........................................................................................ 52
3.10.2. Tbele slujnih brojev ............................................................................... 52
3.10.3. Metode z generisnje SB n nlognom runru ..................................... 52
3.10.4. Metode z generisanje SB n digitlnom runru ...................................... 52
3.10.5. Linerni kongruentni GSB ............................................................................. 54
4. ANALIZA REDOVA EKANJA ....................................................................................... 56
4.1. Modeli mrea ...................................................................................................... 56

2
Performanse raunarskih sistema - skripta

4.2. Osnovne pretpostavke i notacija ........................................................................ 57


4.3. Operacionalna analiza ......................................................................................... 59
4.3.1. Utilizacioni zakon .......................................................................................... 59
4.3.2. Little-ov zakon ............................................................................................... 61
4.4. Stohastika analiza .............................................................................................. 62
4.4.1. Kendall-ova notacija...................................................................................... 63
4.4.2. M/M/1 sistemi .............................................................................................. 64
5. INTERPRETACIJA REZULTATA MJERENJA ................................................................... 70
5.1. Srednje vrijednosti i varijabilnost ....................................................................... 70
5.1.1. Aritmetika sredina ....................................................................................... 71
5.1.2. Harmonijska sredina ..................................................................................... 72
5.1.3. Geometrijska sredina .................................................................................... 73
5.1.4. Kvantifikovanje varijabilnosti ........................................................................ 75
5.2. Greke u eksperimentalnim mjerenjima ............................................................ 76
5.2.1. Kvantifikovanje greaka ................................................................................... 79
5.3. Poreenje alternativa ......................................................................................... 85
5.3.1. Poreenje dvije alternative .......................................................................... 86
5.3.2. Poreenje vie od dvije alternative .............................................................. 91
5.4. Linearni regresioni model ................................................................................... 98
5.4.1. Korelacija..................................................................................................... 100
5.4.2. Verifikovanje linearnosti ............................................................................. 102
5.4.3. Nelinearni modeli........................................................................................ 102
5.5. Verifikacija sluajnih brojeva ............................................................................ 105
5.5.1. Goodness-of-fit testiranje ........................................................................... 105
5.5.2. Testovi nezavisnosti .................................................................................... 108
6. SAOPTAVANJE REZULTATA .................................................................................... 109
6.1. Tipovi varijabli ................................................................................................... 109
6.2. Preporuke za pravljenje dobrih grafikih dijagrama ......................................... 109
6.3. este greke na dijagramima ............................................................................ 111
6.4. Grafike varke ................................................................................................... 112
PRILOG A Kritine vrijednosti Studentove t raspodjele ................................................ 116
PRILOG B.1 Kritine vrijednosti F raspodjele (90%) ...................................................... 117
PRILOG B.2 Kritine vrijednosti F raspodjele (95%) ...................................................... 118
PRILOG B.3 Kritine vrijednosti F raspodjele (99%) ...................................................... 119
PRILOG C Kritine vrijednosti hi-kvadrat raspodjele ..................................................... 120
LITERATURA ..................................................................................................................... 121

3
Performanse raunarskih sistema - skripta

1. UVOD U PERFORMANSE RAUNARSKIH SISTEMA


0B

Veina naunih i ininjerskih polja imaju definisane alate i tehnike za mjerenje i


poreenje oblasti od interesa i za njihovo precizno saoptavanje. Meutim, u polju
raunarske nauke i ininjeringa, iznenaujue, ne postoji dogovor kako da se mjeri jedna
fundamentalna stvar kao to su preformanse raunarskih sistema. Na primjer, brzina
automobila se moe lako mjeriti pomou standardnih jedinica, kao to je m/s. Koritenje
standardizovanih jedinica dalje omoguava direktno poreenje brzine automobila sa, na
primjer, brzinom aviona. Poreenje performansi razliitih raunarskih sistema nije
uopte tako jednostavno i direktno.
Problemi su se pojavili sa nepostojanjem dogovora ak i oko, na prvi pogled,
najjednostavnijih ideja, kao to je odreivanje najpogodnije metrike za mjerenje
performansi. Sljedei problem se pojavljuje kada mnogi istraivai skupljaju i objavljuju
rezultate koristei upitne i, u veini sluajeva, nepravilne metodologije.
Glavni cilj kursa je razumijevanje fundamentalnih koncepata iza alata i tehnika koji se
koriste u analizi performansi raunarskih sistema. Iako e se u nekim trenucima tokom
kursa spomenuti neki specifini programi i alati, cilj kursa nije da se naue njihove
specifine implementacije, ve osnovne ideje koje stoje u pozadini. Cilj namjerno nije da
se studenti naine ekspertima u koritenju nekog softverskog benmark alata, ve da
razumiju osnovne pretpostavke koje stoje iza tog alata, kao i iza statistikih tehnika koje
se koriste u svrhu interpretiranja izmjerenih podataka. Prava strunost u koritenju
individualnih alata tek tada moe da doe do izraaja. Na taj nain se najlake moe doi
do zakljuaka o potencijalnim prednostima prilikom njihovog koritenja, ali i hazarda koji
se mogu pojaviti.
Performanse raunarskih sistema predstavljaju termin koji se koristi kao indikator
koliko dobro sistem radi, pod uslovom da radi korektno. Bitan aspekt svake ininjerske
aktivnosti je vrednovanje sistema u odnosu na aktivnosti koje mu pripadaju. U
zainteresovane strane spadaju projektanti, proizvoai, kupci, menaderi i, konano,
krajnji korisnici raunarskih sistema.
Mjerenje performansi je multidisciplinarno i podrazumijeva koritenje tehnika iz
arhitekture raunara, operativnih sistema, programiranja, diskretne matematike,
statistike i teorije vjerovatnoe.
Specifikacija performansi mora biti prihvatljiva za korisnike i ona daje odgovor na
pitanje kako sistem izvodi svoje funkcije. Obino se daje u kvantitativnim terminima.
Raunarski sistem je agregacija hardvera i softvera raunara. Ove komponente se
nazivaju resursima. Svaki resurs ima svoje vlastite atribute koji su opisani sa sistemskim
parametrima, ak i kada ne moe da bude izraen brojano (npr. algoritam po kojem
komponenta radi).

4
Performanse raunarskih sistema - skripta

Na nekim slinim kursevima iz ove oblasti se pristupa matematiki rigoroznije 1 . Za


F F

razliku od tog pristupa, ovdje je ideja da se prisustvo matematike svede na minimum.


Meutim, nemogue je zaobii neke matematike tehnike (uglavnom iz statistike), koje
se izuavaju na svakom slinom kursu u svijetu.

1
Na primjer, pogledati vjebe iz istoimenog predmeta na ETF-u u Beogradu

5
Performanse raunarskih sistema - skripta

2. MJERENJE PERFORMANSI
1B

Za razliku od izraunavanja trokova za nabavljanje raunarskih sistema, mjerenje


njegovih performansi je krajnje sloeno. Iznenaujue, jednu od glavnih tekoa
predstavlja injenica da se ljudi ne mogu sloiti na koji nain treba da se performanse
mjere i interpretiraju. Tekoe dalje idu do toga da se ljudi ne mogu sloiti ni ta rije
performanse zapravo oznaava.
Def. Analiza performansi u polju raunarske nauke i ininjeringa predstavlja
kombinaciju mjerenja, interpretacije i saoptavanja brzine ili veliine raunarskog
sistema.
Termini brzina i veliina su svjesno stavljeni pod navodnike da bi oznaili da njihova
definicija iskljuivo zavisi od specifinosti situacija u kojima se mjere. Naalost,
performanse nekog dijela raunarskog sistema u veini sluaja zavise od interakcije sa
ostalim komponentama, tako da eksperti na ovom polju moraju da steknu vjetinu
pomou koje e na to efikasniji nain filtrirati te dodatne uticaje na mjerenje
performansi sistema.
Jedan od najzanimljivijih zadataka analitiara performansi raunarskih sistema moe
da bude proces donoenja odluke kako da se mjere odreene performanse. Potrebna je
velika doza kreativnosti da bi se razvile pogodne tehnike za mjerenje koje e minimalno
da poremete sistem koji se mjeri, a da istovremeno pruaju tane i reproducibilne
rezultate. Nakon to su sakupljeni neophodni podaci, analitiar mora da interpretira
rezultate koristei odgovarajue statistike tehnike. Konano, ak i izvanredni rezultati
mjerenja interpretirani na odgovarajui statistiki nain nemaju nikakvo znaenje ako se
ne iznesu na jasan i konzistentan nain.
Glave 2, 3 i 4 obrauju tri glavne tehnike koje se koriste za mjerenje preformansi
raunarskih sistema direktno mjerenje, simulaciju i analitiko modelovanje. Glava 5 je
posveena interpretaciji dobijenih rezultata, a glava 6 njihovom saoptavanju.

2.1. Ciljevi mjerenja performansi


12B

Iako ciljevi svake analize performansi zavise od specifine situacije, te vjetine,


interesa i mogunosti analitiara performansi, ipak se mogu filtrirati zajedniki ciljevi
svake analize performansi, kako za dizajnere raunarskih sistema, tako i za krajnje
korisnike. U takve ciljeve spadaju:
poreenje alternativa poto se raunarski sistemi sastoje od velikog broja
komponenata koje su meusobno u interakciji, zadatak analitiara je da prui
kvantitativnu informaciju o tome koja konfiguracija je najbolja pod specifinim
uslovima,

6
Performanse raunarskih sistema - skripta

utvrivanje uticaja nove komponente na postojei sistem ovaj pristup se


uglavnom radi pomou before-and-after statistike analize,
tuning sistema zadatak analitiara je da odredi set parametara pod kojima
sistem ima najbolje ukupne performanse,
identifikovanje relativnih performansi performanse raunarskih sistema
uglavnom dobijaju smisao tek kada se uporede sa nekim drugim sistemom i
njegovim specifinim performansama,
debugging performansi zadatak ovog cilja je da se pronae razlog zbog ega
performanse nisu na eljenom nivou,
postavljanje oekivanja zadatak analitiara performansi je da odredi koja su
realna oekivanja od nove linije nekog sistema ili njegove komponente.

Pri analizi performansi raunarskih sistema treba voditi rauna o posljedici donoenja
pogrene odluke! Rizik donoenja pogrene odluke mora da bude proporcionalan dubini
izvrene analize.

2.2. Tehnike mjerenja performansi


13B

Postoje tri fundamentalne tehnike mjerenja performansi. To su:


1. direktno mjerenje postojeih sistema,
2. simulacija,
3. analitiko modelovanje.

Direktna mjerenja pruaju najbolje rezultate poto nije potrebno vriti


pojednostavljajue pretpostavke o sistemu. Ova karakteristika ini tehniku direktnog
mjerenja najpouzdanijom od sve tri tehnike. Meutim, direktna mjerenja nisu fleksibilna
i pruaju informacije samo o specifinom sistemu koji se mjeri. Nedostatak fleksibilnosti
se odnosi na injenicu da je skoro nemogue mijenjati parametre sistema u realnom
vremenu, a esto je cilj da se izmjeri ponaanje sistema prilikom neke promjene.
Navedeni nedostaci su doveli do drugih tehnika mjerenja.
Simulacija raunarskog sistema se odnosi na program napisan sa svrhom da
modeluje bitne detalje sistema koji se analizira. Poto je simulator nita drugo nego
program, lako ga je modifikovati da prati promjene bilo koje simulirane komponente.
Trokovi simulacije ukljuuju vrijeme i napor potrebne da se napie i debug-uje
simulacioni program, kao i vrijeme potrebno za izvravanje potrebnih simulacija.
Zavisno od kompleksnosti sistema koji se modeluje, kao i od nivoa detalja koji se
modeluju, ovi trokovi mogu biti relativno niski u odnosu na trokove nabavke prave
maine na kojoj bi se izvodili isti eksperimenti. Glavni nedostatak simulacije je to je

7
Performanse raunarskih sistema - skripta

nemogue modelovati svaki detalj sistema, pa je potrebno vriti odreene apstrakcije.


Te apstrakcije limitiraju tanost dobijenih rezultata.
Analitiki model predstavlja matematiki opis sistema. U odnosu na prethodne dvije
tehnike, rezultati analitikog modelovanja su najmanje povjerljivi i najmanje tani.
Meutim, ova tehnika moe da prui brzi grubi pogled na ukupno ponaanje sistema ili
neke od njegovih komponenata. Ako nita drugo, analitiki modeli se mogu koristiti kao
sredstvo validacije jedne od prethodno dvije opisane tehnike. Validacija znai da se moe
provjeriti da li se rezultati dobijeni pomou drugih tehnika mogu smatrati razumnim.
Sumiranje osobina sve tri tehnike je prikazano u tabeli 2.1.

Tabela 2.1 Tehnike mjerenja performansi

Tehnika

Karakteristika Analitiki model Simulacija Mjerenje

Fleksibilnost Velika Velika Mala

Cijena Mala Srednja Velika

Povjerljivost Mala Srednja Velika

Tanost Mala Srednja Velika

Fleksibilnost tehnike se odnosi na to koliko je lako mijenjati konfiguraciju sistema


tokom njegovog ispitivanja. Cijena se odnosi na vrijeme, napor i novac koji su potrebni
da se izvedu odgovarajui eksperimenti koritenjem svake od tehnika. Povjerljivost
tehnike je visoka ako upuena osoba ima visok nivo pouzdanosti da su dobijeni rezultati
korektni. Konano, tanost indicira koliko su dobijeni rezultati bliski rezultatima
dobijenim na realnom sistemu.
Izbor odgovarajue tehnike zavisi od problema koji se rjeava. Ovaj izbor se nekada
vie svodi na umjetnost nego na nauku.

8
Performanse raunarskih sistema - skripta

2.3. Faze studije evaluacije performansi


14B

Za razliku od monitoringa raunarskog sistema, ija je glavna karakteristika


kontinuirano praenje realnog sistema, kod studije raunarski sistem uopte ne mora da
postoji. Aktivnosti u ovoj studiji su grupisane u pet faza prikazanih na slici 2.1.

I II III IV V

Identifikacija Formulacija Priprema Implementacija Interpretacija


problema ciljeva plana plana rezultata

Slika 2.1 Faze studije evaluacije performansi

Druga i trea faza ukljuuju paljivu procjenu trokova i doprinos studije. U drugoj
fazi se dodatno definiu metrike (indeksi) performansi.
Trea, etvrta i peta faza se mogu posmatrati kao komponente iterativne procedure
(hipoteza se formulie, testira i ako je test nezadovoljavajui vri se vraanje u neku od
prethodnih faza radi modifikacije).

2.4. Metrika performansi


15B

Osnovne karakteristike sistema koje tipino treba da se izmjere su:


broj koliko puta se desio neki dogaaj,
trajanje nekog vremenskog intervala,
veliina nekog parametra.

Metrika performansi je vrijednost koja se koristi da se opiu performanse sistema, a


dobija se mjerenjem jedne od navedenih fundamentalnih karakteristika.
Metrike performansi su deskriptori koji se upotrebljavaju da reprezentuju sistemske
performanse ili neke od njihovih aspekata.
Razliiti ljudi upotrebljavaju razliite metrike performansi. To predstavlja problem
poto se zbog upotrebe individualnih i subjektivnih indeksa deava da performanse budu

9
Performanse raunarskih sistema - skripta

neuporedive i nekonzistentne. To predstavlja glavni razlog zbog kojeg metrike


performansi treba da budu objektivne i kvantitabilne da bi mogle da budu objektivna
mjera performansi mjerenih aspekata sistema.
Meutim, veina metrika su teke za kvantifikovanje. Primjeri takvih metrika su
lakoa upotrebe sistema, strukturnost programskog jezika i jaina instrukcionog seta.
Neke od klasa kvantifikovanja performansi prikazane su u tabeli 2.2.

Tabela 2.2 Klase metrika performansi


Metrika klasa Primjer indeksa Opta definicija
Produktivnost Propusnost, produkcioni Volumen informacija
(volumen / vrijeme) ciklus, kapacitet, procesuiran u jedinici
maksimalan broj vremena
instrukcija...
Odziv Vrijeme odziva, propusno Vrijeme izmeu inputa i
(vrijeme) vrijeme, vrijeme reakcije outputa

Iskoristivost Hardverski moduli (CPU, Odnos vremena koje


(bez dimenzije) I/O ureaji), operativni sistem provodi u nekoj
sistem, sistemski softver, specifinoj namjeni i
DBMS ukupnog vremena

Vrijeme odziva se definie kao interval izmeu korisnikog zahtjeva i sistemskog


odgovora. Ova definicija je dosta pojednostavljena poto zahtjevi, kao i odgovori,
predstavljaju procese i ne deavaju se trenutno.
Propusnost se definie kao broj zahtjeva u jedinici vremena. Ovo zapravo predstavlja
brzinu kojom sistem radi.
Nijedno od navedenih mjerenja nije nezavisno. Zavisnost postoji i od workload-a i od
sistema koji se mjeri.

2.4.1. Karakteristike dobrih metrika


42B

Iako karakteristike koje su navedene u nastavku teksta ne predstavljaju apsolutne


zahtjeve koje metrika performansi mora da ispunjava, vremenom se pokazalo da metrike
koje ne zadovoljavaju navedene uslove esto vode do izvoenja pogrenih zakljuaka.
Karakteristike dobrih metrika su:
1. linearnost
Poto ljudi intuitivno razmiljaju u linearnim okvirima, vrijednost metrike treba
da bude linearno proporcionalna stvarnim performansama sistema koji se
mjeri. Jednostavnije reeno, ako se performanse sistema promijene nekoliko
puta i metrika mora da se promijeni za isti taj odnos. Karakteristika

10
Performanse raunarskih sistema - skripta

proporcionalnosti ini metriku intuitivno privlanom za mnoge ljude. Na


primjer, logaritamska skala kojom se mjeri jaina zvuka ne zadovoljava ovu
osobinu. To ne znai da neto nije u redu sa metrikom, ali je poeljno da
metrike koje se koriste u raunarskim sistemima ispunjavaju osobinu
linearnosti.
2. pouzdanost
Metrika se smatra pouzdanom ako sistem koji ima bolju izmjerenu metriku
uvijek radi bolje od sistema sa slabijom metrikom. Iako se ova osobina ini
toliko oiglednom da nije potrebno da se eksplicitno naglaava, nekoliko esto
koritenih metrika ne zadovoljava ovaj uslov. Jedna od takvih metrika je i MIPS
(eng. Million Instructions Per Second).
3. ponovljivost
Metrika performansi je ponavljajua ako se pri svakom izvoenju eksperimenta
dobija ista vrijednost. Ova osobina implicira i da je dobra metrika
deterministika.
4. lakoa upotrebe
Ako metriku nije lako izmjeriti, mala je vjerovatnoa da e je bilo ko i koristiti.
Dalje, to je metrika tea za dobijanje, vea je vjerovatnoa da e se pogreno i
utvrditi. Jedina gora stvar od loe metrike je metrika ija vrijednost je izmjerena
pogreno!
5. konzistentnost
Metrika performansi je konzistentna ako je njena jedinica i precizna definicija
ista u razliitim sistemima, ali i na razliitim konfiguracijama na istom sistemu.
Ako jedinice metrike nisu konzistentne, metriku nije mogue koristiti za
poreenje performansi razliitih sistema. Iako se i ova karakteristika ini
oiglednom, nju ne podravaju neke esto koritene metrike kao to su MIPS i
MFLOPS.
6. nezavisnost od vanjskih uticaja
Mnogi nabavljai raunarskih sistema donose odluke o tome koji sistem da
kupe na osnovu poreenja rezultata koji se dobijaju koritenjem esto
koritenih metrika. Na osnovu toga, postoji veliki pritisak na proizvoae da
dizajniraju svoje maine tako da se dobije optimizovana vrijednost upotrebom
neke odreene metrike. Da bi se sprijeile sline zloupotrebe, dobra metrika
mora da bude nezavisna od takvih vanjskih uticaja.

2.5. Skale mjerenja


16B

Skale mjerenja se dijele u etiri velike kategorije:

11
Performanse raunarskih sistema - skripta

1. Nominalna (eng. nominal)


Spada u najnii nivo mjerenja i esto se koristi sa kvalitativnim (kategorikim)
varijablama umjesto sa kvantitativnim. Kada se koristi ova skala, mjerenim
objektima se odreuje kojoj kategoriji pripadaju. Na osnovu klasifikacije
objekata u odgovarajuu kategoriju, ova skala je i dobila naziv poto se objektu
praktino daje ime svrstavanjem. Ne postoji kvantitativan odnos izmeu
razliitih kategorija. Fundamentalna osobina ove skale je ekvivalencija, poto su
svi objekti iz iste kategorije identini sa gledita ove skale. Najea operacija
koja se vri unutar ove skale mjerenja je brojanje objekata u nekoj od
kategorija.
Dozvoljene statistike metode su: mode srednja vrijednost i hi-kvadrat test.
2. Ordinalna (eng. ordinal)
Predstavlja vii nivo mjerenja u odnosu na nominalnu skalu, ali i nizak nivo
izraavanja razlika izmeu razliitih kategorija. Objekti se rangiraju na osnovu
toga da li posjeduju vie, manje ili jednaku koliinu svojstva koje se mjeri, tj.
omoguava utvrivanje da li je A > B, A < B ili A = B. Meutim, ova skala ne daje
odgovor na pitanje kolika je razlika izmeu objekata ako postoji. Takoe, ova
skala ne nudi referentnu vrijednost u odnosu na koju se porede ostali objekti
(na primjer, svi mogu biti visoki, ali i svi mogu biti niski).
Dozvoljena statistika metoda je median srednja vrijednost.
3. Intervalska (eng. interval)
Ova skala predstavlja vii nivo u odnosu na ordinalnu skalu poto posjeduje
osobinu da se koliinski moe izraziti razlika izmeu objekata. Naime, za razliku
od ordinalne skale, na ovoj skali mjerenja postoje jednaki razmaci izmeu
susjednih podioka na skali. Na ovaj nain se moe osim osnovnih poreenja
dodatno utvrditi i da li je A B = C D, A B > C D ili A B < C D.
Dozvoljene statistike metode su: klasina srednja vrijednost, standardna
devijacija, korelacija, regresija i ANOVA (analiza varijanse).
4. Odnosna (eng. ratio)
Ova skala predstavlja skalu mjerenja sa najviim nivoom suptilnosti. Posjeduje
sve osobine intervalske skale i, dodatno, postoji taka apsolutne nule.
Intervalska skala zbog neposjedovanja ove zadnje osobine ne dozvoljava
izraunavanje odnosa (na primjer, ne moe se rei da je 20 stepeni na
Celsiusovoj skali dva puta vie od 10 stepeni). Ovo je mogue na odnosnoj skali
(na primjer, na Kelvinovoj skali 20 stepeni jeste duplo vie od 10 stepeni).
Dozvoljene statistike metode su sve metode podrane intervalskom skalom
plus geometrijska sredina, harmonijska sredina, koeficijent varijacije i logaritmi.

12
Performanse raunarskih sistema - skripta

2.6. Mjerne tehnike i alati


17B

Postoji vie razliitih tipova metrika performansi koje su predmet mjerenja. Razliite
strategije za mjerenje vrijednosti tih metrika su tipino bazirane oko ideje dogaaja.
Dogaaj se definie kao predefinisana promjena stanja sistema. Primjeri dogaaja su
referenciranje memorije, pristup disku, mrena komunikacija, promjena u internom
stanju procesora i slino.
Klasifikacija tipa dogaaja:
1. event-count metrike
Metrike koje spadaju u ovu kategoriju jednostavno broje koliko se puta
odreen dogaaj desio.
2. secondary-event metrike
Ovi tipovi metrika biljee vrijednosti nekih sekundarnih parametara kada se
desi odreen dogaaj.
3. profili
Profil je agregaciona metrika koja se koristi za karakterizaciju sveukupnog
ponaanja progama ili itavog sistema. Tipino se koristi za identifikovanje gdje
program ili sistem provodi svoje vrijeme izvravanja.

2.6.1. Strategije mjerenja


43B

Navedena klasifikacija dogaaja moe da bude korisna pri utvrivanju specifine


strategije za mjerenje eljene metrike poto su razliiti tipovi alata za mjerenje pogodni
za razliite tipove dogaaja. Alati za mjerenje se mogu kategorizovati na bazi
fundamentalne strategije koja se koristi za utvrivanje vrijednosti metrike koja se mjeri.
Jedan od bitnih aspekata svake strategije mjerenja je koliko to mjerenje utie na sistem
koji se mjeri. U strategije mjerenja spadaju:
1. event-driven
Ova strategija biljei informacije neophodne za izraunavanje metrike
performansi kad god se desi odreen dogaaj. Najjednostavniji alat za event-
driven mjerenja je broja koji direktno broji koliko puta se desio specifini
dogaaj. Ova mjerenja su pogodna za dogaaje koji se rijetko pojavljuju jer bi u
suprotnom znatno uticala na sistem koji se mjeri.
2. tracing
Strategija biljeenja traga je slina event-driven strategiji, ali ovdje se umjesto
biljeenja da se dogaaj desio, snima dio stanja sistema u svrhu jedinstvenog
identifikovanja dogaaja. Ova strategija oigledno zahtijeva mnogo vee

13
Performanse raunarskih sistema - skripta

kapacitete za biljeenje podataka nego event-driven strategija. Dodatno,


vrijeme potrebno da se snimi stanje sistema moe znaajno izmijeniti
standardno izvravanje programa koji se mjeri.
3. sampling
Za razliku od event-driven strategije, ova strategija biljei stanje sistema nakon
fiksnih vremenskih intervala bez obzira da li se neki dogaaj desio ili ne. Cilj je
na osnovu skupljenih podataka odrediti metriku od interesa. Opisana logika
dovodi do injenice da je optereenje sistema mjerenjem nezavisno od toga
koliko puta se desi neki dogaaj. Poto je vjerovatno da nee svaki dogaaj biti
zabiljeen, ova strategija kao rezultat nudi statistiki pogled na ponaanje
sistema.
4. indirektna mjerenja
Ova strategija se mora primijeniti kada metrika koja se eli utvrditi nije direktno
dostupna. Tada se mora pronai neka druga, dostupna, metrika iz koje se moe
izvesti eljena metrika. Uspjeh indirektnih mjerenja se u veini sluajeva
zasniva na kreativnosti analitiara koji vri mjerenje.

Sumiranje osobina prve tri tehnike dato je u tabeli 2.3.

Tabela 2.3 Strategije mjerenja


Brojanje
Tracing Sampling
dogaaja
Detaljne
Rezolucija Taan broj Statistiki saetak
informacije

Optereenje Malo Visoko Konstantno

Zavisi od broja
Uznemiravanje Visoko Fiksno
dogaaja

Za skupljanje vie informacija o programu, potrebno je to vie taaka u kojima se


vri mjerenje. Meutim, problem nastaje poto mjerenje mijenja sistem koji se mjeri pa
samim tim i podaci koji se dobiju gube na pouzdanosti. Da bi situacija bila gora,
uznemiravanja sistema usljed mjerenja su nelinearna i neaditivna. Nelinearnost znai da
udvostruavanje mjernih taaka u programu ne znai neminovno dvostruki uticaj na
njegove performanse. Neaditivnost znai da dodavanje novih mjernih taaka moe da
poniti uznemiravanje dosadanjih, ali i da ga povea. injenica je da mjerenje mijenja
sistem i da to vie nije sistem koji se eli mjeriti. Uvijek se mora voditi rauna o tome da
ta uznemiravanja sistema nisu prevelika.

14
Performanse raunarskih sistema - skripta

2.7. Workload
18B

Workload predstavljaju program, podaci i komande na osnovu kojih sistem


produkuje output sa odreenim nivoom performansi. Atributi workload-a se nazivaju
workload parametri. Bilo koja modifikacija workload-a u principu produkuje razliite
performanse. Odnos workload-a, korisnika, raunarskog sistema i performansi prikazan
je na slici 2.2.

Workload Performanse
Korisnici Raunarski
sistem

Slika 2.2 Odnos workload-a, korisnika, ra. sistema i performansi

Workload se definie kao set ulaza (programi, podaci, komande) koje sistem prima iz
okruenja. Mjerenje performansi ima znaaj samo ako je workload pravilno specifikovan.
U glavne karakteristike workload-a spadaju: reprezentativnost, fleksibilnost,
jednostavnost konstrukcije, kompaktnost, trokovi upotrebe, sistemska nezavisnost,
mogunost reprodukcije i kompatibilnost sa sistemom ili modelom.
Workload se dijeli na pravi i sintetiki. Pravi workload je onaj koji se posmatra na
sistemu koji se koristi za normalne operacije. Nije ponovljiv i samim tim nije pogodan da
se koristi kao testni workload. Za razliku od njega, sintetiki workload ima sline
karakteristike kao pravi, ali se dodatno moe ponavljati na kontrolisan nain. On se
veinom koristi za testiranja.
Glavni razlog za koritenje sintetikog workload-a je injenica da on predstavlja
reprezentaciju modela pravog workload-a. Dodatni razlozi za njegovu upotrebu su:
nisu potrebni podaci iz realnih sistema, koji mogu biti ogromnih koliina i
sadravati osjetljive podatke,
moe lako da se modifikuje bez uticaja na operisanje sistema koji se testira,
portabilan je, tj. lako se prenosi na druge sisteme poto je male veliine,
ima ugraene mogunosti za mjerenja.

Sljedei tipovi workload-a se koriste za poreenje raunarskih sistema:


1. instrukcije sabiranja
U poetku je CPU na raunarima bio najskuplja komponenta, a najea
operacija koju su obavljali bila je sabiranje. Mjerenje performansi raunara
svelo se na mjerenje performansi CPU-a. Za procesore koji bre sabiraju

15
Performanse raunarskih sistema - skripta

smatralo se da imaju bolje performanse. Ideja je bila da se kao workload


upotrebi to je vie mogue operacija sabiranja. Naravno, daljim razvijanjem
raunarskih sistema i pojavom novih instrukcija, ovaj sistem se poeo smatrati
prevazienim.
2. instrukcioni miksevi
Instrukcioni miks predstavlja specifikaciju razliitih instrukcija koje procesor
izvrava uparenih sa frekvencijom njihovog koritenja. Sa poznavanjem
vremena izvravanja instrukcija, mogue je izraunati prosjeno vrijeme
izvravanja odgovarajueg miksa i onda iskoristiti ta vremena u svrhu
poreenja razliitih procesora. Jedinice za poreenje su MIPS (eng. Millions of
Instructions Per Second) i MFLOPS (eng. Millions of Floating-point Ops Per
Second). Najpoznatiji instrukcioni miks, prikazan na slici 2.3, napravio je Gibson
1959. godine.

Slika 2.3 Gibsonov instrukcioni miks

Dananji raunari imaju dosta kompleksnije klase instrukcija koje nisu


predstavljene u miksevima. Takoe, vrijeme izvoenja instrukcija uveliko zavisi
od moda adresiranja, procenta pogaanja kea, efikasnosti pipeline-a i
interferencije sa drugim ureajima. Uprkos navedenim nedostacima,
instrukcioni miksevi ipak pruaju jedan broj koji se moe koristiti u poreenju
sa drugim raunarima sline arhitekture. Bitno je naglasiti da ovaj nain
benmarkinga karakterizuje samo procesor, a ne cijeli raunarski sistem.

16
Performanse raunarskih sistema - skripta

3. kerneli
Sa pojavom pipeline-a, keiranja instrukcija i raznih mehanizama za prevoenje
adresa, vremena izvravanja instrukcija su postala krajnje varijabilna. Jedna
instrukcija vie nije mogla da se posmatra u izolaciji. Umjesto toga, postalo je
pogodnije da se posmatra skup instrukcija koje predstavljaju neku uslugu koju
nudi procesor. Pokuao se filtrirati skup takvih usluga sa idejom da se najea
uzme kao workload. Najea usluga je dobila naziv kernel. Oigledno je da
kerneli predstavljaju generalizaciju instrukcionog miksa. Neki od najpoznatijih
kernela su traenje inverzne matrice, sortiranje, pretraivanje stabla i sl. Glavni
nedostatak kernela je da, kao i instrukcioni miksevi, ne predstavljaju cijeli
raunarski sistem, ve samo procesor.
4. sintetiki programi
Ulazno/izlazne operacije i usluge operativnih sistema su postali vaan dio
pravih workload-a, a kerneli ih nisu podravali. Poetni pokuaji mjerenja I/O
performansi su doveli do kreiranja jednostavnih testnih petlji koje iniciraju
odreeni broj sistemskih poziva ili I/O usluga. Na ovaj nain se moglo izraunati
prosjeno CPU vrijeme i potrebno vrijeme za svaki od sistemskih poziva. Ovakvi
programi su pisani u jezicima vieg nivoa. Prvu takvu testnu petlju je napravio
Buchholz 1969. godine i nazvao je sintetikim programom. Glavna prednost
ovakvih workload-a je njihova mogunost brzog razvijanja i isporuke razliitim
proizvoaima. Razvijeni programi se mogu lako modifikovati i pokrenuti na
razliitim sistemskim platformama. Takoe, oni imaju ugraene mogunosti
mjerenja. Kada se proces mjerenja jednom razvije, on je automatizovan i moe
se ponavljati vie puta. Glavni nedostatak sintetikih programa je njihova mala
veliina, pa oni ne prave reprezentativna referenciranja memorije i diska.
5. benmark programi
Benmarking predstavlja proces poreenja dva ili vie sistema koritenjem
workload-a. Koritenjem benmark programa mjere se skoro svi resursi u
sistemu ukljuujui procesore, I/O ureaje, mree i baze podataka. Takoe,
termin benmark je skoro postao sinonim sa terminom workload.

2.7.1. Strategije benmarkinga


44B

Veina benmark programa baziraju mjerenje performansi na vremenu potrebnom


za njegovo izvravanje. Meutim, postoje i druge strategije. Tri strategije koritenja
benmark programa u svrhu mjerenja performansi raunarskih sistema su:
1. mjerenje vremena potrebnog za izvoenje fiksne koliine operacija,
2. mjerenje koliine operacija koje su izvedene za fiksnu koliinu vremena,
3. dozvoljavanje da i vrijeme i koliina operacija variraju.

17
Performanse raunarskih sistema - skripta

Koncept fiksiranja koliine operacija koje se izvode vodi do gornje granice koja govori
koliko se sveukupne performanse bilo kojeg raunarskog sistema mogu poboljati
promjenama samo jedne komponente sistema. Ideju je izloio Gene Amdahl 1967.
godine. Iako njegov rad nije sadravao formalnu analizu, koncept je postao poznat kao
Amdahl-ov zakon.
Amdahl-ov zakon pokazuje da je poboljanje ukupnih performansi sistema
ogranieno dijelom sistema koji nije zahvaen promjenama. Na slici 2.4 su prikazani
staro vrijeme izvravanja Told i poboljano vrijeme izvravanja Tnew.

Slika 2.4 Amdahl-ov zakon

Poto su promjene u sistemu poboljale performanse samo nekih njegovih dijelova,


ostalo je mnogo dijelova koji nisu zahvaeni uticajem ovih promjena. Ako se sa oznai
procenat dijelova koji nisu zahvaeni promjenama, onda se T new moe podijeliti u dvije
komponente. Prva komponenta, Told, predstavlja vrijeme izvravanja dijela programa
koji nije zahvaen promjenama. Druga komponenta predstavlja vrijeme izvravanja
komponenti ije su performanse poboljane faktorom q. To vrijeme je jednako
(1 ) Told / q. Na osnovu ovog razmatranja moe se izvesti formula za ukupno ubrzanje
sistema:

Ova jednaina je zanimljiva poto se njenim koritenjem moe izraunati ukupno


ubrzanje sistema prouzrokovano nekom promjenom, pod pretpostavkom da su q i
poznati. Dalje, moe se izraunati ta bi se desilo da promjene prouzrokuju ogromno
poboljanje, tako da q .
Lako je pokazati da, ako q , u tom sluaju (1 ) Told / q 0. Na osnovu toga
slijedi da je ukupno ubrzanje ogranieno sa 1/:

Ovaj rezultat pokazuje da, bez obzira koliko performanse neke komponente sistema
budu poboljane, ukupne performanse su ograniene operacijama koje moraju da se

18
Performanse raunarskih sistema - skripta

izvedu a nisu pod uticajem promjena koje su donijele poboljanje. Na primjer, idealno
ubrzanje koje moe da se ostvari u paralelnim raunarskim sistemima sa p procesora je
p. Meutim, ako 10% programa ne moe da se izvri paralelno, maksimalno ukupno
ubrzanje moe da bude 1/0.1 = 10 puta, ak i ako je dostupan beskonaan broj
procesora. Ogranienje u vidu injenice da se 10% programa mora izvriti sekvencijalno
limitira ukupno poboljanje performansi koje moe da se ostvari.

19
Performanse raunarskih sistema - skripta

3. SIMULACIJA
2B

esto postoji elja da se predvide performanse nekog raunarskog sistema prije nego
to se on zapravo izgradi. Poto prava maina jo uvijek ne postoji, performanse takvog
sistema se oigledno ne mogu mjeriti direktno. Najbolje to se u tom trenutku moe
uraditi je simuliranje nekih vanih aspekata sistema. Zatim se moe probati izvesti
zakljuak o tome kako e se sistem ponaati kada se zapravo i izgradi. Simulacija takoe
moe biti pogodna za ispitivanje performansi postojeeg sistema koje ne mogu da se
izmjere ni direktno, ali ni indirektno.
Kada sistem jo ne postoji, neophodno je napraviti mnoge pretpostavke o sistemu
prije nego to se on moe simulirati. Pojednostavljujue pretpostavke je takoe
neophodno utvrditi i kada se simulira postojei sistem poto je nemogue modelovati
svaki postojei detalj sistema.
Prednost simulacije je to je mnogo manje kota nego da se izgradi prava maina.
Simulacija je takoe mnogo fleksibilnija poto se lako mogu mijenjati razni parametri
sistema tokom izvoenja simulacije, to je nemogue u realnom sistemu.
Nedostatak simulacije je naravno injenica da se ne mjeri realan sistem. Uvijek
postoji trade-off izmeu tanosti simulacije i vremena potrebnog da se napravi simulator
i izvre eljene simulacije. Utvrivanje nivoa detalja sistema koji se simulira predstavlja
veoma izazovan zadatak.

3.1. Vrste model


19B

Z predstvljnje realnog sistem koriste se rzliiti modeli, ko to su: mentlni


(misoni), verblni, strukturni, fiziki, nlogni, mtemtiki, simulcioni, runrski i
rzni drugi modeli. esto se dijele n mterijlne (model hemijske strukture molekul ili
model vion) i simbolike modele (mtemtiki, konceptulni, runrski, simulcioni i
dr).
Mentlni modeli su strukture koje ljudski mozk neprekidno konstruie kko bi bio u
stnju d povee niz injenic s kojim se ovjek susree, potom n osnovu tog da
djeluje. Tkvi modeli omoguavaju, n primjer, rzumijevnje fizikog svijet,
komunikciju meu ljudim i plnirnje kcij. Istrivnje prirode i rzvoj tehnologije
doveli su do stvrnj opipljivijih i formlnijih vrst model, prvenstveno zbog potrebe
d se omogui opisivnje sloenih fenomen kko bi se oni mogli preciznije rjevti. U
mentlnim procesim, rzliiti koncepti koje jedink posjeduje postvljju se u rzliite
nove odnose. Koncept koji jedink nosi nisu reln svet, zkljuci koje stvr n osnovu
njih su zkljuci formulisni pomou model. Verblni modeli su direktn posljedic
mentlnih model i predstvljju njihov izrz u govornom jeziku, uobijeno se
predstvljju u pisnom obliku. Verblni modeli spdju u klsu neformlnih model.

20
Performanse raunarskih sistema - skripta

Fiziki modeli predstvljju umnjene modele relnog sistem, koji se ponju n


isti nin ko i njihovi originli. Uglvnom se prve n osnovu teorije slinosti ili, u
boljem sluju, n osnovu fizikih zkon slinosti.
Ukoliko su veze izmeu objekt model opisne mtemtikim (numerikim)
relcijm, td se rdi o mtemtikim modelim. Mtemtiki model je iz klse
pstrktnih. Kod formulisnj mtemtikog model polzi se od verblnog model koji
se trnsformisnjem dovodi u stnje koje se moe opisti mtemtikim jezikom. Ov
kls model im iroku primjenu, nroito u nuci i ininjerskim disciplinm.
Odvno je uoen injenic d se rzliiti fiziki objekti mogu opisivti istim
mtemtikim modelom. Izmeu dv fizik model koji imju iste mtemtike
modele, ke se d postoji mtemtik nlogij. Istovjetnost mtemtikih model
dv objekt pru mogunost d jedn od fizikih objekt bude koriten z nlizu
mtemtikog model drugog objekt. Fiziki objekt koji se koristi z nlizu
mtemtikog model drugog objekt, s kojim im isti ili slin mtemtiki model,
nziv se nlogni model. Prem tome, izmeu fizikog objekt koji se ispituje i
nlognog model postoji mtemtik nlogij (nlogij u ponnju).
Konceptulni modeli se stvrju n osnovu predstve o strukturi i logici rd sistem
ili problem koji se modelir i prikzuju se u obliku ije je znenje precizno definisno
(n primjer, dijgrmi s tno definisnim simbolim). Njihov posebn vnost
proistie iz injenice d oni predstvljju osnovu z izrdu runrskih model. Ovi se
modeli esto nzivju i strukturni, poto u grfikom obliku ukzuju n strukturu
(reltivno stbiln odnos element) posmtrnog sistem. Tkv prikz omoguuje d
se modeli vizulizuju i n tj nin postju zgodno sredstvo z komunikciju meu
ljudim koji s njim rde. Pored tog, grfiki prikz model obezbjeuje reltivno
jednostvn prikz sloenih sistem i nesumnjivo zni vn kork k boljem
rzumijevnju sistem koji se modelir.
Runrski (simulcioni) modeli su prikz konceptulnih model u obliku progrm
z runr. U tom obliku modeli postju sredstvo kojim se moe efiksno nlizirti rd
model u rzliitim spoljnim uslovim i s rzliitim unutrnjim prmetrim i tko
dobiti uvid u ponnje sistem koji model opisuje. Ko sredstvo z izrvnje,
runrski modeli koriste progrmske jezike i stog su blisko vezni z rzvoj runrskih
nuk.

3.1.1. Neformlni i formlni modeli


45B

Neformlni opis model dje osnovne pojmove o modelu i, md se tei njegovoj


potpunosti i preciznosti, on to njee nije. Prilikom izgrdnje neformlnog opis,
uprvo rdi eliminisnj pomenutih nedosttk, vri se podel n objekte, opisne
promjenljive i prvil interkcije objekt.

21
Performanse raunarskih sistema - skripta

Objekti su dijelovi iz kojih je model izgren; opisne promjenljive (preko vrijednosti


koje uzimju) opisuju stnj u kojim se objekti nlze u odreenim vremenskim
trenucim (prmetri pomou kojih se opisuju konstntne krkteristike model su
tkoe ukljueni u opisne promjenljive); prvil interkcije objekt definiu kko
objekti model utiu jedn n drugi u cilju promjene njihovog stnj. Treb nglsiti d
ne postoji prvilo z izbor objekt, opisnih promjenljivih i prvil interkcije. Tj izbor je
preputen onome ko opisuje i izgruje model i treb g vriti tko d se dobije vlidn
model.
Neformlni opis model priprem se dost brzo i lko, li on njee nije
konzistentn i jsn, nroito kd su u pitnju sloeni modeli. Anomlije koje se jvljju
prilikom neformlnog opis model njee se mogu opisti n sljedei nin:
nekompletn opis model,
nekonzistentn opis model,
nejsn opis model.

Ukoliko model ne sdri sve situcije koje mogu d nstupe, td je opis


nekompletn. Ukoliko su u opisu model z istu situciju predvien dv ili vie prvil
ijom se primjenom dobijju kontrdiktorne kcije, td je opis nekonzistentn. N
krju, ko u jednoj situciji treb obviti dvije ili vie kcij, pri tome nije definisn
njihov redoslijed, td je opis model nejsn.
S druge strne, svremen metodologij modelirnj u velikoj mjeri se oslnj n
odreene konvencije u komunicirnju, zvne formlizmima. Formlizm specificir klsu
posmtrnih objekt n nedvosmislen i generln nin, koritenjem konvencij i
prvil.
Formlni opis model treb d obezbjedi veu preciznost i potpunost u opisivnju
model, ponekd omoguv i d se formlizuje postupk ispitivnj nekompletnosti,
nekonzistentnosti i nejsnosti. Ono to je, ipk, njznjnije jeste injenic d uvoenje
formlizm u metodologiju modelirnj omoguv d se sva pnja posmatraa
usmjeri n one krkteristike objekt koje su od njveeg znj z njegovo
istrivnje, tj. d se koriste pstrkcije.
Ako se zsebno posmtr oblst nunog rd, moe se lko zpziti d se ona u
velikoj mjeri, vjerovtno i u cjelini, sstoji od formlizcij i izgrdnje model. Formlni
model ili pstrktno predstvljnje esto se spominje ko klju uspjeh interkcije ovjek
- relni svijet koj se zsniv n "nuno-ininjerskom" pristupu. Vno je npomenuti
d ovko posmtrni tip interkcije ovjek-relni sistem obuhvt dv rzliit kork.
Prvo, postoji uvijek fz izgrdnje model ili formlizcij, gde se ko rezultt jvlj
model relnog sistem. U drugoj fzi, formlni model se nlizir i koristi, n osnovu
dobijenih rezultt donose se odluke koje obezbjeuju efiksnije uprvljnje smim
relnim sistemom.

22
Performanse raunarskih sistema - skripta

N krju, treb nglsiti i injenicu d ne postoje striktn prvil vezn z proces


izrde model, ve veliko znenje im zdrv rzum, sposobnost pstrkcije,
sistemtinost i iskustvo. Dugo iskustvo velikog broj ljudi koji su se bvili modelirnjem
dovelo je do nekih optih preporuk pri izrdi model:
1. Grnic sistem s okolinom mor biti odbrn tko d sistem, odnosno
njegov model, obuhvt smo fenomene od interes. Okolin sistem modelir
se tko d se ne opisuju detlji fenomen i uzron vez meu njim, ve se
dje smo njihov seti prikz.
2. Modeli ne smiju biti suvie sloeni niti detljni, ve treb d sdre smo
relevntne elemente sistem suvie sloene i detljne modele gotovo nije
mogue vrednovti ni rzumjeti. Model ne smije suvie d pojednostvi
problem, npr. izbcivnjem vnih promjenljivih potrebnih z dekvtn opis
sistem ili suvie velikim stepenom gregcije komponenti sistem.
3. Model je rzumno rstviti n vie dobro definisnih i jednostvnih modul sa
tno odreenom funkcijom, koje je lke i izgrditi i provjeriti.
4. U rzvoju model preporuuje se koritenje neke od provjerenih metod z
rzvoj lgoritm i progrm. Tko se, na primjer, u metodi top-down polzi od
prve verzije model koj se sstoji od nekoliko modul s vie funkcij, ztim se
u sljedeem korku ti moduli rstvljju n nekoliko jednostvnijih modul, itd.,
sve dok se ne dostigne eljeni stepen detljnosti model. Pri tome je mogue
rzumjeti model i njegove module u svim fzm rzvoj model.
5. Potrebn je provjer logike i kvntittivne isprvnosti model, i to kko
pojedinnih modul tko i cijelog model. Kod model koji ukljuuju slujne
promjenljive to zni i primjenu odgovrjuih sttistikih tehnik.

3.2. Runrsk simulcij


20B

D bi model bio koristn, od sutinske je vnosti to d se z dti ogrnieni skup


njegovih opisnih promjenljivih, njegovo ponnje moe odrediti n prktin nin:
nlitiki, numeriki ili putem eksperiment, gdje se z izvjesne, uglvnom slujne
ulze, posmtrju odgovrjui izlzi. Ovj posljednji proces nziv se simulcij.
Rije simulcij u svkodnevnoj upotrebi moe d ozni vei broj rzliitih
ktivnosti, ko n primjer: sloene video igre, ispitivnje uticj brojnih fktor n let
novih model vion, dio eksperiment u socio-psiholokim istrivnjim itd. Kd rije
koriste runrski strunjci, orgniztori, menderi ili sttistiri, obino pod
simulcijom podrzumijevju proces izgrdnje pstrktnih model z neke sisteme ili
podsisteme relnog svijet i obvljnje veeg broj eksperiment nd njim. Posebno
je interesantan sluj kd se ti eksperimenti odvijju n runru. Td je rije o
runrskom modelirnju i simulciji.

23
Performanse raunarskih sistema - skripta

3.2.1. Modelirnje i simulcij


46B

Svremeno modelirnje nezmislivo je bez runr. U modelirnju runri se


koriste u dvije svrhe: u rzvoju model i u izvoenju prorun n osnovu stvorenog
model (npr. prorun ponnj model u vremenu kod simulcionih model). N tj
nin, modelirnje pomou runr postje disciplin kojom se mogu dekvtno i
efiksno prikzivti sloeni sistemi i oblikovti i ispitivti njihovo ponnje.
Izrz modelirnje i simulcij izrv sloenu ktivnost koj ukljuuje tri element:
relni sistem, model i runr. Ov se ktivnost n uproten nin moe predstviti
dijgrmom n slici 3.1.

Realni sistem Raunar

Modeliranje Simulacija

Model

Slika 3.1 Relacije modeliranja i simulacije

Pod relnim sistemom podrzumijeva se ureen, meuzvisn skup element koji


formirju jedinstvenu cjelinu i djeluju zjedniki kako bi ostvrili zdti cilj ili funkciju,
bez obzir d li se rdi o prirodnom ili vjetkom sistemu, i tkoe, bez obzir d li tj
sistem u posmtrnom trenutku postoji ili se njegovo postojnje plnir u budunosti.
Relni sistem je izvor podtk o ponnju, ovi se podci jvljju u obliku zvisnosti
X (t), gdje je X bilo koj promjenljiv koj interesuje istriv, t je vrijeme mjereno u
odgovrjuim jedinicm. Drugim rijeim, relni sistem se moe posmtrti ko izvor
podtk z specifikciju model.
Model, ko i svki relni sistem, im svoje objekte koji se opisuju tributim ili
promjenljivama. On je pstrktni prikz sistem i dje njegovu strukturu, njegove
komponente i njihovo uzjmno djelovnje. S obzirom d se z simulciju njee
koristi runr (rzmtr se smo tj sluj), to se pod modelom moe podrzumijevti
skup instrukcij (progrm) koji slui d se generie ponnje simulirnog sistem
(vremensk serij vrijednosti promjenljivih simulirnog sistem). Ponnje model ne
mor d bude u potpunosti jednko ponnju simulirnog sistem, ve smo u onom
domenu koji je od interes.
Runr, ko tre komponent ove ktivnosti, predstvlj urej sposobn z
izvrenje instrukcij model, koje n bzi ulznih podtk generiu rzvoj model u

24
Performanse raunarskih sistema - skripta

vremenu. Runri, uz rzliite metode i progrmske lte, omoguvju pogodn


mbijent z stvrnje sloenih model i efiksn rd nd njim.
Meutim, pored ovih element, pnju treb usmjeriti i n otkrivnje i definisnje
relcij koje postoje izmeu njih. Modelirnje je proces kojim se uspostvlj vez izmeu
relnog sistem i model, dok je simulcij proces koji uspostvlj relciju izmeu
model i runr.
Relcij modelirnj odnosi se n vlidnost model. Vlidnost ili vljnost model
opisuje koliko vjerno jedn model predstvlj simulirni sistem. Proces utvrivnj
stepen slgnj podtk o relnom sistemu s podcim model nziv se vlidcij
model. Proces vlidcije je veom znjn, jer se n osnovu njeg donose odluke o
upotrebljivosti rezultt simulcije, izmjeni model, izmjeni podtk (ulznih
promjenljivih, prmetr), dljem nstvku simulcije, ponvljnju simulcije, itd.
Relcij simulcije odnosi se n provjeru d li simulcioni progrm vjerno prenosi
model n runr ko i n tnost kojom runr izvrv instrukcije model. Prije
poreenj stvrnih podtk s podcim koje generie runr (simultor), mor se
utvrditi tnost, odnosno korektnost simultor. Proces procjene korektnosti simultor
nziv se verifikcij.
N slici 3.2 prikzne su ktivnosti proces modelirnj i simulcije s bzom model
ko centrlnim objektom. Procesom modelirnj se uprvlj n osnovu ciljev koji se
generiu vn grnic sistem. Svki novi cilj inicir ktivnost sinteze model. Pri sintezi
model se koristi rspoloivo znnje iz bze model i bze podtk. Ove bze uvju i
orgnizuju prikupljene podtke o relnom sistemu. Fze simulcije (eksperimentisnje s
modelom) i vlidcije slijede fzu izgrdnje model.

ciljevi

Modeliranje Simulacija Validacija

Baza modela Baza podataka

Eksperimentisanje

Slika 3.2 Modeliranje i simulacija sa bazom podataka

25
Performanse raunarskih sistema - skripta

Vlidcij vodi novom eksperimentisnju nd relnim sistemom i moe d zhtijev


dodtne modifikcije ili k odbcivnje i reinicijlizciju prvobitnog model. U tom
procesu, ko rezultt nedosttk podtk u bzi znnj mogu se formulisti novi ili
izmijeniti postojei ciljevi. N krju, ko rezultt jvlj se jedn ili vie model koji vode
k ispunjenju eksternih ciljev (ukoliko proces ne "updne" u petlju iz koje ne moe d
ize). Kreirne modele koristi donosilc odluke. Pored tog, oni se mogu memoristi u
bzi model i koristiti u nekoj nrednoj fzi ktivnosti.

3.3. Krkteristike simulcionog modelirnj


21B

Runrsk simulcij je proces rjevnj problem koji se tie predvinj i


odreivnj buduih stnj relnog sistem n osnovu prouvnj runrskog model
tog sistema. Drugim rijeim, runrsk simulcij se zsniv n ideji eksperimentisnj
s modelom relnog sistem n runru, tokom vremen.
Simulcioni eksperimenti njee se izvode s ciljem d se prikupe odreene
informcije, ije bi dobijnje putem eksperiment nd smim relnim sistemom bilo
neprktino ili suvie skupo. Te informcije ksnije se trnsformiu u odluke znjne z
uprvljnje relnim sistemom koji je predmet simulcionog modelirnj. Cilj simulcije je
prouavanje ponnja sistem koji se simulir, li i utvrivanje kko bi se isti sistem
pono kd bi n njeg delovo neki drugi skup promjenljivih okolnosti (ulznih
veliin i prmetr).
Z rzliku od nlitikih model koji sveukupno ponnje sistem tretirju direktno,
simulcioni modeli prikupljju podtke o promjenm stnj sistem i izlz, fokusirjui
se n ponnje individulnih komponenti sistem. Znj simulcionih model proistie
iz injenice d se smo mli broj kompleksnih relnih sistem moe dekvtno opisti
preko nlitikih jednin.
Kod primjene simulcionog modelirnj, ne moe se dobiti rjeenje u nlitikom
obliku, u kojem su zvisne promjenljive funkcije nezvisnih promjenljivih, ve se rjeenje
problem dobij eksperimentisnjem nd modelom. Pri tome, simulcioni eksperimenti
dju ko rezultt skup tk, tj. vrijednosti zvisnih promjenljivih z pojedine vrijednosti
nezvisnih promjenljivih (vrijeme). Zbog slujnog krkter promjenljivih model,
dobij se k i vie rzliitih vrijednosti zvisnih promjenljivih z istu vrijednost
nezvisnih promjenljivih, tj. eksperimenti dju odreeni uzork vrijednosti zvisnih
promjenljivih. Pri tome, plnirnje i nliz simulcionih eksperiment zhtijevju
sttistiki pristup.
Simulcioni modeli njee su modeli dinmikih sistem, tj. sistem koji se
mijenjju u vremenu, s obzirom n to d su istrivi, u veini slujev, zinteresovni
z simulciju model dinmikih sistem. Ovi su modeli uglvnom dti u obliku
konceptulnih (strukturnih) i runrskih model. Postoji, meutim, i grup stcionrnih
problem z ije je rjevnje simulcij tkoe interesntn. Njee, li ne i

26
Performanse raunarskih sistema - skripta

generlno, simulcioni modeli su modeli sistem koji se ne mogu opisti niti rjevti
mtemtikim sredstvim. Njihove tipine primjene su u oblstim ininjerstv,
mendment i ekonomije, li sve vie i u medicini, biologiji i drugim prirodnim
nukm.
Izgrdnj i koritenje simulcionih model je proces koji zhtijev zntnu vjetinu i
dobro poznvnje brojnih nunih disciplin. Po svojoj prirodi on je blisko vezn z lte
i tehnike runrskih nuk i sistemske nlize. Tkoe, proces simulcije se oslnj i n
metode opercionih istrivnj i numerike nlize. Zbog postojnj slujnih
promjenljivih u simulcionim modelim, esto se koriste i pristupi teorije vjerovtnoe i
sttistike. Eksperimentln prirod metod rjevnj problem u simulcionom
modelirnju im nlogije i s empirijskom prirodom istrivnj u prirodnim nukm,
budui d se u ob podruj koristi plnirnje, izvoenje i nliz eksperiment rdi
rzumijevnj rd sistem koji se ispituje, odnosno provjere postvljenih hipotez. No,
bez obzir n svoj multidisciplinrni pristup, simulcij dns predstvlj koherentnu i
dobro rzvijenu oblst i s prvom nosi nziv zsebne nune discipline.

3.4. Potreb z simulcijom


22B

Moe se postviti pitnje zbog eg se uopte jedn sistem (simulirni sistem)


zmijenjuje modelom, ztim vri simulcij. Postoji vie rzlog, li su njvniji
sljedei:
Eksperiment nd relnim sistemom moe d bude skup ili k nemogu (n
primjer, u ekonomskim sistemim ili hemijskim postrojenjim).
Anlitiki model nem nlitiko rjeenje (npr. sloeniji modeli msovnog
opsluivnj).
Sistem moe d bude suvie sloen d bi se opiso nlitiki (n primjer,
sistemom diferencijlnih jednin).

Pored ovih, postoji jo nekoliko znjnih rzlog:


Eksperimentisnje s relnim sistemom, k i ko se znemre drugi spekti,
uglvnom je neispltivo ili suvie sloeno. Modelirnje, s druge strne, moe d
uke n to d li je dlje ulgnje u eksperiment ekonomski oprvdno ili ne.
Izgrdnj model i simulcij ponekd imju z cilj d se shvti funkcionisnje
postojeeg sistem ij je struktur nepoznt i ne moe joj se prii.
Prilikom iznlenj optimlnog funkcionisnj nekog sistem, uobijeno je d
se mijenjju rzni prmetri. esto je to neizvodljivo s relnim sistemom, bilo
zto to tkvog sistem uopte nem (tek g treb grditi) ili zto to bi tkv
eksperiment bio preskup. Td su grdnj model i njegov simulcij mogue
rjeenje.

27
Performanse raunarskih sistema - skripta

Ponekd treb simulirti uslove pod kojim nstup rzrnje sistem.


Nrvno, rzrnje relnog sistem njee nije dopustivo. U tkvim
prilikm, simulcij predstvlj prvo rjeenje.
Vrijeme moe d bude vrlo jk rzlog d se pribjegne simulciji. Pri simulciji,
vrijeme se moe seti. To je znjno kod simulcije dugotrjnih proces. U
drugim slujevim, vrijeme se moe zntno produiti. N primjer, s ciljem d
se prti postepeno odvijnje vrlo brzih proces, to je u relnom sistemu
nemogue.
Kd se vri relni eksperiment, uvijek postoji izvjesn grek pri mjerenju
usljed nesvrenosti mjernih urej. Pri simulciji ove greke nem. Postoji
smo grek "zokruivnj" usljed konne duine rijei u runru, li se on
s mlo trud moe uiniti znemrljivom.
Ponekd je poeljno zustviti dlje odvijnje eksperiment, kko bi se ispitle
vrijednosti svih promjenljivih u tom trenutku. Ovo je teko mogue u relnom
sistemu.

3.5. Prednosti i nedostci simulcije


23B

Bvljenje simulcionim metodm i tehnikm zhtjev, izmeu ostlog, i


poznvnje njenih prednosti i nedosttk. Ko osnovne prednosti koritenj simulcije
nvode se sljedee:
Jednom izgreni model moe se viestruko koristiti z nlizu predloenih
plnov ili politik.
Simulcione metode mogu se koristiti ko pomo kod nlize, k i ko su
ulzni podci n neki nin nepotpuni.
est je sluj d se simulcioni podci mogu mnogo jeftinije dobiti od slinih
podtk iz relnog sistem.
Simulcione metode lke je primijeniti nego nlitike metode. Stog je krug
potencijlnih korisnik simulcionih metod zntno iri.
Anlitiki modeli uglvnom zhtijevju vie pojednostvljujuih pretpostvki
koje ih ine mtemtiki prilgodljivim. Simulcioni modeli tkv ogrnienj
nemju. S nlitikim modelim, njee se moe izrunti jedino
ogrnieni broj mjerljivih krkteristik sistem, dok kod simulcionih model
generisni podci mogu d se koriste z procjenu bilo koje shvtljive i mjerljive
krkteristike.
U nekim slujevim, simulcij je jedino sredstvo z rjevnje odgovrjueg
problem.

28
Performanse raunarskih sistema - skripta

Mogue je opisti i rjevti sloene dinmike probleme s slujnim


promjenljivima koji su nedostupni mtemtikom modelirnju.

U osnovne nedosttke koritenj simulcije ubrjju se sljedei:


Simulcioni modeli z digitlne runre mogu biti skupi i mogu zhtijevti
znjno vreme z izgrdnju i vlidciju.
Zbog sttistikog krkter simulcije potrebno je izvoenje veeg broj
simulcionih eksperiment kko bi se dobio odgovrjui uzork rezultt
simulcije, ve i pojedinno izvoenje eksperiment moe zhtijevti dost
vremen i memorije runr.
Ne dobijju se zvisnosti izlznih promjenljivih od ulznih promjenljivih model
niti optimln rjeenj.
Z isprvno koritenje simulcionog modelirnj potrebno je poznvnje vie
rzliitih metod i lt.
Vrednovnje model je dost sloeno i zhtijev dodtne eksperimente.

3.6. Simulcioni proces


24B

Simulcioni proces je struktur rjevnj stvrnih problem pomou simulcionog


modelirnj. On se moe prikzti u obliku niz kork koji opisuju pojedine fze
rjevnj problem ovom metodom (ivotni ciklus simulcije). Struktur simulcionog
proces nije strogo sekvencijln, ve je mogu i povrtk n prethodne korke proces,
zvisno od rezultt dobijenih u pojedinim fzm proces. Broj fz i redoslijed
njihovog obvljnj zvisi od svke konkretne situcije, li je ipk mogue nvesti jedn
opti, ureen skup procedur (slik 3.3).
Osnovni korci simulcionog proces su sljedei:
1. Definicij cilj simulcione studije
Definicij eljenog cilj i svrhe studije: problem koji treb rijeiti (oblikovnje
sistem, nliz sistem i sl.), grnice sistem/okolin, nivo detljnosti.
2. Identifikcij sistem
Opis komponenti sistem, interkcij komponenti, nin rd, veze s okolinom,
formlni prikz sistem.
3. Prikupljnje podtk o sistemu i njihov nliz
Prikupljnje i mjerenje relevntnih podtk o sistemu, nliz tih podtk
(izbor rspodjel nezvisnih slujnih promjenljivih, ocjen vrijednosti
prmetr rspodjel).

29
Performanse raunarskih sistema - skripta

4. Izgrdnj simulcionog model


Stvrnje konceptulnog model koji dekvtno opisuje sistem i omoguv
rjevnje zdtog problem.
5. Izgrdnj simulcionog progrm
Izbor progrmskog jezik ili pket i stvrnje simulcionog progrm bilo
pisnjem progrm, bilo utomtskim generisnjem progrm n osnovu
konceptulnog model.
6. Verifikcij simulcionog progrm
Testirnje simulcionog progrm prem postvkm simulcionog model
(pojedinne procedure, generisnje slujnih promjenljivih, povezivnje
procedur). Ukoliko verifikcij progrm nije dl zdovoljvjue rezultte,
potrebn je povrtk n kork 5.
7. Vrednovnje (vlidcij) simulcionog model
Ispitivnje d li simulcioni model dekvtno predstvlj stvrni sistem
(ispitivnjem podudrnosti izlz model i relnog sistem, nlizom rezultt
od strne ekspert, nlizom osjetljivosti). Ukoliko vrednovnje model nije
uspjeno, potrebno je vrtiti se n tku 4 (izmjene u simulcionom modelu).
8. Plnirnje simulcionih eksperiment i njihovo izvoenje
Plnirnje simulcionih eksperiment koji omoguuju ispunjenje cilj studije
(pln promjene prmetr model, ponvljnje eksperiment zbog nlize
uticj slujnih promjenljivih, i dr). Izvoenje simulcionih eksperiment
prem usvojenom plnu.
9. Anliz rezultt eksperiment
Sttistik nliz rezultt simulcionih eksperiment. Tokom nlize
rezultt moe se pokzti potreb z dopunom kork 8 (izvoenje dodtnih
eksperiment).
10. Zkljuci i preporuke
Prezentcij relevntnih rezultt n osnovu kojih se mogu donijeti
odgovrjue odluke (izbor konfigurcije sistem, izmjene u sistemu, i dr.).

30
Performanse raunarskih sistema - skripta

Definicija cilja istraivanja

Identifikacija sistema

Prikupljanje i analiza ulaznih podataka

Izgradnja simulacionog modela

Izgradnja simulacionog programa

Verifikacija simulacionog programa

NE
Zadovoljava
?
DA

Validacija simulacionog modela

NE
Zadovoljava
?
DA

Planiranje i izvoenje eksperimenata

Analiza rezultata eksperimenata

NE
Zadovoljava
?
DA

Zakljuci i preporuke

Slika 3.3 Dijagram toka simulacionog procesa

31
Performanse raunarskih sistema - skripta

3.7. Podjele simulcionih model


25B

Rzlikuju se dv osnovn nin podjele simulcionih model: prvi, prem vrsti


promjenljivih u modelu i drugi, prem ninu n koji se stnje u modelu mijenj u
vremenu.

3.7.1. Deterministiki i stohstiki modeli


47B

Deterministiki modeli su oni ije se ponnje moe predvidjeti, odnosno u kojim


je ovo stnje sistem u potpunosti odreeno prethodnim stnjem. N slici 3.4- prikzn
je deterministiki model u kojem se stnje sistem Sn mijenj pod uticjem ktivnosti A u
stnje Sn+1. Prikzn je tkoe i ktivnost A s deterministikim trjnjem od 45
sekundi, npr. trjnje pregled jedne komponente odreenog proizvod.
Stohstiki modeli su oni ije se ponnje ne moe unprijed predvidjeti, li se
mogu odrediti vjerovtnoe promjen stnj sistem. Dkle, z stohstike modele je
krkteristino slujno ponnje, odnosno postojnje slujnih promjenljivih u
sistemu. N slici 3.4-b prikzn je stohstiki model u kome se stnje sistem Sn moe
promijeniti u jedno od stnj Sn+1, Sn+1 ili Sn+1 pod uticjem ktivnosti A. Tko n
primjer, nkon izvrenog pregled, komponent moe biti odben ili se moe ugrditi
u finlni proizvod, pri emu svko od tih stnj im odreenu vjerovtnou.
Drugi izvor slujnosti, prikzn n istoj slici, je ktivnost s slujnim trjnjem,
odnosno trjnjem koje se odreuje iz uniformne rspodjele vjerovtnoe. Primjer tkve
ktivnosti je toenje goriv n benzinskoj pumpi, gde se mjerenjem odreenog uzork
toenj goriv vozilim dobijju podci iz kojih se moe odrediti rspodjel vjerovtno
trjnj te ktivnosti.

Slika 3.4 Deterministiki i stohastiki modeli

32
Performanse raunarskih sistema - skripta

3.7.2. Diskretni i kontinulni modeli


48B

U diskretnim modelim stnje sistem se mijenj smo u pojedinim tkm u


vremenu (nem kontinulne promjene stnj). Tkve promjene se nzivju dogji.
Diskretn (diskontinuln) promjen stnj prikzn je n slici 3.5-a.
N primjer, u modelu smoposluge mogu postojti promjenljive koje opisuju broj
kupc u redovim pred ksm, tj se broj moe mijenjti smo u trenutku dolsk
kupc u red i u trenutku poetk opsluivnj n ksi.
U kontinulnim modelim promjenljive stnj se mijenjju kontinulno u vremenu,
ko to je prikzno n slici 3.5-b. Primjer kontinulne promjene je let vion iji se
poloj i brzin mijenjju kontinulno u vremenu. Treb imti u vidu d se n digitlnim
runrim ne mogu izvoditi kontinulne promjene veliin, ve se one morju
proksimirti skupom diskretnih vrijednosti.
Mogui su i mjeoviti, kontinulno-diskretni modeli koji sdre i kontinulne i
diskretne promjenljive. Promjen stnj tkvog model prikzn je n slici 3.5-c.

Slika 3.5 Diskretni, kontinualni i mjeoviti modeli

33
Performanse raunarskih sistema - skripta

3.8. Vrste simulcionih model


26B

Prikzne podjele simulcionih model dovele su do formulisnj etiri osnovne


vrste simulcionih model, koji se rzlikuju, s jedne strne, po pristupu modelirnju i
klsi problem koji se rjev, i s druge strne, po tehnikm modelirnj i simulcije
koje su z njih rzvijene. To su:
emulacija,
Monte Krlo (eng. Monte Carlo) simulcij,
kontinuln simulcij,
simulcij diskretnih dogj,
mjeovit, kontinulno-diskretn simulcij.

Osim emulacije i Monte Krlo simulcije, koje su sttike, sve ostle nbrojne vrste
su dinmike. U statikim simulacijama ne postoji vremenski parametar. Simulacija se
vri dok sistem ne doe u neko stanje ekvilibrijuma, tj. dok dalje izvoenje simulacije nije
korisno ili nije mogue. Monte Krlo simulcij spomenut je ovdje iz rzlog to su u
njoj tretmn slujnih dogj i generisnje slujnih vrijednosti bliski onom iz
simulcije diskretnih dogj.
U nstvku su ukrtko opisne sve nbrojne vrste simulcionih model, dok su
modeli kontinulne simulcije i modeli s diskretnim dogjim, detljnije rzmtrni u
posebnim poglvljim.

3.8.1. Emulacija
49B

Emulator je simulacioni program koji se pokree na odreenom sistemu sa svrhom


da sistem izgleda kao neki drugi. Na ovaj nain emulator rtvuje performanse u korist
fleksibilnosti. JVM (eng. Java Virtual Machine) je primjer emulacije procesora. U tom
sluaju se simulira izvravanje virtuelnog procesora iji je instrukcioni set definisan u
JVM specifikaciji.

3.8.2. Monte Krlo simulcij


50B

Monte Krlo simulcij (sttistik simulcij), ko to joj i ime ke, povezn je s


slujnim fenomenim. Ov metod je rzvijen u SAD tokom Drugog svjetskog rt, li i
dns jo uvijek nem potpune sglsnosti o koritenju tog termin. Neki utori Monte
Krlo simulcijm nzivju bilo koju vrstu progrm koji koriste slujne brojeve. S
druge strne, u veini literture o simulcionom modelirnju, ovj termin se
upotrebljv smo z sttike tipove simulcije kod kojih se u rjevnju problem

34
Performanse raunarskih sistema - skripta

koristi stvrnje uzork iz rspodjel slujnih promjenljivih. Pri tome, problemi mogu
biti bilo deterministikog, bilo stohstikog krkter.
Rzlikuju se sljedei tipovi primjene Monte Krlo simulcije:
1. Deterministiki problemi koje je teko ili skupo rjevti
Tipin primjer ovog tip je runnje vrijednosti odreenih integrl koji se
ne mogu rijeiti nlitiki, tj. ij je podintegrln funkcij tkv d se ne moe
ni rjeenje u obliku nlitikog izrz. Monte Krlo simulcij pristup
prorunu integrl tko to se generie niz slujnih tk (xj, yj) , s
jednkim vjerovtnom unutr odreenog prvougonik i potom ispituje
koliko je generisnih tk unutr povrine koj odgovr integrlu. Ovkv
pristup, koji se zsniv n generisnju slujnih brojev, nlogn je onom koji
se koristi kod simulcije sistem s diskretnim dogjim.
2. Sloeni fenomeni koji nisu dovoljno poznti
Ovo je drug kls problem koji se rjevju Monte Krlo simulcijom. Z njih
je krkteristino d nije poznt nin uzjmnog djelovnj izmeu element
ve su poznte smo vjerovtnoe njegovog ishod, koje se koriste z
izvoenje niz eksperiment koji dju uzorke moguih stnj zvisnih
promjenljivih. Sttistikom nlizom tkvih uzork dobij se rspodjel
vjerovtno zvisnih promjenljivih koje su od interes. Ovkv pristup se
njee primjenjuje kod nlizirnj drutvenih ili ekonomskih fenomen.
3. Sttistiki problemi koji nemju nlitik rjeenj
Sttistiki problemi bez nlitikog rjeenj (npr. procjene kritinih vrijednosti
ili testirnje novih hipotez) su jedn specifin kls problem koji se rjevju
Monte Krlo simulcijom. Prilikom rjevnj tkvih problem tkoe se koristi
generisnje slujnih brojev i promjenljivih.

Kao primjer koji e pokazati kako radi Monte Karlo simulacija, moe posluiti
numeriko izraunavanje vrijednosti broja . Izraunavanje se vri na osnovu slike 3.6.
Ako se pretpostavi da je poluprenik kruga sa slike 1, slijedi da je povrina cijelog kruga
(1)2 = . Samim tim, povrina oznaene etvrtine kruga je /4. Poto je poluprenik 1,
povrina oznaenog kvadrata na slici (unutar kojeg je i etvrtina kruga) je 1. Samim tim,
odnos povrina kruga i kvadrata, oznaena sa R, je /4. Na osnovu toga, slijedi da je
numerika vrijednost broja jednaka 4R.
Gornjim razmatranjem je problem izraunavanja numerike vrijednosti broja
transformisan u izraunavanje odnosa povrina etvrtine kruga i kvadrata. Tu se moe
iskoristiti Monte Karlo simulacija. Ako se sluajno pogaaju take unutar kvadrata, moe
se brojati broj taaka koje dodatno padnu i unutar kruga, n circ i ukupan broj taaka, ntotal.
Kada ukupan broj taaka postane dovoljno velik, eljeni odnos povrina postaje R = n circ /
ntotal.

35
Performanse raunarskih sistema - skripta

Slika 3.6 Izraunavanje numerike vrijednosti broja pomou Monte Karlo simulacije

Eksperiment generisanja taaka se moe uraditi generisanjem dvije sluajne


promjenljive u1 i u2 koje prate uniformnu raspodjelu izmeu 0 i 1. Ako je dobijenoj taki
udaljenost od koordinatnog poetka ( u1 u 2 ) manja od 1, tada je jasno da je ta
2 2

taka pala i unutar posmatrane etvrtine kruga. to se vie taaka izgenerie, preciznost
dobijene vrijednosti postaje sve vea.

3.8.3. Kontinuln simulcij


51B

Kontinuln simulcij se koristi z dinmike probleme kod kojih se promjenljive


stnj mijenjju kontinulno u vremenu. Postoje dvije osnovne klse problem koji se
rjevju ovom metodom.
U prvoj klsi su reltivno jednostvni problemi koji su opisni detljno i kod kojih su
promjene "gltke" i prirodno se opisuju diferencijlnim jedninm. To su tipino
problemi iz fizike, biologije i ininjerstv. U drugoj klsi su problemi koji nstju opisom
veom sloenih sistem u gregirnom obliku, u kojem se niz element sistem
redukuje n mnji broj komponenti i u kojim se promjene u sistemu proksimirju
konstntnim brzinm promjene. To su njee problemi iz podruj ekonomije i
drutvenih nuk.
Rzlikujemo tri osnovn tip kontinulnih simulcionih model:
1. Modeli koji se opisuju obinim diferencijlnim jedninm (sistemi obinih
diferencijlnih jednin)
Problemi u vezi s rznim procesim ko to su, n primjer, rzni oblici kretnj
i mnogi fiziki, hemijski, bioloki i drugi procesi gdje se rdi o jednoj nepozntoj
funkciji (y = y(t)) jedne nezvisne promjenljive (t), izrvju se mtemtikim
jedninm u kojim se, pored nezvisne promjenljive i nepoznte funkcije,
jvljju (obvezno) i izvodi te funkcije (dy/dt). Tim jedninm se u svkom
konkretnom sluju uspostvlj vez izmeu nepoznte funkcije (y), njene

36
Performanse raunarskih sistema - skripta

relne promjenljive (t) i njenih izvod (y') i tkve se jednine nzivju obine
diferencijlne jednine. Modeli koji se opisuju obinim diferencijlnim
jedninm ili njihovim sistemim mogu se u odreenim slujevim rijeiti
nlitiki, li je to dost rijetko kod stvrnih problem (uobijeno je d ove
jednine uzimju oblik sloenih nelinernih diferencijlnih jednin koje se
po prvilu ne mogu rijeiti nlitiki). Zbog tog se z tkve jednine morju
koristiti numerike metode. Numerike metode mogu se primijeniti i n
nlitiki rjeive jednine, li se to u prksi izbjegv, jer je u veini slujev
z tkve jednine jednostvnije nlitiko reenje. Numerike metode koje
slue z rjevnje diferencijlnih jednin kod kojih se ko nezvisn
promjenljiv jvlj vrijeme, uobijeno se nzivju metode kontinulne
simulcije.
2. Modeli koji se opisuju sistemim prcijlnih diferencijlnih jednin
Prcijlne diferencijlne jednine sdre vie od jedne nezvisne promjenljive
(xj) po kojim se tre izvodi zvisne promjenljive. Tipini primjeri problem koji
se mogu opisti prcijlnim diferencijlnim jedninm su problemi
erodinmike, hidrodinmike i meteorologije.
3. Modeli dinmike sistem (eng. System Dynamics)
Dinmik sistem je metodologij istrivnj, modelirnj i simulcije sloenih
dinmikih sistem. Sistemi s povratnom vezom su osnovni tip sistem koji se
modelirju dinmikom sistem. Povrtn vez moe biti pozitivn ili negtivn.
Modeli s povrtnom vezom koriste se njee z modelirnje inenjerskih,
biolokih, drutvenih i ekonomskih sistem. Dinmik sistem prikzuje sisteme
ko povezne uprvljke petlje. Pri tome su pojedinni dogji jko
gregirni, posledic tog je d se mogu opisivti ko kontinulni tokovi
opisni diferencnim jedninm (tj. konnim rzlikm, ne beskonno
mlim veliinm). Novo stnje sistem u nrednom trenutku vremen run
se n osnovu stnj u prethodnom trenutku vremen i rzlike ulznih i izlznih
tokov z to stnje u prethodnom intervlu vremen. D bi prorun mogo
poeti, neophodno je d budu zdte poetne vrijednosti veliin ko i
vrijednosti svih konstnti i prmetr koje model sdri.

3.8.4. Simulcij diskretnih dogj


52B

Simulcij diskretnih dogj je metod simulcionog modelirnj sistem kod


kojih se diskretne promjene stnj u sistemu ili njegovom okruenju dogju
diskontinulno u vremenu. Uglvnom se koristi z nlizu dinmikih sistem s
stohstikim krkteristikm. S obzirom d se pod dogjem podrzumijev diskretn
promjen stnj entitet sistem (tj. promjenljive koj opisuje to stnje), dogj

37
Performanse raunarskih sistema - skripta

nstup u odreenom trenutku vremen. Kko su veliine u ovkvim sistemim njee


slujne prirode, govorimo o diskretnim stohstikim sistemim.
Kod model sistem s diskretnim dogjim, pored koncept koji opisuju
strukturu, ko to su objekti, relcije izmeu njih i njihovi tributi, uvedeni su i koncepti
z opis dinmike. To su:
dogj,
ktivnost i
proces.

Dogj predstvlj diskretnu promjenu stnj entitet u sistemu ili njegovom


okruenju. Izmeu dv uzstopn dogj stnje sistem se ne mijenj. On moe
nstupiti zbog:
ulsk/izlsk privremenog entitet u odnosno iz sistem (dolzk novog
klijent, odlzk klijent), ili
promjene tribut pojedinih objekt sistem (opsluilc u sistemu postje
slobodn ili zuzet).

Uslovni dogji mogu d nstupe tek kd je ispunjen uslov njihovog nstupnj.


Obino su povezni s zuzimnjem nekog resurs, odnosno poetkom ktivnosti.
Bezuslovni dogji su oni iji je jedini uslov d tekue vrijeme simulcije bude
jednko vremenu njegovog nstupnj. To je, po prvilu, plnirno vrijeme zvretk
neke ktivnosti. Obino su povezni s oslobnjem resurs koji su bili ktivirni u toku
trjnj ktivnosti.
Aktivnost je skup dogj koji mijenjju stnje jednog ili vie entitet. Trjnje
ktivnosti se moe unprijed definisti, li moe d zvisi i od ispunjenj nekih uslov u
modelu, tko d je vrijeme zvretk tkve ktivnosti nepoznto. Z ktivnost s
nepozntim vremenom zvretk u literturi se moe ni i izrz "zdrvnje"
uglvnom se odnosi n zdrvnje u redovim eknj.
Proces je niz uzstopnih, logiki poveznih dogj kroz koje prolzi neki privremeni
objekt. Drugim rijeim, proces je hronoloki ureen sekvenc dogj koj opisuje
jednu pojvu od nstjnj do terminirnj. U simulciji, proces moe d obuhvt dio ili
cjelokupn "ivot" privremenog entitet.
Odnos dogj, ktivnosti i proces moe se grfiki predstviti ko n slici 3.7.

38
Performanse raunarskih sistema - skripta

Proces

Aktivnost 2

Aktivnost 1

dog. 1 dog. 2 dog. 3 dog. 4 dog. 5 vrijeme

Slika 3.7 Odnos dogaaja, aktivnosti i procesa

Koristei se prethodno definisnim pojmovim, moe se opisti simulcija diskretnih


dogj n sljedei nin (Shannon, 1975):

Def. Entiteti koji se opisuju tributim i uzjmno djeluju uestvujui u ktivnostim


pod odreenim uslovim stvrju dogje koji mijenjju stnj sistem.

Simulcij diskretnih dogj je specifin metodologij simulcije koj se bvi


modelirnjem sistem koji se mogu predstviti skupom dogj. Pod dogjem ovdje
se podrzumijev diskretn promjen stnj entitet sistem. Dogj nstup u
odreenom trenutku vremen, odnosno promjene stnj entitet se devju
diskontinulno u vremenu, tj. smo u nekim vremenskim trenucim (kd nstupi
dogj). Simulcij opisuje svki diskretni dogj, kreui se od jednog dogj do
drugog pri emu nstje pomk (prirst) vremen simulcije. Izmeu dv uzstopn
dogj, stnje sistem se ne mijenj. Sistemi koji se modelirju n ovj nin su
dinmiki i gotovo redovno stohstiki.
Simulator diskretnih dogaaja se koristi za modelovanje sistema ije se globalno
stanje mijenja kao funkcija vremena. Glavna ideja je da se globalno stanje sistema
pravilno aurira svaki put kada se desi neki dogaaj. Iako su specifini detalji svakog
simulatora jedinstveni, ipak svi simulatori diskretnih dogaaja dijele zajedniku optu
strukturu. Svaki ovakav simulator zahtijeva neku od sljedeih komponenata:
raporeiva dogaaja (eng. event scheduler)
Rasporeiva dogaaja je srce simulatora diskretnih dogaaja. On odrava listu
svih dogaaja u njihovom redu po globalnom vremenu. Njegov zadatak je da
sljedei dogaaj sa liste skloni sa liste i rasporedi ga u odgovarajuu rutinu za
procesiranje dogaaja. On takoe smjeta nove dogaaje u listu na odgovarajue
mjesto u skladu sa vremenom kada on treba da se izvri. Njegov zadatak takoe
predstavlja i auriranje varijable koja predstavlja globalno vrijeme.
varijabla koja predstavlja globalno vrijeme i nain na koji se ona aurira

39
Performanse raunarskih sistema - skripta

Ova komponenta biljei trenutno vrijeme izvoenja simulacije. Moe se


aurirati od strane rasporeivaa na dva naina. U prvom se uveava za neki
fiksan iznos. Zatim se provjeravaju dogaaji na ekanju iz liste. Svi dogaaji koji
se podudaraju sa tim trenutkom alju se na izvravanje. Nakon zavretka
njihovog procesiranja, rasporeiva opet inkrementuje ovu varijablu. U
alternativnom pristupu varijabla koja predstavlja globalno vrijeme prilagoava
se sljedeem dogaaju na ekanju iz liste. U ovom sluaju vrijednost ove
varijable se mijenja neuniformno poto e se nekad deavati da se nekad
mijenja za veliki iznos, a nekad se nee promijeniti uopte. Ovaj pristup se
ee susree u raunarskim sistemima.
rutine za procesiranje dogaaja
Svaki dogaaj u sistemu tipino ima svoju procesnu rutinu koja simulira ta bi
se desilo da se dogaaj nalazi u realnom sistemu. Ove rutine mogu da auriraju
globalno stanje ili ak da generiu dodatne dogaaje koji se smjetaju u listu za
ekanje kontrolisanu od strane rasporeivaa. Primjer za ovaj sluaj je pristup
memoriji od strane procesora. U sluaju da traena vrijednost ne postoji u keu,
generie se novi dogaaj koji predstavlja vrijeme potrebno da se izvri rutina za
cache miss.
mehanizmi za generisanje dogaaja
Simulatori diskretnih dogaaja se esto klasifikuju na osnovu tehnike koju
koriste za generisanje dogaaja. Tehnike za generisanje dogaaja su: execution
driven, trace driven i distribution driven.
o Execution driven
Ova vrsta simulacije je slina emulaciji po tome to simulator zapravo
izvrava benmark program. Na osnovu toga, simulator produkuje isti
izlaz iz benmark programa koji bi bio produkovan da se taj benmark
izvrava na pravoj maini. Glavna razlika izmeu ova dva pristupa je u
tome to simulator, osim to izvrava program, dodatno modeluje
potrebne detalje sistema koji se testira. Emulacija, sa druge strane, samo
izvodi program zanemarujui kako se on izvrava i jedini njen zadatak je
produkovanje odgovarajueg izlaza iz benmark programa. Execution
driven simulator obraa panju i na to kako se dolazi do eljenog izlaza.
Ovi modeli se smatraju najtanijim tipom simulacije poto modeluju sve
detalje potrebne da bi se program izvrio. Meutim, ova prednost se
moe smatrati i nedostatkom poto modelovanje svakog detalja moe biti
prilino skupo u smislu vremena potrebnog za odvijanje simulacije i
vremena potrebnog za razvijanje execution driven simulatora.
o Trace driven
Trace (trag) je sekvenca dogaaja koji se odvijaju dok se sistem prati. U
ovoj sekvenci dogaaji su uglavnom poredani po vremenu kada treba da

40
Performanse raunarskih sistema - skripta

se izvre. Jedna od prednosti ovakvog pristupa je to simulator ne mora


da prui sve funkcionalnosti potrebne od strane programa, kao to je
potrebno kod execution driven simulatora. Sa druge strane, trace
predstavlja samo jedno mogue izvravanje programa. Taj trace uopte
ne mora da predstavlja tipian workload, pa je nedostatak ovakvog
pristupa nedostatak generalnosti. Drugi nedostatak je tekoa rukovanja
sa velikim trace fajlovima. Ogromna koliina informacija koje se generiu
tokom tracing-a tipino limitiraju trace na nekoliko sekundi od ukupnog
vremena izvravanja programa. Zbog navedenih nedostataka, execution
driven simulacija je uprkos svojoj sloenosti popularnija od trace driven
simulacije.
o Distribution driven
Ovaj tip simulacije je slian trace driven simulaciji uz razliku to ulazne
dogaaje generie sam simulator tako da oni prate neku predefinisanu
funkciju vjerovatnoe. Generie se sekvenca sluajnih brojeva radi
modeliranja oekivanog statistikog ponaanja ulaza u sistem koji se
simulira. Poto ne postoji garancija da e pravi program imati ovakvu
sekvencu ulaza, simulacija treba da se odvija vie puta sa nekoliko
razliitih ulaznih sekvenci. Produkovani izlazi zatim mogu da se sumiraju
na odgovarajui nain radi dobijanja statistikog pogleda na performanse
posmatranog sistema. Ovakav pristup nudi veu fleksibilnost od trace
driven simulacije gdje je niz dogaaja u trace-u fiksan i teko je izmijeniti
njihov redoslijed.
rutine za biljeenje podataka i njihovo sumiranje
Osim odravanja varijabli stanja neophodnih za simuliranje sistema, simulator
mora da odrava odgovarajue brojae dogaaja i mjerae vremena. Ove
vrijednosti se na kraju koriste da bi se izraunali odgovarajui statistiki podaci
kojima se sumiraju rezultati simulacije.

3.8.5. Mjeovit simulcij


53B

Kod pojedinih vrst sistem, kontinuln simulcij, ko i simulcij diskretnih


dogj, ne moe u potpunosti d opie nin rd sistem. To su oni sistemi koji
sdre procese koji teku kontinulno i dogje koji dovode do diskontinuitet u
ponnju sistem. D bi se tkvi sistemi modelirli i simulirli, rzvijen je mjeovit
simulcij koj omoguv integrisnje kontinulnih i diskretnih element sistem.
Vez izmeu diskretnog i kontinulnog pristup postie se uvoenjem dv tip
dogj. Vremenski dogji su dogji koje generie mehnizm uprvljnj
dogjim, kkv postoji u simulciji diskretnih dogj. Oni mogu d izzovu
trenutnu promjenu stnj kontinulne promjenljive. S druge strne, dogji stnj su

41
Performanse raunarskih sistema - skripta

oni dogji koje ktivir mehnizm pomk vremen s konstntnim prirstom, iji je
vremenski intervl mli, koji je krkteristin z kontinulnu simulciju. Ovi dogji
mogu d ktivirju dogje diskretnog dijel model. Pozntiji simulcioni jezici z
mjeovitu simulciju su GASP i SLAM.

3.8.6. Izbor tip simulcionog model


54B

Tip simulcionog model njee se bir tko d bude jednk tipu originlnog
sistem. To ipk ne zni d se uvijek diskretni sistem mor prikzti diskretnim
modelom, odnosno kontinulni sistem kontinulnim modelom. Izbor tip simulcionog
model zvisi njvie od cilj simulcione studije. Pored tog, vnu ulogu im i
sposobnost modelr d prone dekvtnu pstrkciju sistem z rjevnje
odreenog problem.
Njvnije pri izboru simulcionog model je d model bude to jednostvniji i
rzumljiviji, kko zbog njegovog lkeg rzvoj i modifikcije, tko i zbog potrebe d g
korisnik to lke rzumije. Osim tog, znjn fktor pri izboru model uvijek mor d
bude i njegov cijen, ko i efiksnost u pogledu utrok resurs runr, kko bi se
mogo efiksno koristiti z rjevnje problem.

3.9. Validacija i verifikacija


27B

Jedn od njznjnijih i njteih zdtk s kojim se sree modelr u postupku


izgrdnje model su verifikcij i vlidcij simulcionih model. Korisnici model,
ininjeri i nlitiri koji koriste izlze (rezultte) model ko pomo z svoje prijedloge
pri projektovnju i menderi koji donose odluke zsnovne n tim prijedlozim, uvijek
gledju n model s izvjesnom dozom skepticizm u pogledu njegove vlidnosti. D bi
smnjio postojei skepticizm i poveo povjerenje u svoj model, modelr mor d
sruje s krjnjim korisnicim u procesu izgrdnje i vlidcije model.
Problem vlidcije model proistie iz injenice d je model uvijek uproten slik
relnog sistem koji predstvlj, odnosno pojednostvljeni pogled n relni sistem koji
se istruje. Pored tog, u model se gotovo uvijek unose odreene proksimcije
relnosti, to proces vlidcije ini jo vnijim. Iz sveg tog proistie d se model mor
testirti kko bi se ustnovilo d li je on pouzdn, bez grek i d li je dovoljno uvjerljiv
z sve one koji e g koristiti. Postupk kojim se ispituje koliko vjerno i precizno jedn
model predstvlj relni sistem, njee se moe posmtrti kroz dv povezn kork:
1. Verifikcij.
Odnosi se n provjeru d li je simulcioni progrm, kojim se implementir
model, bez grek i konzistentn s modelom. To je u stvri poreenje

42
Performanse raunarskih sistema - skripta

konceptulnog model s runrskim kodom kojim se tkv koncepcij


implementir.
2. Vlidcij.
Odnosi se n postupk odreivnj d li je model precizn reprezentcij
relnog sistem. Njee je to jedn itertivn procedur u kojoj se ponnje
model poredi s ponnjem relnog sistem i uoen neslgnj i rzlike
koriste z dogrdnju i isprvku model. Postupk poboljnj model se
nstvlj, sve dok se ne odlui d dobijen tnost model zdovoljv.

Iko se verifikcij i vlidcij model konceptulno rzlikuju, njee se simultno


sprovode od strne modelr. Rzlog z to je to se ov dv proces u prksi dobrim
dijelom poklpju. Nime, ukoliko jedn simulcioni progrm proizvodi besmislice, nije
uvijek jsno koliko su krive greke u konceptulnom modelu, koliko greke u
progrmirnju, koliko koritenje pogrenih podtk. Zto se esto ke d su
izgrdnj model, verifikcij i vlidcij u dinmikoj povrtnoj sprezi. N to ukzuje i
slik 3.8.

Realni sistem

Kontinualna validacija

KONCEPTUALNI MODEL
1. Pretpostavke za komponente sistema
2. Strukturalne pretpostavke koje
definiu interakcije izmeu
komponenti sistema
3. Pretpostavke za ulazne parametre i
podatke

Verifikacija modela

Operacioni model

Slika 3.8 Izgradnja modela, validacija i verifikacija

Prvi kork u izgrdnji model obuhvt posmtrnje relnog sistem i interkcij


izmeu njegovih rzliitih komponenti, ko i prikupljnje podtk o ponnju sistem.
Meutim, u tom postupku modelr ne smije d se osloni smo n svoj zpnj, poto
to esto vodi pogrenom shvtnju smog sistem i njegovog ponnj, ve je
neophodno ngovnje strunjk koji dobro poznju sistem ili neke njegove dijelove.

43
Performanse raunarskih sistema - skripta

Specifin znnj o pojedinim spektim sistem, koj ovi strunjci rzliitih profil
posjeduju, od velikog su znj z modelr i budui tok izgrdnje model.
Drugi kork u izgrdnji model je formirnje konceptulnog model, skup
pretpostvki z komponente model i strukturu sistem, ko i hipotez z vrijednosti
prmetr model. Ko to se moe vidjeti s slike 3.8, konceptuln vlidcij je
poreenje relnog sistem i konceptulnog model.
Trei kork u izgrdnji model je pisnje runrskih progrm z simulcione
modele.
Treb npomenuti d se ove tri fze izgrdnje model viestruko prepliu i d to nije
jednostvn linerni proces koji se sstoji iz tri kork; nime, modelr se vr n svku
od ove tri fze vie put u toku izgrdnje, verifikcije i vlidcije model.

3.9.1. Vlidcij simulcionih model


55B

Problem vlidcije model nstje poto se u fzi izgrdnje model unose mnoge
proksimcije relnog sistem. N tj nin se ogrniv model (uspostvljju se
grnice u odnosu n okruenje), ignoriui sve ono izvn njeg to nije eksplicitni ulz i
odbcivajui fktore z koje se smtr d su nevni. Aproksimcije koje se njee
primjenjuju su:
1. Funkcionln proksimcij
Izrzito nelinerne funkcije esto se proksimirju nekim jednostvnijim
funkcijm, n primjer linernim. Vn pretpostvk je d jednostvnij
funkcij treb d bude priblin "originlnoj" funkciji u oblsti gde e sistem
vjerovtno funkcionisti. Ako progrm mor d funkcionie i u oblsti gdje je
poklpnje funkcij slbo, potrebno je obezbijediti d on tmp poruku
upozorenj.
2. Aproksimcij rspodjele
Relne vjerovtnoe rspodjel koje su i sme poznte jedino proksimtivno,
esto se proksimirju jednostvnijim rspodjelm, ko to su normln ili
eksponencijln. Njekstremniji primjer proksimcije je onj kd se slujn
promjenljiv zmijeni konstntom.
3. Aproksimcij nezvisnosti
Model se esto pojednostvljuje tko to se pretpostvlj d su rzliite
komponente (opisne slujnim promjenljivima) sttistiki nezvisne.
4. Aproksimcij gregcije
Veom est tip proksimcije je gregcij. Pod gregcijom se podrzumijev
situcija kd se vie element posmtrju ko jedna cjelina. Neki tipini
primjeri gregcij su:

44
Performanse raunarskih sistema - skripta

a. Vremensk gregcij
Svi diskretno-vremenski modeli vre vremensku gregciju. Intervl
vremen ko to je dn, tretir se ko jedn pojedinni period. Z sve
dogje koji se dese tokom dn, pretpostvlj se d su se desili
istovremeno.
b. Meu-sektorsk gregcij
Vie odjeljenj, firmi, proizvodnih linij, itd. posmtr se ko jedn cjelin.
c. Agregcij pomonih sredstv
Ovdje se vie pomonih sredstv posmtr ko jedno. N primjer, ko se
posjeduje runrski sistem s dv centrln procesor u prlelnoj vezi,
nkon gregcije e se smtrti d se posjeduje jedn, dv put bri
centrlni procesor.
5. Aproksimcij stcionrnosti
Stvr pojednostvljuje injenic d se prmetri i druge krkteristike sistem
ne mijenjju u vremenu. Z izvjesne fizike procese, ko to su neke
stronomske pojve, ovo moe biti prihvtljiv poetn proksimcij.
Meutim, u politikim, ekonomskim, orgnizcionim i socijlnim sistemim,
svkodnevno iskustvo ukzuje d je vein pojv nestcionrne prirode i d je
ko posljedic tog pretpostvk postojne strukture neodriv.

Sve pretpostvke i proksimcije koje se unose u model mogu, n izvjestn nin, d


dovedu u pitnje vlidnost tog model. Iz tog rzlog se i pristup odreivnju vlidnosti
model, odnosno poreenju modela i njegovog ponnja s relnim sistemom i
njegovim ponnjem.
Cilj proces vlidcije je dvojk:
d proizvede model koji predstvlj ponnje relnog sistem i koji je
dovoljno blizk relnom sistemu, tko d se moe koristiti z obvljnje
eksperiment,
d pouzdnost model pove n prihvtljiv nivo, tko d model mogu koristiti
rzliiti donosioci odluk.

N slici 3.9 prikzn je itertivni postupk poreenj model i relnog sistem u


postupku vlidcije.

45
Performanse raunarskih sistema - skripta

Poreenje modela i
realnog sistema
Inicijalni model

Poreenje poslije I revizija


revizije modela i
realnog sistema
Realni sistem Prva revizija modela

Poreenje poslije II revizija


revizije modela i
realnog sistema
Druga revizija modela

revizija

Slika 3.9 Iterativni proces validacije modela

Proces vlidcije model ne treb posmtrti ko izolovni skup mjer i procedur


koje slijede nkon izgrdnje model, ve ko integrlni i nezmjenjivi dio rzvoj
model. Ve je pomenuto d je proces vlidcije itertivni proces. Konceptulni model
se poredi s relnim sistemom i ukoliko postoje neslgnj i rzlike z koje se smtr d
nisu oprvdne, vri se isprvk (ili k znjnij promjen) n modelu, ztim se tko
dobijeni model ponovo poredi s relnim sistemom i vre nove isprvke, ukoliko je to
potrebno itd. Itertivni proces se nstvlj sve dok se ne postigne zdovoljvju
tnost model.
Poreenje model s relnim sistemom vri se pomou vie rzliitih testov; neki od
njih su subjektivne prirode, dok su drugi objektivni. Subjektivni testovi njee
podrzumijevju uee ljudi koji dobro poznju sistem ili neke njegove spekte i koji,
primjenjujui posebn znnj o sistemu, donose zkljuke o modelu i njegovom izlzu.
Objektivni testovi uvek zhtijevju neke podtke o ponnju sistem, ko i podtke
koje proizvodi model. Prikupljeni podci se obruju rzliitim sttistikim testovim koji
porede odreene spekte skup podtk sistem i skup podtk model. Njee,
jedn skup podtk nije dovoljn z konnu vlidciju model, ve se "finln"
vlidcij vri uz pomo nekog drugog, dodtnog skup podtk.

Prktini pristup procesu vlidcije

Naylor i Finger (1976) formulisli su prktin pristup problemu vlidcije, koji se


sstoji se iz tri fze:
1. izgrditi model koji vjerno predstvlj relni sistem,
2. potvrditi pretpostvke model,

46
Performanse raunarskih sistema - skripta

3. uporediti ulzno-izlzne trnsformcije model s odgovrjuim ulzno-


izlznim trnsformcijm relnog sistem.

Procjen vlidnosti model

Prvi cilj modelr je d izgrdi model koji e izgledti rzumno korisnicim ili drugim
koji posjeduju znnj o relnom sistemu koji se simulir. Potrebno je d potencijlni
korisnici model budu ukljueni u proces izgrdnje model od poetk, dkle od
konceptulizcije, p sve do implementcije model, kko bi se osigurlo d se u model
"ugrdi" visok stepen relizm kroz rzumne pretpostvke koje se odnose n strukturu
sistem i pouzdne podtke. Tkoe je posebno vno d potencijlni korisnici, li i
drugi "ljudi od znnj", budu ukljueni u proces itertivnog poboljvnj model, koji se
sprovodi n osnovu uoenih neslgnj i odstupnj u postupku poreenj model i
relnog sistem. Posebn prednost ukljuivnj korisnik ogled se u tome to se n tj
nin povev povjerenje u model, bez kog menderi i drugi donosioci odluk sigurno
ne bi bili voljni d vjeruju rezulttim simulcije, u procesu donoenj odluk.
Z provjeru vlidnosti model, moe se koristiti i nliz osjetljivosti. To je postupk
testirnj osjetljivosti model n rzliite pretpostvke i promjene ulznih veliin.
Promjene izlznog ponnj model, ko posljedic promen ulznih veliin, mogu
pruiti korisne informcije o modelu i korisniku i modelru. Kod veine simulcionih
model, postoji veliki broj ulznih veliin, p smim tim i veliki broj moguih testov
osjetljivosti. Zto je potrebno d modelr odbere one ulzne veliine z koje smtr d
su "njkritinije" i njih testir, poto je vrlo vjerovtno d vrijeme i finnsijsk sredstv
nee dozvoliti d se ispit osetljivost model n sve ulzne promjenljive. Ukoliko podci
o relnom sistemu omoguvju br dvije izmjene ulznih prmetr, testovi
osjetljivosti se mogu dopuniti koritenjem odgovrjuih sttistikih tehnik.

Vlidcij pretpostvki model

Pretpostvke model je mogue svrstti u dvije generlne ktegorije: pretpostvke o


strukturi i pretpostvke o podcim. Pretpostvke o strukturi se tiu pitnj kko
funkcionie sistem i esto obuhvtju pojednostvljenj i pstrkcije relnog sistem.
Pretpostvke o podcim treb d budu zsnovne n skupu pouzdnih podtk i
isprvnoj sttistikoj nlizi tih podtk. Sttistik nliz se uglvnom sstoji iz tri
kork:
1. identifikcij odgovrjuih rspodjel dobijenih podtk,
2. procjen prmetr izbrne rspodjele,
3. vlidcij pretpostvljenog sttistikog model nekim testom (npr. hi-kvdrt ili
Kolmogorov-Smirnov test).

47
Performanse raunarskih sistema - skripta

Vlidcij ulzno - izlznih trnsformcij

Jedini objektivni test model ko cjeline je provjer sposobnosti model d predvidi


budue ponnje relnog sistem, kd ulzni podci model odgovrju ulznim
podcim relnog sistem i kd je "politik" koj je implementirn u modelu,
implementirn negdje i u relnom sistemu. Osim tog, ko se nivo neke ulzne veliine
povev ili smnjuje, model treb precizno d predvidi t e se desiti u relnom
sistemu pod istim okolnostim. Drugim rijeim, struktur model treb d bude
dovoljno precizn d model dje dobr predvinj i to ne smo z jedn skup ulznih
podtk ve z cijeli opseg skupov ulznih podtk koji su od interes.
U ovoj fzi vlidcije, model se posmtr ko ulzno-izlzn trnsformcij, tj. model
prihvt vrijednosti ulz i trnsformie ove ulze u izlze koji ukzuju n ponnje
model.
Umjesto vlidcije ulzno-izlzne trnsformcije model preko predvinj
budunosti, modelr moe koristiti i stre istorijske podtke, koji su suvni iskljuivo
z proces vlidcije (podci koji nisu koriteni u fzi izgrdnje i dogrdnje model).
D bi se izvril vlidcij ulzno-izlzne trnsformcije, neophodn uslov je
postojnje sistem koji se prouv, kko bi bilo mogue prikupiti podtke o sistemu z
br jedn skup ulznih podtk. Ukoliko je sistem u fzi plnirnj i nije mogue
prikupiti podtke, potpun vlidcij ulzno-izlzne trnsformcije nije mogu. U nekim
slujevim mogu postojti odreeni podsistemi plnirnog sistem, p je mogue
sprovesti smo djeliminu vlidciju model.
Vlidcij simulcionih model je bitn i odgovorn poso, jer se brojne i vne
odluke zsnivju n rezulttim eksperimentisnj s modelom. Zto je obimn i
svestrn nliz model i rezultt dobijenih simulcijom tog model od velike vnosti
z kvlitet simulcije i mogunosti primjene dobijenih rezultt u procesu odluivnj.
Njee je suvie teko, suvie skupo ili vremenski nemogue koristiti sve mogue
tehnike vlidcije z svki model koji se rzvij. Stog je veom vn poso svkog
modelr d odbere one tehnike vlidcije koje njvie odgovrju u konkretnom
sluju i d n tj nin obezbjedi tnost i pouzdnost model.

Formlni kriterijum z utvrivnje vlidnosti model

U skldu s iznesenim postvkm, reln sistem treb posmtrti ko sistem opisn


n viem nivou, dok model z koji treb utvrditi vlidnost treb d bude n niem nivou
opis. U ovom poglvlju prikzn je pregled ve rnije izloene mterije s stnovit
utvrivnj vlidnosti model.
Homomorfizm (gr. homo-slin, morph-struktur) predstvlj formlni kriterijum
z utvrivnje vlidnosti uproenog model z dte eksperimentlne uslove, u odnosu
n osnovni model ije su krkteristike objnjene rnije. Rdi jednostvnijeg izlgnj,
ogrnienje je n dokzivnje vlidnosti diskretnih vremenskih model.

48
Performanse raunarskih sistema - skripta

Sutin formlnog postupk z provjeru vlidnosti je u tome d se ne preslikvnje


H pomou kojeg je mogue iz svkog stnj osnovnog model (npr. s) prei u
odgovrjue stnje uproenog model (npr. s). Ako ovkvo preslikvnje postoji, td
se zkljuuje d su ulzno-izlzn ponnj osnovnog i uprotenog model ist z dte
eksperimentlne uslove. D bi se utvrdio homomorfizm, morju biti ispunjeni sljedei
uslovi:
1. Ouvnje funkcije nstupnj vremen
Stnje u osnovnom modelu (s) i njemu odgovrjue stnje u uproenom
modelu (s') morju imti istu funkciju nstupnj vremen. To zni d e se
stnj osnovnog model i stnj uproenog model mijenjti u istim
trenucim vremen.
2. Ouvnje funkcije prelz stnj
Ako stnju s osnovnog model odgovr stnje s uproenog model (tj.
primjenom preslikvnj H n stnje s dobij se stnje s), td i sljede stnj
u koj e model prei u nrednom trenutku posmtrnj morju odgovrti
jedno drugom. Sljedee stnje osnovnog model e biti (s), uproenog
model '(s'), to zni d primjenom preslikvnj H n stnje (s) treb d se
dobije stnje '(s'). Ovo se grfiki moe prikzti preko tzv. komuttivnih
dijgrm (slik 3.10).

Slika 3.10 Ouvanje funkcije prelaza stanja

Dkle, polzei od stnj s osnovnog model moe se prvo vriti preslikvnje H


d bi se dolo u stnje s' uproenog model, ztim primijeniti funkcij
prelz stnj uproenog model d bi se dolo u stnje ' (s'); isto tko
mogue je prvo primijeniti funkciju prelz stnj osnovnog model (prelz iz
stnj s u (s)), ztim preslikvnje H. U ob sluj dolzi se u isto stnje. N
osnovu izloenog moe se zkljuiti d preslikvnje H koje vi izmeu stnj
osnovnog i uproenog model mor viti i izmeu njihovih buduih stnj
koj se dobijju n osnovu funkcije prelz stnj.
3. Ouvnje izlzne funkcije
Nek je s stnje osnovnog model i nek je mogue primjenom preslikvnj H
prei u stnje s' uproenog model. Primjen izlzne funkcije osnovnog

49
Performanse raunarskih sistema - skripta

model (z one eksperimentlne uslove z koje je izvreno uprovnje () d


bi se dobio uproeni model z stnje s), dje isti izlz Y ko i primjen izlzne
funkcije uproenog model (') n stnje s'.
Odgovrjui komuttivni dijgrm dt je n slici 3.11. Ovde se jsno uov d
se vlidnost uproenog model utvruje i u odnosu n zdte
eksperimentlne uslove. Ukoliko je preslikvnje H tip 1:1, u pitnju je
izomorfizm.

Slika 3.11 Ouvanje izlazne funkcije

Ako su zdovoljeni svi prethodno definisni uslovi, ond je uproteni model vlidn u
odnosu n osnovni model, z dte eksperimentlne uslove. Dlje, ko je rnije ve bilo
tvreno d je osnovni model vlidn u odnosu n relni sistem (simulirni sistem), td
je i uproteni model vlidn u odnosu n relni sistem.
Cjelokupn proces vlidcije zhtijev odreeno vreme, trud i novn sredstv. Ovi
se fktori svkko morju uzeti u obzir u postupku vlidcije i donoenju odluke koliko
e se dleko otii u procesu revizije model. Njee, modelr odreuje mksimlni
prihvtljivi nivo odstupnj model od relnog sistem. Ukoliko se ovj nivo odstupnj
ne moe postii uz ulgnje ogrnienih budetskih sredstv, nmijenjenih procesu
vlidcije, modelr ili smnjuje oekivnu preciznost model ili odbcuje dti model.

3.9.2. Verifikcij simulcionih model


56B

Iko u dosdnjim rzmtrnjim nije bilo rijei o konkretnoj implementciji


simulcionog model nekim progrmskim jezikom, tj. o runrskom kodirnju model,
ovdje e ukrtko biti ukzno n neke njvnije krkteristike proces verifikcije
model, koji, ko to je poznato, polzi b od runrskog kod model. Tim prije to
proces testirnj isprvnosti jednog model njee preplie procese verifikcije i
vlidcije, odnosno modelr, ko to je ve npomenuto, t dv ispitivnj njee vri
simultno. Dkle, proces verifikcije treb d poke d li je i u kojoj mjeri, konceptulni
model n odgovrjui nin predstvljen runrskim kodom, odnosno u kojoj se mjeri

50
Performanse raunarskih sistema - skripta

slu konceptulni (pretpostvke z komponente sistem i strukturu; vrijednosti


prmetr; pstrkcije i pojednostvljenj u modelu) i runrski kod.
U postupku verifikcije nem stndrdnog recept. Zto je potrebno izvriti vie
rzliitih provjer:
Run verifikcij logike isprvnosti: model se izvjesno vreme proput n
runru i runo, potom porede dobijeni rezultti.
Modulrno testirnje: pojedinno testirnje svkog modul kko bi se
ustnovilo d li dje rzumne izlze z sve mogue ulze.
Provjer u odnosu n poznt rjeenj: model se podeava tko d predstvlj
sistem ij su rjeenj poznt i uporeuju se s rezulttim model.
Testirnje osjetljivosti: vrir se jedn prmetr, dok ostli ostju
nepromjenjeni i provjerv se d li je ponnje model osjetljivo n promjenu
tog prmetr.
Testirnje n poremeje: prmetri model se postavljaju n neprirodne
vrijednosti i provjerv se d li se model pon n neshvtljiv nin. N tj
nin se mogu otkriti greke u progrmu koje je vrlo teko uoiti n drugi nin.

Osim nvedenog, mogu se primjeniti i neki drugi poznti postupci koji se koriste pri
otklnjnju grek u runrskim progrmim.

3.10. Generisanje sluajnih brojeva


28B

U toku specifikcije stohstikih model z promjenljive koje opisuju promjenu


vremen, ulz i stnj, definiu se sttistike rspodjele koje ih opisuju s njmnjom
grekom u odnosu n relni sistem. Pri simulciji tko definisnih model jvlj se
potreb z runrskim lgoritmim koji e generisti slujne promjenljive z opisivnje
promjen vremen i stnj u modelu s nekom zdtom rspodjelom.
U sttistikoj teoriji se dokzuje d je slujnu promjenljivu s zdtom rspodjelom
mogue generisti n osnovu jedne ili vie nezvisnih slujnih promjenljivih s
uniformnom rspodjelom. N tj nin se problem svodi n generisnje slujne
promjenljive s uniformnom rspodelom. Slujnu promjenljivu s uniformnom
rspodjelom mogue je dobiti jednom od sljedeih metod:
mnuelne metode,
tbele slujnih brojev,
metode z rd s nlognim runrim i
metode z rd s digitlnim runrim.

51
Performanse raunarskih sistema - skripta

3.10.1. Mnuelne metode


57B

Mnuelne metode su mlog opseg i zbog tog su neprimjenljive u simulciji.


Eventulno se mogu koristiti z obuvnje kdrov. U ove metode spdju: izvlenje
brojev iz kutije, bcnje kockic itd.

3.10.2. Tbele slujnih brojev


58B

Tbele slujnih brojev su serije slujnih brojev (SB) koji se proizvode n pogodn
nin, pomou nekog fizikog izvor ili nekom od metod izvlenj brojev.
Njve do sd publikovn tbel slujnih brojev, sdri 1.000.000 cifr (eng. a
million random digitis, Rand Corporation, The Free Press, 1955). Brojevi su dobijeni n
sljedei nin. Bio je konstruisn specijln rulet koji se pokreto i zustvljo uz pomo
elektronike. Pokretni disk se nglo zustvljo i birl se cifr koju je pokzivl strelic.
Ovko dobijene cifre se skupljju u etvorocifrene ili petocifrene brojeve i unose u
tbelu slujnih brojev. Iko ovkv postupk posjeduje sv svojstv slujnosti, ipk su
se poslije dueg vremen poele d dobijju cifre koje, prem provjeri sttistikim
testom, nisu imle rvnomjernu rspodjelu.

3.10.3. Metode z generisnje SB n nlognom runru


59B

Ove se metode bzirju n koritenju slujnih fizikih proces koji se odvijju u


nlognom runru i dju "prve slujne brojeve". Nepodesne su z rd, jer u sluju
ponovljene simulcije s istim redoslijedom slujnih brojev, fiziki proces dje nove
slujne brojeve.

3.10.4. Metode z generisanje SB n digitlnom runru


60B

Metode z generisnje slujnih brojev bzirju se n sljedeim postupcim:


1. koritenje fizikih izvor + A/D konverzij,
2. koritenje tbel slujnih brojev n diskovim runr,
3. koritenje lgoritm z dobijnje pseudoslujnih brojev.

Koritenje fizikih izvor (bijeli um, rdioktivni rspd) i konverzij fizikih veliin u
digitlne je skup i nepristupn proces z svkodnevnu primjenu.

52
Performanse raunarskih sistema - skripta

Tbele slujnih brojev n msovnim memorijm runr su dobr li spor nin


z dobijnje slujnih brojev pri simulcijm ssvim prosjenih sistem koji u toku
simulcije tre nekoliko milion slujnih brojev.
Algoritmi z generisnje pseudoslujnih brojev su brz nin z generisnje
slujnih brojev. Meutim kvlitet tkvih genertor zvisi od lgoritm i runr n
kome se implementir. Duin sekvence brojev bez ponvljnj je ogrnien
uniformnost i rezolucij mogu d budu promjenljive. Zbog tog je potrebno prije
upotrebe ovkvih genertor ispitti njihovu rezoluciju, uniformnost i duinu sekvence
slujnih brojev bez ponvljnj stndrdnim sttistikim metodm (npr. 2 test) i
utvrditi d li dobijene krkteristike odgovrju zhtjevim model. Meutim, bez obzir
n nvedene nedosttke lgoritmskih genertor slujnih brojev (GSB), dns su
preteno u upotrebi ovkvi genertori. Od izbor lgoritm zvisi i kvlitet genertor.
Postoje mnogi lgoritmi z generisnje slujnih brojev, li se uglvnom koriste
kongruentni genertori. Njih krkterie jednostvnost i brzin.
Ako postoji potreba da se testiranje simulacije ponovi sa identinim vrijednostima,
pravi sluajni brojevi nisu potrebni. Umjesto njih, razvijeno je mnotvo tehnika za
generisanje pseudosluajnih sekvenci brojeva pomou deterministikih algoritama.
Pseudosluajni brojevi samo izgledaju da su sluajni. Meutim, kod sluajnih brojeva
nemogue je predvidjeti sljedeu vrijednost. Kod pseudosluajnih sekvenci je unaprijed
poznata cijela sekvenca.
Prvi korak u generisanju sekvence sluajnih brojeva koji dolaze iz bilo koje raspodjele
je mogunost generisanja sekvence koja se ini uniformno rasporeenom na intervalu
[0, 1). To znai da je vjerovatnoa dobijanja bilo koje vrijednosti iz intervala konstantna.
Dobar generator pseudosluajnih sekvenci treba da posjeduje sljedee karakteristike:
efikasnost
Poto e tipina simulacija zahtijevati veliki broj sluajnih vrijednosti, generator
treba da lako ostvari efikasno raunanje.
dugaak period
Sekvenca sluajnih vrijednosti generisanih od strane konanog algoritma mora
da bude konana. To znai da e sekvenca neminovno morati nakon nekog
parametra k poeti da se ponavlja, tako da je xn + k = xn, xn + k + 1 = xn + 1... to je
vrijednost k vea, sekvenca e se initi sluajnijom.
nezavisno i uniformno raporeene vrijednosti
Dobijene vrijednosti treba da budu uniformno rasporeene na intervalu [0, 1).
To znai da svaka od vrijednosti mora imati istu vjerovatnou pojavljivanja u
sekvenci. Dalje, red u kojem se vrijednosti pojavljuju treba da bude nezavisan u
statistikom smislu.
ponavljajui

53
Performanse raunarskih sistema - skripta

Radi potreba testiranja, poeljno je da generator moe da reprodukuje


identinu sekvencu kao to je produkovao prethodni put.

3.10.5. Linerni kongruentni GSB


61B

LCG je jedan od najjednostavnijih generatora koji ispunjava sve navedene poeljne


karakteristike. Njegovo funkcionisanje se moe izraziti pomou formule:

z i = (a z i-1 + c) mod m

gdje su a, c i m konstante paljivo izabrane tako da generator ispunjava navedene


karakteristike, a zi predstavlja eljenu sekvencu sluajnih vrijednosti. Ako se konstante
izaberu na odgovarajui nain, generator moe da generie sve vrijednosti iz skupa {0, 1,
2, ... , m 1} u nekom permutovanom redoslijedu. Poto je 0 z i < m, sekvenca
vrijednosti ui = zi/m e izgledati kao da je uniformno rasporeena na intervalu [0, 1).
Ovakav generator ima nekoliko svojstava koja ine sekvencu vrijednosti koju on
generie drugaijom od prave sluajne sekvence. Na primjer, svaka od dobijenih m
vrijednosti se pojavljuje tano jednom u sekvenci. Na osnovu toga, vjerovatnoa
dobijanja bilo koje vrijednosti je 1/m, ime je zadovoljen uslov uniformnosti. Meutim,
poto se zi dobija pomou zi1, kada se prva vrijednost ponovi, ponovie se i cijela
sekvenca. Posljedica je da je nemogue da se jedna vrijednost pojavi dva puta zaredom u
sekvenci generisanih vrijednosti.
Dalje, poto se koristi izraz ui = zi/m za aproksimiranje vrijednosti rasporeenih na
intervalu [0, 1), najmanja razlika izmeu bilo koje dvije vrijednosti je 1/m. Ova
kvantizacijska greka se takoe ne bi pojavila u pravoj sluajnoj sekvenci. Ipak, i uz
navedena ogranienja, ovakav tip linearnog kongruentnog generatora moe produkovati
uzorke koji statistiki izgledaju kao da dolaze iz eljene raspodjele.

Biranje konstanti

Poto period generatora ne moe biti vei od m, poeljno je da ta vrijednost bude to


je mogue vea. Takoe, pogodno je da bude jednaka nekoj vrijednosti koja je stepen
broja 2, tj. da m bude jednako m = 2j, gdje je j pozitivan cijeli broj. Na osnovu toga se
maksimalno pojednostavljuje operacija modulo.
Dodatno je pokazano da e, u sluaju da je c 0, maksimalan period biti ostvaren ako
i samo ako vai:
1. konstante m i c su uzajamno proste,
2. svaki prost broj koji je faktor od m je takoe faktor i od a 1,
3. ako 4 dijeli m, onda mora da dijeli i a 1.

54
Performanse raunarskih sistema - skripta

Ova ogranienja su u potpunosti obuhvaena ako se konstante izaberu tako da je


m = 2j, a = 4d + 1, c je neparan broj, a j i d su pozitivni cijeli brojevi.
Na primjer, mnoge implementacije UNIX operativnog sistema koriste sljedei LCG:

zi = (1 103 515 245 zi 1 + 12 345) mod 232.

Kod nekih LCG-ova je vrijednost c jednaka nuli. Ovakav izbor vrijednosti za konstantu
c eliminie potrebu za operacijom sabiranja, ime se poboljava efektivnost procesa
generisanja. Meutim, u tom sluaju se period ovakvog multiplikativnog generatora
smanjuje sa 2j na 2j-2. Ako se u tom sluaju j izabere tako da bude prost broj, onda se
period generatora poveava na 2j 1. Period kod multiplikativnog generatora nikada ne
moe da bude 2j poto ovaj generator nikada ne moe da produkuje vrijednost 0. Primjer
dobrog multiplikativnog generatora je:

zi = (16 807 zi 1) mod (231 1).

Upozorenja i preporuke

Pogledom na gornje formule za LC generatore, moe se uiniti da je generisanje


dobrog generatora sluajnih brojeva prilino jednostavno, to nije tano. Takoe, ne
treba pomijeati kompleksnost sa sluajnou. Moe se desiti da dugaka i kompleksna
sekvenca operacija nee produkovati dobru sekvencu sluajnih vrijednosti. Ispostavilo se
da su najbolji generatori oni koji imaju jednostavnu sekvencu matematikih operacija i
na taj nain se njihova ispravnost lako moe dokazati analitiki. Bitno je jo jednom
naglasiti da sekvenca dobijena na ovaj nain nije nepredvidljiva, ve ba suprotno.
Meutim, u simulacionim eksperimentima e u veini sluajeva biti potreban generator
koji ispunjava uslove statistike, a ne prave sluajnosti.
Zavrna napomena: Puno je bolje koristiti generator koji se dokazao uspjenim kroz
obuhvatna istraivanja nego pokuati razviti svoj generator. U prevodu, ovo ne
pokuavajte kod kue .
Mnogi procesi u raunarskim sistemima koji treba da se ukljue u simulaciju mogu da
se modeluju koristei sekvencu sluajnih brojeva koja treba da prati neku neuniformnu
raspodjelu (na primjer, eksponencijalnu raspodjelu). Generisanje neuniformnih
raspodjela je proces iz dva koraka. Prvi korak je generisanje sekvence vrijednosti koja
prati uniformnu raspodjelu na intevalu [0, 1) koristei neku od opisanih tehnika za
generisanje uniformnih sekvenci. Drugi korak je transformisanje uniformne sekvence u
sekvencu eljene raspodjele. Tehnike za transformaciju su: inverzna transformacija, alias
metoda, dekompozicija, specijalna karakterizacija i accept-reject metoda.

55
Performanse raunarskih sistema - skripta

4. ANALIZA REDOVA EKANJA


3B

Analiza redova ekanja je najvanija analitika tehnika za modelovanje u raunarskim


sistemima. Postoji ogroman broj knjiga na tu temu a i svake godine se objavi na hiljade
novih radova i istraivanja. Ovo poglavlje samo dotie povrinu ove oblasti fokusirajui
se na fundamentalne rezultate koji formiraju bazu za kompleksnije tehnike analitikog
modelovanja. Sreom, ovi fundamentalni rezultati su u veini sluajeva dovoljni za
davanje odgovora na pitanja koja se mogu dati o raunarskim sistemima. Najbitnija
primjena ovog modela je validacija rezultata dobijenih direktnim mjerenjem ili
simulacijom.

4.1. Modeli mrea


29B

Glavna ideja koja stoji iza analize redova ekanja je da se razmisli o svim poslovima
koji moraju da se izvre u raunarskom sistemu. Oni se posmatraju kao muterije koje
zahtijevaju uslugu od strane individualnih podsistema, kao to su memorija, procesor,
I/O ureaji... Svaki od ovih resursa, popularno nazvan centar za usluivanje ili server,
moe procesirati samo jedan posao u jednom trenutku. Drugi poslovi koji ele da koriste
zauzeti resurs moraju da ekaju u redu ekanja dok usluivanje trenutnog posla ne
zavri. Razni serveri i redovi ekanja se na dijagramima povezuju nizom strelica koje
pokazuju kako poslovi mogu da putuju izmeu servera u sistemu.
Postoje dva tipa modela mrea redova ekanja. U otvorenom mrenom modelu, kao
to je prikazano na slici 4.1, poslovi pristiu u sistem iz nekog vanjskog izvora. Konkretno,
na slici poslovi pristiu sa lijeve strane i prvo se procesiraju od strane CPU-a. Ovo
procesiranje moe da rezultuje pristupom jednom ili vie diskova. Nakon procesiranja
zahtjeva, disk podsistemi e vratiti posao CPU-u. Nakon toga, CPU moe da generie
nove zahtjeve za diskove bazirane na dobijenom odgovoru ili moe da zavri procesiranje
slanjem posla na izlaznu liniju.

Slika 4.1 Model otvorene mree reda ekanja jednostavnog web servera

56
Performanse raunarskih sistema - skripta

Iako e svi poslovi koji uu u sistem na kraju i da izau iz njega, neogranien broj
poslova moe da bude u sistemu u bilo kom trenutku. Za razliku od ove karakteristike
otvorenih mrenih modela, zatvoreni mreni modeli imaju fiksan broj poslova koji
cirkuliu izmeu razliitih redova ekanja i servera u sistemu. Poto su zatvoreni mreni
sistemi po svojoj logici blii ogranienoj prirodi realnih sistema, smatraju se tanijim
modelima od otvorenih mrea. Na nesreu, ostvarivanje matematikih rjeenja u
zatvorenim mreama je tipino mnogo tee nego u otvorenim. Primjer jedne zatvorene
mree je dat na slici 4.2.

Slika 4.2 Model zatvorene mree reda ekanja

Prije prelaska na analizu modela otvorenih mrea sa jednim redom ekanja bitno je
naglasiti da ovi modeli samo aproksimiraju karakteristike realnih sistema. Samim tim,
dobijeni rezultati su samo aproksimacije ponaanja realnih sistema. Ova analiza prua
prosjeno ponaanje sistema i ne moe se iskoristiti za analiziranje ponaanja
individualnog posla.

4.2. Osnovne pretpostavke i notacija


30B

Pretpostavke o sistemu koje je potrebno utvrditi prije same analize su:


Balansiranje toka poslova
Broj poslova koji pristignu na server u dovoljno velikom vremenskom intervalu
mora biti jednak broju poslova koji napuste server. Jednostavnije reeno, ne
postoji gubljenje poslova unutar servera ili reda ekanja. Takoe, server ne
moe samostalno da generie novi posao. Bitno je napomenuti da ova
pretpostavka ne vai za krae vremenske intervale poto poslovi moraju ekati
u redu dok je server zauzet. Meutim, u duim vremenskim intervalima broj
poslova koji uu na server mora da se poklapa sa brojem poslova koji budu
uslueni.

57
Performanse raunarskih sistema - skripta

One-step ponaanje
U bilo kojoj instanci vremena samo jedan posao moe da ue ili da napusti
server, to znai da se stanje sistema mijenja samo inkrementalno. Ova
pretpostavka striktno ne dozvoljava poslovima da istovremeno vre prelaze
izmeu razliitih servera u sistemu.
Homogenost
Homogenost oznaava da su prosjeno pristizanje i usluivanje poslova
nezavisni od stanja sistema. Dalje, vjerovatnoa prelaza poslova izmeu dva
servera ne zavisi od broja poslova na serverima izmeu kojih se vri prelaz.
Ekskluzivnost
Posao moe biti prisutan samo na jednom serveru, bez obzira da li je u redu
ekanja ili se trenutno usluuje. Na osnovu ove pretpostavke jedan posao ne
moe da istovremeno trai usluge od vie servera. Slino tome, kada se posao
usluuje na serveru, ima ekskluzivno pravo na njega tako da svi drugi poslovi
koji ele uslugu od tog servera moraju da ekaju u redu.
Nepostojanje blokiranja
Uslugom koju prua server ne moe da upravlja nijedan drugi ureaj u sistemu.
Kada se posao pojavi na vrhu reda ekanja, server mora momentalno poeti da
ga usluuje.
Nezavisnost
Poslovi ne smiju da utiu jedan na drugi ni na koji nain. Jedini vid interakcije
smije da bude injenica da dijele isti red ekanja. Dalje, ne smije da postoji
nikakva sinhronizacija izmeu poslova.

Notacija:
s prosjeno vrijeme potrebno da bi se usluio posao (eng. service),
= 1/s prosjeno usluivanje, definie se kao broj poslova usluen u jedinici
vremena,
prosjeno pristizanje, definie se kao ukupan broj poslova koji je pristigao u
intervalu T kroz taj interval,
= / intenzitet saobraaja,
r prosjeno vrijeme odziva, definie se kao prosjeno vrijeme koje posao
provede u sistemu, ukljuujui vrijeme koje provede u redu ekanja plus
vrijeme za koje se usluuje (eng. response),
w prosjeno vrijeme koje posao provede u redu ekanja (eng. wait),
q prosjean broj poslova u redu ekanja (eng. queue),

58
Performanse raunarskih sistema - skripta

n broj poslova u sistemu, raunajui i poslove u redu ekanja i poslove koji se


usluuju,
U utilizacija (iskoristivost) sistema, definie se kao procenat ukupnog
vremena u kojem je sistem zauzet (eng. utilization),
a broj pristizanja koja se dese u nekom intervalu T (eng. arrival),
d broj odlazaka koji se dese u nekom intervalu T (eng. departure),

4.3. Operacionalna analiza


31B

U operacionalnoj analizi sistem se posmatra kao black box u kojem poslovi dolaze na
jednom kraju sistema, procesiraju se odreeno vrijeme, i onda izlaze na drugom kraju.
Ovakav pristup dozvoljava analizu redova ekanja bez pretpostavki o statistikoj
raspodjeli vremena izmeu pristizanja dva posla u sistem i o raspodjeli vremena izmeu
dva usluivanja. Umjesto toga, vri se direktno mjerenje operacionalnih karakteristika
sistema koji se prouava. Na osnovu toga mogu se izvesti zakoni o sistemskom
prosjenom ponaanju.

Prosjeno Prosjeno
pristizanje, usluivanje,
Raunarski sistem ili
podsistem koji se testira

Slika 4.3 Operacionalna analiza

4.3.1. Utilizacioni zakon


62B

Pretpostavimo da se sistem posmatra odreeni vremenski interval T, biljei broj


poslova koji stigne u sistem u tom vremenskom intervalu, kao i vrijeme usluivanja
svakog posla. Na osnovu toga, moe da se dobije prosjeno pristizanje kao kolinik broja
pristiglih poslova (a) i vremenskog intervala T:
=a/T
Prosjeno pristizanje je reciprono srednjem vremenu izmeu pristizanja dva posla.
Jedinica za prosjeno pristizanje je broj poslova u jedinici vremena. Ekvivalentno,
prosjeno usluivanje () je reciprono prosjenom vremenu usluivanja jednog posla, a
mjerna jedinica je identina kao kod prosjenog pristizanja, iako se sada radi o broju
usluenih poslova.

59
Performanse raunarskih sistema - skripta

Prosjena utilizacija sistema (U) je procenat ukupnog vremena u kojem je sistem bio
zauzet usluivanjem poslova. Ako se sistem posmatra u intervalu T i otkrije da je bio
zauzet b vremenskih jedinica, onda slijedi da je prosjena utilizacija:
U = b / T.
Ako se uzme da je d broj usluenih poslova u vremenskom intervalu T, gornja
formula moe da se napie na sljedei nain:
U = b / T = (b / d) * (d / T).
Kolinik b/d oigledno predstavlja prosjenu koliinu vremena u kojem je ureaj
zauzet usluivajui svaki od d poslova. Ovo i predstavlja definiciju prosjenog vremena
usluivanja po poslu (s = b/d). Dalje, d/T predstavlja prosjeno usluivanje (broj odlazaka
u jedinici vremena). Poto vrijedi pretpostavka o balansu poslova, slijedi i da broj
odlazaka mora biti jednak broju dolazaka u istom intervalu. Stoga, prosjeno usluivanje
mora biti jednako prosjenom pristizanju (). Ako se ove vrijednosti uvrste u gornju
jednainu, dobija se sljedea jednakost:
U = s.
Prosjena utilizacija ureaja (procenat ukupnog vremena u kojem je sistem zauzet)
jednaka je proizvodu prosjenog pristizanja i prosjenog vremena usluivanja jednog
posla. Ova jednakost se naziva utilizacioni zakon.

Primjer. Posmatra se I/O sistem koji se sastoji od jednog diska. Ako prosjeno
vrijeme potrebno za servisiranje svakog zahtjeva iznosi 600 s, koji je maksimalan broj
zahtjeva u vremenu koje sistem moe da tolerie?
Maksimalan kapacitet sistema je kada je utilizacija 100% ili U = 1. Poto je U = s,
nalazi se da je maksimalan broj zahtjeva u vremenu:
max = U / s = 1 / (600 x 10-6) = 1,667 zahtjeva / s.

Poto je prosjeno usluivanje reciprono prosjenom vremenu usluivanja, ovaj


zakon moe da se napie i u sljedeem obliku:
U = / .
Ovaj kolinik se jo naziva i intenzitet saobraaja. Zbog svoje vanosti u sistemima
redova ekanja, intenzitetu saobraaja dat je i poseban simbol, = / .
Ako je > 1, slijedi da je > , tj. prosjeno pristizanje je vee od prosjenog
usluivanja. Intuitivno se moe zakljuiti da u tom sluaju poslovi pristiu bre u sistem
nego to se mogu procesirati. Posljedica ovoga je da e broj poslova u sistemu rasti
neogranieno, to e dalje dovesti do beskonanih vremena ekanja. Na osnovu ovog
razmatranja, jasno je da se u svrhu odravanja stabilnog sistema, prosjeno pristizanje
mora odravati manjim od prosjenog usluivanja. Drugim rijeima, brzina usluivanja
poslova mora biti vea od brzine njihovog pristizanja u sistem, tj. mora biti manje od 1 i
utilizacija bilo kog ureaja ne smije da bude vea od 100%.

60
Performanse raunarskih sistema - skripta

4.3.2. Little-ov zakon


63B

Ako se black box sistem sa slike 4.3 posmatra dovoljno velik interval vremena T,
vidjee se da u sistem ulazi a poslova. Ako je ukupno kanjenje (ekanje) svih poslova u
redu ekanja D, onda je prosjeno vrijeme ekanja jednog posla (w) jednako:
w = D / a.
Poto je = a / T, gornja jednaina se moe napisati kao:
D = w T.
Sa druge strane, uzimajui u obzir injenicu da poslovi ekaju samo kada su u redu
ekanja, formula za ukupno kanjenje se moe dobiti i kao proizvod prosjenog broja
poslova u redu ekanja i vremenskog intervala T u kojem se vri posmatranje. Znai:
D = qT.
Izjednaavanjem prethodne dvije jednakosti dobija se:
qT = w T.
Skraivanjem sa T, dobija se konana jednakost:
q = w .
Zadnji izraz, poznat kao Little-ov zakon, govori da se prosjean broj poslova u redu
ekanja moe dobiti kao proizvod prosjenog vremena jednog posla provedenog u redu
ekanja i prosjenog pristizanja.
Little-ov zakon je generalan i moe se primjeniti na bilo koji dio sistema, kao i na
cjelokupan sistem. Jedini preduslov je da se potuje pretpostavka o balansu poslova u
sistemu. Pojedine primjene se mogu uoiti na osnovu slike 4.4.

Slika 4.4 Little-ov zakon

Slijede tri razliite formulacije Little-ovog zakona:


1. Prosjean broj poslova u redu ekanja jednak je proizvodu prosjenog
pristizanja i prosjenog vremena koje jedan posao provede ekajui u redu:

61
Performanse raunarskih sistema - skripta

q = w.
2. Ako se posmatra cijeli sistem, koji ukljuuje i server i red ekanja, dobija se
black box pogled na sistem sa slike 4.3. Prosjean broj poslova u sistemu jednak
je proizvodu prosjenog pristizanja i prosjenog odzivnog vremena sistema:
n = r.
3. Ako se posmatra samo server, iskljuujui red ekanja, dobija se da je prosjean
broj poslova koji se usluuju jednak proizvodu prosjenog pristizanja i
prosjenog vremena usluivanja jednog posla. Na osnovu pretpostavke o
ekskluzivnosti, slijedi da je prosjean broj poslova koji se usluuju jednak
utilizaciji servera. Znai:
U = s.

Primjer. Prosjeno vrijeme odziva web servera je 11 ms kada prima 450 zahtjeva u
sekundi. Koliki je prosjean broj zahtjeva koji se baferuju u sistemu?
Na osnovu formulacije Little-ovog zakona na sistemskom nivou, n = r, i vrijednosti
= 450 zahtjeva/s i r = 11 x 10-3 s slijedi da je n = 450 x (11 x 10-3) = 4.95 zahtjeva koji su
baferovani u sistemu.

Vano je naglasiti da n i q predstavljaju samo prosjene vrijednosti, a da prave


vrijednosti u nekom trenutku mogu da budu znatno vee. Kao posljedica toga, ove
vrijednosti se ne mogu iskoristiti za planiranje koliine memorije koja se mora rezervisati
za smjetanje nadolazeih zahtjeva (poslova). Utvrivanje ovih vrijednosti zahtijeva vie
informacija o karakteristikama dolazeih zahtjeva. Operacionalna analiza u tom trenutku
postaje nemona, i stohastika analiza je morala da ue u igru.

4.4. Stohastika analiza


32B

Utilizacioni i Little-ov zakon pruaju high-level pogled na tok poslova kroz sistem ne
uzimajui u obzir low-level detalje o tome ta se dogaa unutar sistema. Meutim, ako
se izvre pretpostavke da vrijeme koje proe izmeu dolaska dva posla i vrijeme
potrebno za usluivanje tih poslova prate odreene stohastike raspodjele, mogu se
dobiti mnogo detaljniji odgovori nego to je mogla da ih prui operacionalna analiza.
Fundamentalni model stohastikog reda ekanja sastoji se od jednog ili vie servera
koji procesiraju poslove iz jednog reda, kao to je prikazano na slici 4.5. Po ovom modelu
vrijeme izmeu dolazaka dva posla u red ekanja je stohastiki proces koji se opisuje
nekom funkcijom raspodjele. Slino tome, i vrijeme potrebno za usluivanje poslova na
serveru se modeluje kao stohastiki proces. Ovakav model omoguava da se odrede neki
bitni parametri performansi kao to su prosjeno vrijeme koje posao provede u redu

62
Performanse raunarskih sistema - skripta

ekanja, prosjean broj poslova u redu ekanja, vjerovatnou postojanja odreenog


broja poslova u redu i prosjeno odzivno vrijeme.

Slika 4.5 Stohastiki model sa jednim redom ekanja i vie servera

4.4.1. Kendall-ova notacija


64B

Stohastiki model reda ekanja moe da se potpuno specifikuje koritenjem est


parametara. Kendall-ova notacija je metoda za predstavljanje tih est parametara u
formi A/S/c/B/N/D. Nabrojani simboli imaju sljedee znaenje:
A oznaava proces pristizanja poslova u red ekanja (eng. arrival). Ovaj
stohastiki proces opisuje kada poslovi pristiu u red. Jo korisnije za analizu je
poznavanje vremena izmeu dolazaka razliitih poslova. Ako poslovi pristiu u
vremenima T0, T1, ..., Ti, ... , vremena t1 = T1 T0, t2 = T2 T1, ... , ti = Ti Ti-1 se
nazivaju vremena izmeu dolazaka. Obino se pretpostavlja da ova vremena
prate odreenu funkciju raspodjele. Najei proces koji se koristi u analizi
redova ekanja je Poisson-ov proces. U Poisson-ovom procesu vremena izmeu
dolazaka prate eksponencijalnu raspodjelu. Eksponencijalna raspodjela ima
jednu zanimljivu matematiku osobinu koja uveliko olakava cjelokupnu analizu
koja se opisuje. Ta osobina je da pojava sljedeeg dogaaja uopte ne zavisi od
vremena pojavljivanja prethodnog dogaaja. Ovo svojstvo se naziva
memorylessness 2 . Sreom, pokazano je da mnogi stvarni procesi u raunarskim
F F

sistemima stvarno prate eksponencijalnu raspodjelu. Eksponencijalna


raspodjela se oznaava simbolom M u Kendall-ovoj notaciji po inicijalu
osnovnog svojstva. Ostale raspodjele koje se rijee predstavljaju Kendall-ovom

2
U matematikom smislu svojstvo memorylessness-a oznaava sljedee. U sluaju da eksponencijalna
raspodjela ima srednju vrijednost vremena koje se eka na pojavu sljedeeg dogaaja x i da je prolo x
vremenskih jedinica od pojave zadnjeg dogaaja, intuitivno bi se oekivalo da se sljedei dogaaj treba
pojaviti uskoro (poto je x srednja vrijednost). Meutim, i poslije x vremenskih jedinica vrijeme oekivanja
sljedeeg dogaaja ostaje x! U svakom trenutku, bez obzira koliko je proteklo od pojave zadnjeg dogaaja,
ova vrijednost se ne mijenja. Dokaz za ovo svojstvo eksponencijalne raspodjele moe da se nae u bilo
kom udbeniku iz vjerovatnoe i statistike. Na osnovu toga, lako je zakljuiti da je vrijeme pojavljivanja
sljedeeg oekivanog dogaaja u potpunosti nepredvidivo.

63
Performanse raunarskih sistema - skripta

notacijom su: Erlang-ova (E), hipereksponencijalna (H), deterministika (D) i


generalna sluajna raspodjela (G).
S oznaava raspodjelu vremena potrebnih za usluivanje poslova kada napuste
red ekanja i preu na jedan od servera. Notacija je identina kao i kod
raspodjele vremena izmeu dolazaka poslova u red ekanja poto se Poisson-
ov proces i ovdje koristi kao najee koritena raspodjela.
c oznaava broj servera u sistemu. Svaka analiza redova ekanja pretpostavlja
da su svi serveri identini, tako da svaki ima istu raspodjelu vremena potrebnih
za usluivanje poslova. Sistem u kojem nisu svi serveri identini mora da se
raspara u posebne podsisteme prije nego to se moe analizirati tehnikama
koje e biti opisane.
B oznaava ukupan broj poslova koji mogu da stanu u sistem, raunajui
poslove u redu ekanja i poslove koji se usluuju na serveru. Realni sistemi
imaju fiziku granicu koliko njihov bafer moe da primi poslova. Meutim,
analizu je lake vriti ako se pretpostavi da ovdje ne postoje ogranienja i da je
broj poslova koji moe da stane u sistem beskonaan.
N oznaava ukupan broj poslova koji bi ikad mogli da uu u sistem. Kao i za
prethodni parametar, analiza se znatno pojednostavljuje ako se i za ovaj
parametar pretpostavi da je beskonaan.
D oznaava nain na koji se poslovi izmjetaju iz reda ekanja i smjetaju na
server radi izvravanja. Ovaj parametar se naziva disciplina usluivanja.
Najea upotrebljivana disciplina je FCFS (eng. First Come, First Served). Mogu
se upotrebljavati i neke druge discipline kao to su LCFS (eng. Last Come, First
Served) i RR (eng. Round Robin).

U veini analiza se pretpostavljaju podrazumijevane vrijednosti za zadnja tri


parametra (, , FCFS) pa se i ne piu u specifikaciji Kendall-ove notacije. Na osnovu
toga, dvije najpopularnije notacije su M/M/1 i M/M/c. U obe navedene verzije vremena
izmeu dolazaka poslova u red ekanja i vremena usluivanja poslova na serveru prate
eksponencijalnu raspodjelu, a razlikuju se samo po broju servera u sistemu. Na ovom
kursu e se detaljno izuavati samo M/M/1 sistemi.

4.4.2. M/M/1 sistemi


65B

Analiza ovih sistema se zapoinje sa pretpostavkom da poslovi pristiu u red ekanja


jedan po jedan, tj. da ne moe u jednom trenutku stii grupa poslova odjednom. Na
osnovu ove pretpostavke stanje itavog sistema se moe opisati sa cijelim brojem n, koji
predstavlja ukupan broj poslova u sistemu (poslovi u redu ekanja i poslovi koji se
usluuju na serveru).

64
Performanse raunarskih sistema - skripta

Pristizanje novog posla u sistem se naziva roenje (eng. birth). Ovaj dogaaj
prouzrokuje tranziciju sistema iz stanja n u stanje n + 1. Slino tome, kada server zavri
sa usluivanjem posla sistem prelazi iz stanja n u stanje n 1. Ovaj dogaaj se popularno
naziva smrt (eng. death). itav proces se naziva proces roenja i smrti i moe se
predstaviti dijagramom sa slike 4.6.

Slika 4.6 Proces roenja i smrti

Jedna od glavnih pretpostavki u analizi je da sljedee stanje zavisi iskljuivo od


trenutnog stanja. To znai da sljedee stanje ne zavisi od sekvence stanja kroz koju je
sistem proao prije dolaska u trenutno stanje. Dalje, sljedee stanje je takoe potpuno
nezavisno od vremenskog kvantuma koje je sistem proveo u trenutnom stanju. Opisana
pretpostavka vai samo ako vremena izmeu dolaska dva razliita posla, kao i vremena
njihovog usluivanja na serveru, prate eksponencijalnu raspodjelu. Konano, kao to je
ranije i navedeno, samo jedno roenje ili jedna smrt moe da se desi u jednom trenutku.
Na osnovu toga, sistem vri tranzicije samo izmeu susjednih stanja. Proces koji
ispunjava navedene pretpostavke naziva se Markovljev lanac.
U stabilnom stanju, prosjeno prelaenje u stanje n mora biti jednako prosjenom
izlaenju iz stanja n. Ako se navedena osobina posmatra na slici 4.7, tok izmeu stanja
n 1 i n mora biti jednak u oba smjera. Bez ove pretpostavke, broj poslova u sistemu bi
neogranieno rastao. Ponaanje stabilnog stanja se esto naziva konzervacija toka (eng.
conservation of flow).

Slika 4.7 Jednaina toka

Na osnovu gornjeg razmatranja, mogu se napisati jednaine balansa direktno iz


dijagrama sa slike 4.7. Ove jednaine se jo nazivaju jednaine toka. Tok za strelicu koja
je usmjerena udesno je vjerovatnoa da se sistem nalazi u stanju n 1 pomnoena sa
prosjenim pristizanjem poslova u sistem, . Slino tome, tok za strelicu koja je

65
Performanse raunarskih sistema - skripta

usmjerena ulijevo je vjerovatnoa da se sistem nalazi u stanju n puta prosjeno


usluivanje poslova u sistemu, . Poto u stabilnom stanju ove dvije vrijednosti moraju
da budu jednake, dobija se jednaina:

Rearaniranjem se dobija sljedea rekurentna jednakost:

Iz operacionalne analize je poznato da je intenzitet saobraaja:

Takoe, iz rekurentne relacije dobija se da je:

Na osnovu toga moe se zakljuiti uoptena jednakost vjerovatnoe da se u sistemu


nalazi n poslova:

Sljedei korak je da se ova jednakost transformie na nain da se Pn moe izraunati


bez poznavanja neke druge vjerovatnoe. Poto zbir svih vjerovatnoa mora biti jednak
1, dobija se da je:

Razvijanjem gornje sume dobija se:

Na osnovu zadnje jednaine moe se dobiti jednakost za P 0:

Ako je < 1 (to mora da vai u ovim sistemima), moe se pokazati da dobijena suma
konvergira ka vrijednosti 1 . Ako ovu vrijednost vratimo u uoptenu jednainu za
vjerovatnou da se u sistemu nalazi n poslova, dobija se:

66
Performanse raunarskih sistema - skripta

Na osnovu dobijene jednakosti lako je zakljuiti da vjerovatnoa da se u sistemu


nalazi odreeni broj poslova zavisi iskljuivo od intenziteta saobraaja u sistemu,
odnosno od odnosa prosjenog usluivanja i prosjenog pristizanja.
Na osnovu zadnje jednakosti mogu se izvesti i drugi parametri performansi za M//1
sisteme. Na primjer, prosjean broj poslova u sistemu se dobija izraunavanjem
oekivane vrijednosti parametra n:

Korespondirajua varijansa za dobijeni broj poslova u sistemu je:

Iz Little-ovog zakona je poznato da je prosjean broj poslova u sistemu proizvod


prosjenog odzivnog vremena sistema i prosjenog pristizanja. Na osnovu toga moe se
dobiti prosjeno vrijeme odziva:

Poto se najvie jedan posao moe usluivati u bilo kom trenutku, prosjean broj
poslova koji ekaju u redu moe se izraunati na sljedei nain:

Korespondirajue prosjeno vrijeme koje posao provede ekajui u redu ekanja je


jednostavno izraunati ako se primjeti da je ukupno vrijeme koje posao provede u
sistemu zapravo vrijeme odziva. Na osnovu toga slijedi da je prosjeno vrijeme koje
posao provede u redu ekanja jednako razlici ukupnog vremena koje provede u sistemu i
prosjenom vremenu za koje se posao uslui (1/):

Konano, vjerovatnoa da se u sistemu nalazi minimalno k poslova dobija se


sumiranjem vjerovatnoa Pk, Pk+1, Pk+2,... :

Koritenjem svih dobijenih rezultata, mogu se napraviti neki uopteni komentari o


performansama sistema sa jednim redom ekanja. Prvo, server je zauzet kada se u

67
Performanse raunarskih sistema - skripta

sistemu nalazi jedan ili vie poslova. Na osnovu toga, problem izraunavanja utilizacije
servera se svodi na problem raunanja vjerovatnoe da se u sistemu nalazi minimalno
jedan posao. Jedan od naina na koji se moe izraunati utilizacija servera je:

Zanimljivo je primjetiti da je identian rezultat dobijen i u utilizacionom zakonu u


operacionalnoj analizi.
Slika 4.8 pokazuje kako se prosjean broj poslova u redu ekanja mijenja kao funkcija
utilizacije servera. Na poetku se veliina reda sporo poveava sa poveavanjem
utilizacije servera. Meutim, kada utlilizacija dostigne 80%, veliina reda ekanja poinje
masovno da se poveava. Ako se utilizacija i dalje poveava, broj poslova u redu ekanja
poinje da raste neogranieno. Na osnovu jednaine dobijene za vrijeme odziva sistema,
r, primjetno je da e i to vrijeme poeti neogranieno da raste kada se utilizacija bude
pribliila 100%.
Na osnovu prethodnog razmatranja, moe se zakljuiti da je neophodno odravati
utilizaciju servera ispod 70%.

Slika 4.8 Rast broja poslova u redu ekanja kao funkcija od utilizacije servera

Primjer. Mjere se vremena izmeu zahtjeva prema web serveru i zakljuuje se da


ona prate eksponencijalnu raspodjelu sa srednjim vremenom izmeu dva zahtjeva od
8 ms. Vrijeme koje je potrebno serveru da procesira svaki zahtjev je takoe priblino
eksponencijalno rasporeeno sa prosjenim vremenom usluivanja od priblino 5 ms.
a) Koje je prosjeno vrijeme odziva prema korisnicima koji alju zahtjeve prema
ovom serveru?

68
Performanse raunarskih sistema - skripta

Poto jedan zahtjev dolazi po svakih 8 ms, dobija se da je


= 0.125 zahtjeva / ms. Na slian nain se zakljuuje da je = 0.2 posla / ms.
Na osnovu zadnje dvije dobijene veliine dobija se da je utilizacija servera
= 0.125 / 0.20 = 0.625. Drugim rijeima, server prosjeno radi sa 62.5% od
maksimalnog kapaciteta. Prosjeno vrijeme odziva je onda:
R = 1 / [ (1 )] = 1 / [0.20 (1 0.625)] = 13.33 ms.
b) Koliko puta bre server mora da procesira zahtjeve da bi se prosjeno vrijeme
odziva prepolovilo?
Ako se pretpostavi da je broj dolazeih zahtjeva u vremenu ostao isti, elja je da
se prosjeno vrijeme odziva prepolovi na 13.33 / 2 = 6.67 ms. Poznato je da je:

Rearaniranjem prethodnog izraza nalazi se da je potrebno da prosjeno


usluivanje bude u broju poslova u milisekundi:

Dobijena vrijednost je 37.5% vea od brzine na postojeem serveru. To znai da


se poveavanjem performansi servera za 37.5% prosjeno vrijeme odziva duplo
smanjuje.

69
Performanse raunarskih sistema - skripta

5. INTERPRETACIJA REZULTATA MJERENJA


4B

Nakon dobijenih rezultata mjerenja performansi raunarskog sistema, neophodno je


da se ti rezultati interpretiraju na odgovarajui nain. Kao glavno sredstvo za ovu svrhu
koriste se statistike tehnike. Dat je pregled srednjih vrijednosti, uticaj greaka mjerenja
na konane rezultate, nain poreenja dvije i vie alternativa, kao i linearnog
regresionog modela kao jednog od naina za predvianje budueg ponaanja sistema.

5.1. Srednje vrijednosti i varijabilnost


33B

Performanse raunarskih sistema su multidimenzionalne. Na osnovu toga, moe se


zakljuiti da je sumiranje sveukupnih performansi sistema jednim brojem prilino
nezahvalan posao. Na primjer, raunarski sistem moe biti optimizovan za izvravanje
nekih tipova programa. Meutim, ova specijalizacija moe da prouzrokuje da se neki
drugi tipovi programa izvravaju sa veoma loim performansama. Poto e mjerenje
vremena izvravanja razliitih programa na takvim sistemima rezultovati irokim
spektrom vrijednosti, pokuaj sumiranja performansi jednom srednjom vrijednou
moe da prouzrokuje zakljuke koji vode u pogrenom smjeru.
Ipak, bez obzira na sve argumente, u ljudskoj prirodi je da ele da porede razliite
raunarske sisteme na jednostavan nain. Na osnovu toga, postoji jak pritisak da se
performanse raunarskog sistema redukuju na jedan broj koji e na neki nain obuhvatiti
sve esencijalne aspekte sistema. Iako ovo predstavlja skoro nemogu zadatak, srednje
vrijednosti se mogu iskoristiti za neku vrstu grubog poreenja. Samim tim, bitno je
razumjeti kako pravilno izraunati odgovarajuu vrstu srednje vrijednosti i prepoznati
kada je srednja vrijednost pogreno izraunata ili kada se koristi na neodgovarajui
nain.
Postoje tri razliita indeksa centralne tendencije koji se koriste za sumiranje razliitih
mjerenja: mean, median i mode vrijednosti.
1. Aritmetika sredina (eng. mean)
Predstavlja najee koriten indeks centralne tendencije. Ovaj indeks je
aproksimacija prave srednje vrijednosti sluajnog procesa koji se mjeri. Prava
srednja vrijednost se nikada ne moe direktno izraunati poto bi za njeno
izraunavanje bio potreban beskonaan broj mjerenja. Samim tim, aritmetika
sredina predstavlja najbolji nain njene aproksimacije. U sljedeoj sekciji e se
opisati tehnike koje pokazuju koliko je dobijena sredina zapravo blizu prave
srednje vrijednosti. Formula za izraunavanje aritmetike sredine u sluaju n
mjerenja je:

70
Performanse raunarskih sistema - skripta

2. median
Jedna od karakteristika aritmetike sredine je davanje jednake vanosti svakom
od mjerenja. Kao posljedica te osobine, jedna izmjerena vrijednost koja
znaajno odstupa od ostalih, popularno nazvana outlier, moe znaajno da
utie na izraunatu vrijednost. Koritenje median vrijednosti sprijeava ovu
neeljenu pojavu. Naime, pri raunanju ove vrijednosti se sve izmjerene
vrijednosti prvo sortiraju i onda se uzima vrijednost u sredini. U sluaju da je
izmjeren paran broj vrijednosti, uzima se srednja vrijednost centralne dvije.
3. mode
Ovaj indeks predstavlja vrijednost koja se najee pojavljuje. Zanimljivo je
primjetiti da ova vrijednost ne mora uvijek da postoji, i to u sluajevima kada
nijedna vrijednost nije izmjerena vie puta od drugih. Mode vrijednost je
pogodna kada se sumiraju kategorini podaci. U tom sluaju nema smisla traiti
neku kvantitativnu srednju vrijednost.

Opisani indeksi predstavljaju samo oblike aritmetike sredine. Osim nje, postoje jo i
harmonijska i geometrijska sredina. Na odreeni skup mjerenja se moe primjeniti bilo
koja od navedene tri sredine. Meutim, bitno je odabrati pravu sredinu u odgovarajuoj
situaciji. Na primjer, ako se mjere vremena izvravanja, onda rezultujua srednja
vrijednost treba da bude direktno proporcionalna ukupnom izmjerenom vremenu. To
znai da poveavanje vremena izvravanja n puta treba da prouzrokuje i da se srednja
vrijednost povea n puta. Suprotno tome, srednja vrijednost dobijena sumiranjem
odnosa (broj operacija u jedinici vremena) treba da bude inverzno proporcionalna
ukupnom izmjerenom vremenu. To znai da poveavanje vremena izvravanja n puta
treba da prouzrokuje da se srednja vrijednost smanji n puta.
Kroz narednu diskusiju koristie se sljedee pretpostavke. Mjeri se vrijeme
izvravanja n benmark programa na istom sistemu. Dobijena vremena se oznaavaju sa
Ti, gdje je 1 i n. Dalje, pretpostavlja se da je ukupan posao koji odradi svaki od
benmark programa konstantan. Specificira se da svaki od benmark programa izvrava
F floating-point operacija. Na osnovu toga prosjena brzina benmark programa i iznosi
Mi = F / Ti floating-point operacija u sekundi.

5.1.1. Aritmetika sredina


66B

Aritmetika sredina se definie kao to je prethodno navedeno:

71
Performanse raunarskih sistema - skripta

U gornjoj formuli vrijednosti xi predstavljaju pojedinana mjerenja. Po zadatim


pretpostavkama xi predstavlja Ti, pa slijedi da je prosjeno vrijeme izvravanja:

Zadnja jednaina daje vrijednost koja je direktno proporcionalna ukupnom vremenu


izvravanja. Na osnovu toga slijedi da je aritmetika sredina pravo sredstvo za sumiranje
vremena izvravanja. Meutim, ako se aritmetika sredina koristi za sumiranje odnosnih
vrijednosti dobija se:

Zadnja jednaina govori da je prosjena vrijednost inverzno proporcionalna sumi


vremena izvravanja to se kosi sa logikom ove vrijednosti. Zakljuak je da aritmetika
sredina nije pogodna za sumiranje odnosnih veliina.

5.1.2. Harmonijska sredina


67B

Harmonijska sredina se definie kao:

Vrijednosti xi imaju isto znaenje kao kod aritmetike sredine. Ako se ova vrijednost
koristi za sumiranje vremena izvravanja (xi = Ti), dobija se sljedei izraz:

Dobijena vrijednost oigledno nije direktno proporcionalna ukupnom vremenu


izvravanja, to se kosi sa svojstvima dobrih metrika. Lako je zakljuiti da harmonijska
sredina nije pogodna za sumiranje vremena izvravanja.
Sa druge strane, dobija se da je harmonijska sredina pogodna za sumiranje odnosnih
veliina, gdje je xi = Mi = F / Ti :

Dobijena vrijednost, koja predstavlja ukupan broj operacija izvedenih u svim


benmark programima podijeljen sa sumom svih vremena izvravanja, oigledno je
inverzno proporcionalna ukupnom vremenu izvravanja. Na osnovu toga slijedi da je
harmonijska sredina pogodna za sumiranje mjerenja odnosnih veliina.
Primjer izraunavanja aritmetike i harmonijske sredine dat je u tabeli 5.1:

72
Performanse raunarskih sistema - skripta

Tabela 5.1 Izraunavanje aritmetike i harmonijske sredine

5.1.3. Geometrijska sredina


68B

Geometrijska sredina se definie kao n-ti korijen proizvoda n pojedinanih xi


vrijednosti:

Geometrijska sredina, kao to e se pokazati u nastavku teksta, nije pogodna za


sumiranje ni vremena ni odnosnih veliina.
Za glavnu prednost geometrijske sredine se smatra odravanje konzistentnih odnosa
izmeu mjerenih alternativa bez uticaja od izbora baze koja se koristi za normalizaciju. U
tabeli 5.2 je prikazan primjer mjerenja tri razliita sistema uz prikaz odgovarajuih
geometrijskih sredina. Na osnovu njih se zakljuuje da sistem S3 pokazuje najbolje
performanse, slijedi ga sistem S2, a najslabiji je sistem S1. U tabeli 5.3 su prikazani isti
sistemi, ali normalizovani tako da je sistem S1 posluio kao baza, a u tabeli 5.4 sistem S2
je posluio kao baza. Oigledno je da je rangiranje sistema po peformansama stvarno
konzistentno.

Tabela 5.2 Izraunavanje geometrijske sredine na tri razliita sistema

73
Performanse raunarskih sistema - skripta

Tabela 5.3 Prikaz geometrijskih sredina normalizovanih prema sistemu S1

Tabela 5.4 Prikaz geometrijskih sredina normalizovanih prema sistemu S2

Naalost, iako koritenje geometrijske sredine rezultuje konzistentnim rangiranjem


poreenih sistema, samo rangiranje je pogreno. Ako se primjeni aritmetika sredina na
istim sistemima, dobija se potpuno drugaiji poredak, to je uoljivo iz tabele 5.5.
Aritmetikoj sredini treba vjerovati u ovom sluaju zbog filozofije sistema. Zakljuak je da
je geometrijska sredina konzistentno pogrena.

Tabela 5.5 Prikaz aritmetikih sredina u cilju pokazivanja da geometrijska sredina nije
odgovarajua za sumarizaciju ni vremena ni odnosnih veliina

74
Performanse raunarskih sistema - skripta

Lako je i formalno pokazati zbog ega geometrijska sredina rezultuje pogrenim


poretkom sistema kada se koristi za izvoenje prosjenih vremena izvravanja. U ovom
sluaju, kada je xi = Ti, dobija se:

Vrijednost oigledno nije direktno proporcionalna ukupnom vremenu izvravanja.


Slino, izvoenjem prosjene vrijednosti za odnosne veliine dobija se:

Ovaj izraz nije inverzno proporcionalan ukupnom vremenu izvravanja. Oigledno je


da obe dobijene vrijednosti kre karakteristike dobrih metrika.

5.1.4. Kvantifikovanje varijabilnosti

Iako su srednje vrijednosti korisne u smislu da sumiraju velike koliine podataka


jednim brojem, one ipak kriju detalje o raspodjeli sumiranih podataka. esto je ta
raspodjela, popularno nazvana varijabilnost, interesantnija od srednje vrijednosti. Na
primjer, podaci sa dva dijagrama na slici 5.1 imaju priblino istu srednju vrijednost iako
im se raspodjele u potpunosti razlikuju.

Slika 5.1 Problem kvantifikovanja varijabilnosti

Najbolji nain za predstavljanje varijabilnost je varijansa. Varijansa se definie kao:

Ova vrijednost zavisi od udaljenosti svakog mjerenja od srednje vrijednosti. Suma


ovih udaljenosti se dijeli sa n 1 zato to je samo n 1 svih mjerenja nezavisno. To znai

75
Performanse raunarskih sistema - skripta

da se rezultat n-tog mjerenja moe izraunati ako su poznati rezultati ostalih n 1


mjerenja i srednja vrijednost. Kae se da je broj stepeni slobode u prethodnoj jednaini
n 1. Meutim, problem u izraunavanju varijanse pomou prethodne jednaine je to
se mora dva puta proi kroz skup vrijednosti poto je neophodno poznavati srednju
vrijednost da bi se izraunala varijansa. Zbog toga se moe koristiti i sljedei oblik
jednaine za raunanje varijanse:

Problem koritenja varijanse moe da predstavlja nemogunost poreenja sa


srednjom vrijednou poto vrijednost varijanse predstavlja kvadrat jedinice kojom se
vri mjerenje. Za navedeno poreenje je pogodna standardna devijacija, koja zapravo
predstavlja kvadratni korijen varijanse:

Konano, koeficijent varijacije (eng. coefficient of variation, COV) eliminie problem


pojedinih jedinica normalizujui standardnu devijaciju sa srednjom vrijednou. COV
predstavlja bezdimenzionalnu veliinu i definie se kao:

5.2. Greke u eksperimentalnim mjerenjima


34B

U pokuaju mjerenja i razumijevanja performansi raunarskih sistema, postoji


konstantna suoenost sa sutinskim detaljima stvarnog svijeta koji unose nesigurnost u
izvrena mjerenja. Te nesigurnosti se popularno nazivaju greke ili um. Da bi se odredilo
koliko nesigurnosti postoji u izvrenim mjerenjima, neophodno je da se koriste statistiki
alati i tehnike radi kvantifikovanja greaka.
Svaki alat za mjerenje (na primjer, tajmer za mjerenje vremenskih intervala) ima tri
bitne karakteristike:
tanost
Tanost predstavlja razliku izmeu izmjerene vrijednosti i odgovarajue
referentne vrijednosti.
preciznost
Preciznost se odnosi na ponavljajui efekat mjerenja. Moe se i obrnuto
definisati. Nepreciznost predstavlja koliko su iroko razbacane vrijednosti

76
Performanse raunarskih sistema - skripta

mjerenja odreene karakteristike sistema koji se mjeri. Slijedi da je veoma


precizan skup mjerenja grupisan oko jedne take, a da je nepreciznost vea to
su pojedinana mjerenja vie rairena.
rezolucija
Rezolucija predstavlja najmanju inkrementalnu promjenu koja moe da se
detektuje i prikae. Konana rezolucija mjernog alata unosi kvantizacijsku
greku u izmjerene vrijednosti.

Kao uvid u razliku izmeu tanosti i preciznosti, moe se posmatrati slika 5.2.
Preciznost skupa mjerenja se ogleda u rairenosti mjerenja oko dobijene srednje
vrijednosti. Tanost, sa druge strane, predstavlja razliku izmeu dobijene srednje
vrijednosti i nepoznate prave srednje vrijednosti. Lako je primjetiti da netana
mjerenja mogu biti savreno precizna u sluaju male rairenosti izmjerenih vrijednosti od
dobijene srednje vrijednosti koja je znatno udaljena od prave srednje vrijednosti.

Slika 5.2 Razlika izmeu tanosti i preciznosti

Za kvantifikovanje preciznosti skupa mjerenja uglavnom se koristi varijansa.


Kvantifikovanje tanosti mjerenja nije toliko jednostavno. Na primjer, kvantifikovanje
tanosti tajmera bi zahtijevalo kalibraciju sa standardnim mjerenjem vremena. Umjesto
toga, jednostavno se vjeruje tanosti alata, a preciznost se kvantifikuje pomou intervala
povjerenja, koji e biti opisani kasnije u ovoj glavi.
Kao posljedica mnogih faktora, kako deterministikih tako i nederministikih, razliita
mjerenja istog dogaaja mogu da produkuju razliite rezultate mjerenja. Sa take
gledita analitiara performansi, sva razlilita mjerenja predstavljaju procjenu prave
srednje vrijednosti. Razlike izmeu tih mjerenja se ne mogu predvidjeti i moraju se
tretirati kao greke u mjerenjima.
Korisno je klasifikovati sve razliite izvore greaka u dvije velike klase sistematske i
sluajne greke. Sistematske greke su posljedica neke greke u eksperimentu (na

77
Performanse raunarskih sistema - skripta

primjer, promjena u eksperimentalnom okruenju ili nekorektna procedura). Ova klasa


greaka je uglavnom konstantna kroz sva mjerenja ili sporo varira u vremenu. Ove greke
utiu na tanost izvrenih mjerenja. Kontrolisanje i eliminisanje sistematskih greaka je
zadatak izvodilaca eksperimenta i veinom zavisi od njihovih vjetina. Sa druge strane,
sluajne greke su u potpunosti nepredvidive, nedeterministike i ne mogu se
kontrolisati. Takoe, sluajna greka moe sa jednakom vjerovatnoom i poveati i
smanjiti rezultat mjerenja.
Iako je nemogue predvidjeti efekat pojedinih izvora sluajnih greaka, mogue je
razviti statistiki model pomou kojeg bi se opisao njihov ukupan efekat na
eksperimentalne rezultate, odnosno pomou kojeg bi se kvantifikovala preciznost
izvrenih mjerenja.
Za sluajne greke se pretpostavlja da prate Gausovu raspodjelu. To znai da, ako se
izvri vie mjerenja iste veliine, ova mjerenja e da budu centrirana oko srednje
vrijednosti. U nastavku teksta je predstavljen jednostavan model greaka pomou kojeg
bi se na neki nain dokazalo zbog ega je razumno pretpostaviti da mjerenja prate
Gausovu raspodjelu.
Na poetku, pretpostavka je da jedan izvor sluajnih greaka moe da promijeni
mjerenu vrijednost za +E ili E sa jednakom vjerovatnoom. Ovo znai da e taj izvor
sluajnih greaka prouzrokovati da se vrijednost x + E izmjeri u pola mjerenja, a
vrijednost x E u drugoj polovini. Ako postoje dva takva izvora sluajnih greaka, onda
postoje etiri mogue kombinacije djelovanja greke na izmjerenu vrijednost. Kao to je
prikazano u tabeli 5.6, ove etiri kombinacije rezultuju u tri mogua ishoda poto se neke
greke meusobno ponitavaju.

Tabela 5.6 Dva izvora sluajnih greaka

Ako se sad razmatranje generalizuje sa dva na n izvora sluajnih greaka, dobija se


dijagram na slici 5.3. Poto postoji n izvora sluajnih greaka, potencijalan opseg
vrijednosti koje mogu da se izmjere je [x nE, x + nE], i to sa korakom od 2E izmeu
svake od moguih n + 1 vrijednosti. Takoe, poto se do nekih ishoda moe doi
razliitim putanjama, nisu sve mogue vrijednosti jednako vjerovatne. Lako je pokazati
da ova raspodjela predstavlja binomnu. Dalje, kako n vie raste, binomna raspodjela se
pribliava Gausovoj raspodjeli.

78
Performanse raunarskih sistema - skripta

Slika 5.3 Model sluajnih greaka

5.2.1. Kvantifikovanje greaka


69B

Kao to je ranije navedeno, veoma je teko kvantifikovati tanost mjerenja.


Meutim, kvantifikovanje preciznosti se moe vriti koritenjem intervala povjerenja.

Intervali povjerenja za srednju vrijednost

Ako se raspodjela sluajnih greaka u vrenim mjerenjima moe aproksimirati


Gausovom raspodjelom, mogu se iskoristiti jedinstvene karakteristike te raspodjele radi
utvrivanja koliko je blizu dobijena procijenjena srednja vrijednost u odnosu na pravu
srednju vrijednost koja se eli utvrditi. U ovu svrhu se koriste statistiki intervali
povjerenja da bi se naao opseg vrijednosti koji ima odreenu vjerovatnou da se u
njemu nalazi prava srednja vrijednost.

Prvi sluaj : broj mjerenja je velik (n 30)

Aritmetika sredina n mjerenja (x) se uglavnom koristi kao najbolja aproksimacija


prave srednje vrijednosti x. Ako su sva mjerenja (x1, x2, ... , xn) nezavisna i dolaze iz iste
populacije sa srednjom vrijednou i standardnom devijacijom , centralna granina
teorema garantuje da za dovoljno velike vrijednosti n (uglavnom se pretpostavlja da je
broj mjerenja dovoljno velik ako je vei ili jednak od 30) aritmetika sredina x prati
Gausovu raspodjelu sa srednjom vrijednou i standardnom devijacijom / n . U
ovom sluaju se pretpostavlja da predstavlja pravu vrijednost x koja je cilj mjerenja.
Da bi se kvantifikovala preciznost skupa mjerenja, cilj je pronalaenje dvije
vrijednosti, c1 i c2, takvih da se sa vjerovatnoom od 1 moe rei da se prava srednja

79
Performanse raunarskih sistema - skripta

vrijednost koja se eli izmjeriti nalazi izmeu ove dvije vrijednosti. Ova vjerovatnoa
predstavlja povrinu ispod krive izmeu vrijednosti c1 i c2 sa slike 5.4. To se moe iskazati
sljedeom jednainom:

Tipino se vrijednosti za c1 i c2 uzimaju tako da formiraju simetrian interval tako da


je:

Interval [c1, c2] se naziva interval povjerenja za srednju vrijednost x, a (1 )*100 se


naziva nivo povjerenja. Sljedea normalizacija transformie x da prati Gausovu
raspodjelu sa srednjom vrijednou = 0 i varijansom 2 = 1:

Primjenom centralne granine teoreme dobija se da je:

U gornjim jednainama x predstavlja aritmetiku sredinu, s standardnu devijaciju, n


broj mjerenja, a z1-/2 je vrijednost koja se iitava iz tabele u dodatku na kraju skripte.

Slika 5.4 Interval povjerenja

Drugi sluaj : broj mjerenja je malen (n < 30)

Kada je broj mjerenja vei od 30, varijansa s2 predstavlja dobru procjenu prave
varijanse raspodjele 2. Meutim, ovo ne vai kada je broj mjerenja manji od 30.
Pokazuje se da raspodjela normalizovane vrijednosti t sada prati t distribuciju sa n 1
stepeni slobode. U tom sluaju formule za c1 i c2 su:

80
Performanse raunarskih sistema - skripta

Jedina razlika u odnosu na formule dobijene kada je n 30 je to se sad uzimaju


vrijednosti iz tabele t raspodjele u prilogu A. t raspodjela je slina Gausovoj raspodjeli i
one postaju identine kada je broj mjerenja velik. Iz tog razloga, zadnji red u tabeli t
raspodjele oznaen sa predstavlja vrijednosti Gausove raspodjele za odgovarajuu
vjerovatnou.

Primjer. Treba odrediti prosjeno vrijeme upisivanja fajla odreene veliine na disk.
Osam mjerenja su produkovala sljedee vrijednosti: 8.0, 7.0, 5.0, 9.0, 9.5, 11.3, 5.2 i 8.5.
Takoe treba odrediti interval povjerenja za dobijenu srednju vrijednost da bi se
kvantifikovala preciznost mjerenja.
Suma svih mjerenja i aritmetika sredina su jednaki:

Vrijednost sume kvadrata mjerenja koja je potrebna za raunanje standardne


devijacije je:

Na osnovu toga dobija se da je standardna devijacija:

Ako se izabere 90%-tni interval povjerenja, slijedi da je = 0.10. Poto je izvreno 8


mjerenja, mora se koristiti t raspodjela sa 7 stepeni slobode. Iz tabele t raspodjele dobija
se da je:

Ako se dobijene vrijednosti uvrste u jednaine za granice intervala povjerenja, za c1 i


c2 dobija se:

81
Performanse raunarskih sistema - skripta

Na slian nain se mogu dobiti vrijednosti i za 95%-tni interval povjerenja:

Zakljuak je da postoji vjerovatnoa od 90% da se prava srednja vrijednost upisivanja


fajla na disk nalazi u intervalu (6.5, 9.4). Takoe, postoji vjerovatnoa od 95% da se prava
srednja vrijednost upisivanja fajla na disk nalazi u intervalu (6.1, 9.7). Konano, ako se
izraunaju vrijednosti za 99%-tni interval povjerenja, dobija se interval povjerenja
(5.3, 10.6).

Neophodno je razrijeiti konfuziju koja moe da nastane kao posljedica


nerazumijevanja ta zapravo pokazuje interval povjerenja. Iz prethodnog primjera je
jasno da sa poveavanjem nivoa povjerenja interval povjerenja postaje iri! iri interval
na prvi pogled implicira da se sada posjeduje manje znanja o pravoj srednjoj vrijednosti
nego to se posjedovalo sa manjim nivoom povjerenja. Sa poveavanjem nivoa
povjerenja, preciznost se oigledno smanjuje.
Kontradikcija dolazi kao posljedica nerazumijevanja ta zapravo pokazuje interval
povjerenja. 90%-tni interval povjerenja, na primjer, znai da postoji 90%-tna
vjerovatnoa da se prava srednja vrijednost nalazi unutar dobijenog intervala.
Poveavanje nivoa na 95% znai da se poveava vjerovatnoa da se prava srednja
vrijednost zapravo nalazi u dobijenom intervalu. Poto se vrijednosti mjerenja na osnovu
kojih se dolo do intervala nisu mijenjale, iste informacije ne mogu da doprinesu veoj
preciznosti. Na osnovu toga, jedini nain da se povea vjerovatnoa da se prava srednja
vrijednost nalazi u novom intervalu je da se on proiri. Interval se dalje mora proirivati
ako se eli da se sa vjerovatnoom od 99% prava srednja vrijednost nalazi u dobijenom
intervalu. Drugim rijeima, interval se mora proiriti ako postoji elja da se osigura da sa
1%-tnom vjerovatnoom moe rei da prava srednja vrijednost nije u intervalu.

Primjer. Pravi se eksperiment u kojem se nasumino generie broj izmeu 0 i 1000


trideset puta i pravi se interval povjerenja sa nivoom povjerenja od 90% za dobijenu
srednju vrijednost. Ako se eksperiment ponavlja 2000 puta, koliko e puta interval
povjerenja sadravati pravu srednju vrijednost (500)? Koliko intervala povjerenja e
obuhvatati pravu srednju vrijednost ako smanjimo povjerenje na 60%?

82
Performanse raunarskih sistema - skripta

Interval povjerenja e sadravati pravu srednju vrijednost 1800 puta. Oigledno je da


interval povjerenja zapravo pokazuje u kolikom e procentu od ukupnog broja izvoenja
eksperimenta prava srednja vrijednost biti u intervalu povjerenja. U sluaju smanjivanja
nivoa povjerenja na 60%, suzie se i interval povjerenja i prava srednja vrijednost e se u
ovom sluaju nai 1200 puta u dobijenom intervalu povjerenja.

Odreivanje broja potrebnih mjerenja

Iz formule za izraunavanje intervala povjerenja moe se vidjeti da je irina intervala


inverzno proporcionalna kvadratnom korjenu broja izvrenih mjerenja. Poto se obino
eli redukovati broj potrebnih mjerenja, navedena formula se moe iskoristiti za
utvrivanje koliko mjerenja je potrebno da bi se dobio interval povjerenja specifine
irine.
Pretpostavka je da se eli utvrditi interval povjerenja za x tako da postoji
vjerovatnoa od 1 da se prava srednja vrijednost x nalazi unutar intervala
(c1, c2) = ((1 e) x, (1 + e) x). Tada se dobija da je:

Poto c1 i c2 formiraju simetrian interval, moe se iskoristiti bilo koja od gornjih


jednaina da se dobije da je:

Ako se iz gornje jednaine izrazi n, dobija se:

Primjetno je da je preduslov za koritenje dobijene jednaine poznavanje standardne


devijacije, s. Meutim, da bi se s odredilo mora se prvo izvriti nekoliko mjerenja. Na
osnovu toga, procedura je da se prvo izvri nekoliko mjerenja radi odreivanja pribline
vrijednosti s. Zatim se dobijeni rezultat koristi u gornjoj jednaini.

Primjer. U primjeru sa upisivanjem fajla na disk, naeno je da je prosjeno vrijeme


upisivanja 7.94s sa standardnom devijacijom od 2.14s. Potrebno je odrediti koliko
mjerenja je potrebno ako je potrebna uvjerenost od 90% da je prava srednja vrijednost
unutar 7% dobijene srednje vrijednosti.
Za 90%-tni interval povjerenja, poznato je da je = 0.10, pa je 1 /2 = 0.95.
Dodatno, ako prava srednja vrijednost treba da bude unutar 7% dobijene, slijedi da je

83
Performanse raunarskih sistema - skripta

dozvoljena greka od +-3.5%. Iz toga slijedi da je e = 0.035. Na osnovu jednaine za broj


potrebnih mjerenja dobija se:

Iz dobijenog rezultata zakljuuje se da je potrebno priblino 213 mjerenja da bi


postojala 90%-tna sigurnost da je prava vrijednost u +-3.5%-tnom intervalu. Primijetiti da
je u zadnjem raunanju umjesto vrijednosti z raspodjele uzeta vrijednost t raspodjele sa
n-1 stepeni slobode poto su se koristili aritmetika sredina i devijacija koji su dobijeni na
osnovu samo 8 mjerenja.

Intervali povjerenja za proporcije

esto se u raunarskim sistemima koriste vrijednosti koje daju informaciju o


procentu od ukupnog vremena u kojem se deavao neki dogaaj. U ovom sluaju je
neophodno utvrditi interval povjerenja za proporciju p, gdje p predstavlja odnos broja
koliko se puta desio eljeni dogaaj (m) i ukupnog broja zabiljeenih dogaaja (n):
p = m / n.
Binomna raspodjela sa parametrima p i n ima srednju vrijednost pn i varijansu
p(1 p)n. Ako je np 10, binomna raspodjela se moe aproksimirati Gausovom sa
srednjom vrijednou p n i varijansom p (1 p )n. Slinim izvoenjem kao u jednoj od
prethodnih sekcija dobija se da je:

Primjer. Raunarski sistem izvrava nekoliko korisnikih programa i instrukcije


operativnog sistema. Treba da se odredi koliko vremena procesor provede izvravajui
instrukcije operativnog sistema u odnosu na vrijeme koje provede izvravajui korisnike
programe. Da bi se izvrilo mjerenje, sistem se konfigurie da alje prekid procesoru
svakih 10 ms. Rutina za servisiranje prekida odrava dva brojaa. Jedan od njih, n,
inkrementuje se svaki put kada se izvri prekid. Rutina svaki put kada se prekid desi na
osnovu adrese na steku odreuje da li se izvravao operativni sistem kada se desio
prekid. Ako je odgovor potvrdan, inkrementuje se drugi broja, m. Nakon izvravanja
opisanog eksperimenta u intervalu od 1 minute dobijene su vrijednosti m = 658 i
n = 6000.
Na osnovu dobijenih podataka jednostavno je odrediti da je p = m / n = 0.1097. Ako
se za ovu vrijednost primjeni 95%-tni inteval povjerenja, dobija se:

84
Performanse raunarskih sistema - skripta

Slijedi da je interval povjerenja (0.1018, 0.1176). Znai, sa 5%-tnom vjerovatnoom


da se grijei, moe se rei da procesor provede 10.2 11.8% svog vremena izvravajui
instrukcije operativnog sistema.

Odreivanje broja potrebnih mjerenja

Iz istih razloga kao i kod prolog odreivanja broja potrebnih mjerenja, taj broj se
moe odrediti i u ovom sluaju:

Rearaniranjem prethodne jednakosti dobija se:

Rjeavanjem po n dobija se:

Kao i ranije, i ovdje je neophodno izvriti nekoliko mjerenja na poetku radi procjene
vrijednosti p.

Primjer. Koliko dugo treba izvoditi prethodni eksperiment sa operativnim sistemom,


da bi se sa 95%-tnom vjerovatnoom moglo rei da procesor izvrava instrukcije
operativnog sistema u intervalu +-0.5%?
Interval od +-0.5% daje da je e = 0.005. Ako se iskoristi dobijena vrijednost
p = 0.1097, koritenjem izvedene jednaine dobija se da je:

Poto se prekid deava svakih 10 ms, za 1,247,102 uzoraka bi bilo potrebno otprilike
vrijeme izvravanj od 3.46 h.

5.3. Poreenje alternativa


35B

Ultimativna elja je iskoritavanje dobijenih rezultata mjerenja u svrhu poreenja


komponenti dva razliita sistema ili u svrhu utvrivanja koliko je neka promjena na
jednom sistemu unaprijedila sistem. Poto um postoji u svakom mjerenju koje se izvri,

85
Performanse raunarskih sistema - skripta

potrebna je tehnika za utvrivanje da li razlika izmeu poreenih alternativa postoji


usljed sluajnih greaka u mjerenjima ili su te razlike znaajne u statistikom smislu.
Navedene tehnike se zasnivaju na intervalima povjerenja.

5.3.1. Poreenje dvije alternative


70B

Najjednostavniji pristup u koritenju intervala povjerenja je utvrivanje da li se


intervali povjerenja za dva skupa mjerenja koji se porede preklapaju. Ako se poklapaju,
nemogue je tvrditi da bilo koja razlika izmeu skupova nije zbog sluajnih greaka.
Meutim, ako se ne preklapaju, moe se zakljuiti da nema dokaza koji pokazuje da ne
postoji statistiki znaajna razlika. Naroito je zanimljiva zadnja konstrukcija. Kada se
intervali povjerenja ne preklapaju, ne moe se tvrditi sa potpunom sigurnou da postoji
prava razlika izmeu alternativa. Moe se jedino tvrditi da ne postoji razlog zbog kojeg bi
se vjerovalo da ne postoji razlika. Uvijek postoji vjerovatnoa da razlike postoje zbog
sluajnih greaka. Iako ovaj dvosmisleni zakljuak nije ba uvijek zadovoljavajui, na
nesreu je neto najbolje do ega se moe doi u ovom sluaju.
U ovoj sekciji se razmatraju tri razliita sluaja before-and-after analiza, poreenje
nekorespondirajuih ili neuparenih mjerenja i poreenje proporcija.

Before-and-after analiza

Before-and-after poreenja se uglavnom koriste za utvrivanje da li neka promjena


na sistemu ima statistiki znaajan uinak na njegove performanse (na primjer, da li se
isplati nadogradnja operativnog sistema na najnoviju verziju). Takoe, moe se koristiti
za poreenje brzina dva razliita sistema.
U svim ovim tipovima situacija, before-and-after mjerenja nisu nezavisna i varijanse
dva skupa mjerenja nisu uvijek jednake. U stvari, mjerenje iz svakog od dva skupa je
povezano sa odgovarajuim mjerenjem iz drugog skupa i s njim ini korespondirajui par.
Da bi se utvrdilo da li postoji statistiki znaajna razlika izmeu dva skupa mjerenja mora
se pronai interval povjerenja za srednju vrijednost razlika posmatranih parova. Ako ovaj
interval ukljuuje nulu, moe se zakljuiti da izmjerene razlike nisu statistiki znaajne.
Neka b1, b2, ... , bn predstavlja skup mjerenja prije (eng. before) promjene, a
a1, a2, ... , an skup mjerenja poslije (eng. after) promjene. Onda je jedino potrebno nai
interval povjerenja za srednju vrijednost n razlika (eng. differences),
d1 = a1 b1, d2 = a2 b2, ... , dn = an bn. Koritenjem ranije izvedenih relacija pod
pretpostavkom da je n 30, dobija se da je:

86
Performanse raunarskih sistema - skripta

U gornjim formulama d predstavlja aritmetiku sredinu vrijednosti di, a sd


odgovarajuu standardnu devijaciju. Ako je broj mjerenja manji od 30, z1-/2 vrijednosti
treba da se zamijene sa odgovarajuim t vrijednostima sa n 1 stepeni slobode.
Primjer. Zadatak je poreenje novog poboljanog mrenog protokola u odnosu na
postojei protokol. Poreenje se vri na osnovu mjerenja potrebnog za slanje 6 poruka
razliitih veliina, prvo preko originalnog protokola, a zatim preko novog. Poto se iste
poruke alju preko oba protokola, oigledno postoji korespondencija izmeu parova
mjerenja. Ova mjerenja zajedno sa razlikama izmeu parova su prikazani u tabeli 5.7.

Tabela 5.7 Before-and-after analiza

Nakon izraunavanja srednje vrijednosti razlika (zadnja kolona) nalazi se da je d = -1.


Standardna devijacija za skup mjerenja je sd = 4.15. Poto je izvreno manje od 30
mjerenja, mora se koristiti t raspodjela. Za nivo povjerenja od 95% iz tabele t raspodjele
nalazi se da je t1-/2;n-1 = t0.975;5 = 2.571. Na osnovu svih tih vrijednosti, pomou formule
za izraunavanje intervala povjerenja dobija se da je interval za srednju vrijednost razlika
jednak (-5.36, 3.36).
Na osnovu dobijene vrijednosti za d od -1 na prvi pogled moe se zakljuiti da je novi
protokol neto slabiji od originalnog. Meutim, poto interval povjerenja ukljuuje nulu,
moe se rei sa nivoom povjerenja od 95% da je izmjerena razlika posljedica sluajnih
greaka u mjerenju. Znai da se moe rei sa 95%-tnom vjerovatnoom da ne postoji
razlika izmeu dva komunikaciona protokola.

Nekorespondirajua mjerenja

U mnogim situacijama ne postoji direktna korespondencija izmeu parova mjerenja.


Taj broj mjerenja ak ne mora da bude ni jednak na razliitim sistemima. U ovom sluaju
mjerenja se nazivaju nekorespondirajua ili neuparena. Kao i ranije, moraju se razmotriti
dvije mogue situacije, zavisno da li je broj mjerenja manji od 30 ili ne.
Poto se vie ne moe traiti srednja vrijednost razlika izmeu parova mjerenja, trae
se srednje vrijednosti, x1 i x2, i standardne devijacije, s1 i s2, za svaki skup mjerenja
ponaosob. Onda se izrauna razlika srednjih vrijednosti kao x = x1 - x2. Moe se pokazati
da se standardna devijacija ove razlike moe izraunati kao:

87
Performanse raunarskih sistema - skripta

Sada se moe primjeniti formula za izraunavanje granica intervala povjerenja.


Njenom primjenom se dobija:

Ako interval povjerenja ukljuuje nulu, moe se zakljuiti da nema znaajne razlike
izmeu dva skupa mjerenja.
Gornje relacije vae ako je broj mjerenja u oba skupa vei ili jednak od 30. U
suprotnom sluaju z1-/2 vrijednosti treba da se zamijene sa odgovarajuim t
vrijednostima. Meutim, u tom sluaju broj stepena slobode nije jednostavno n1 + n2
2, kao to se moda moglo oekivati. Umjesto toga, broj stepena slobode se u ovom
sluaju dobija po sljedeoj formuli:

Ova vrijednost vjerovatno nee biti cijeli broj pa je treba zaokruiti na najblii takav.

Primjer. Porede se performanse dva raunarska sistema koritenjem standardnih


benmark programa. Izvreno je n1 = 8 mjerenja na prvom sistemu i n2 = 5 mjerenja na
drugom sistemu. Mjerenja su prikazana u tabeli 5.8, kao i srednja vrijednost i standardna
devijacija za oba skupa mjerenja.

Tabela 5.8 Nekorespondirajua mjerenja

88
Performanse raunarskih sistema - skripta

Na prvi pogled se ini da je sistem 2 neto bri od sistema 1. Meutim standardna


devijacija mjerenja je relativno velika u odnosu na srednje vrijednosti. Dalje, standardna
devijacija sistema 2 je vea od standardne devijacije sistema 1. Kao posljedica, mogue
je da je razlika izmeu srednjih vrijednosti zbog greaka u mjerenju, a ne zbog pravih
razlika izmeu sistema. Da bi se karakterizovala razlika, odlueno je da se konstruie
interval povjerenja sa nivoom povjerenja od 90% za razliku srednjih vrijednosti vremena
izvravanja dva sistema.
Prvo je potrebno izraunati broj stepeni slobode, n df, za ovu razliku koritenjem
odgovarajue jednaine:

Ova vrijednost se zaokruuje na 6. Nakon toga se nalazi odgovarajua vrijednost iz t


raspodjele, pa je t0.95;6 = 1.943. Razlika srednjih vrijednosti se dobija kao:

Odgovarajua standardna devijacija se dobija kao:

Na osnovu svih navedenih vrijednosti moe se izraunati da su granice intervala


povjerenja:

Poto izraunati interval povjerenja ukljuuje nulu, moe se zakljuiti da ne postoji


statistiki znaajna razlika izmeu dva sistema sa nivoom povjerenja od 90%.

Poreenje proporcija

Prilikom utvrivanja da li je razlika izmeu dvije proporcije statistiki znaajna,


eksploatie se injenica da mjerenja proporcija prate binomnu raspodjelu. Neka m 1 bude
broj koji pokazuje koliko puta se desio odgovarajui dogaaj u sistemu 1, a n1 ukupan
broj mjerenja. Iz toga slijedi da je p1 = m1 / n1. Slino se dobija i za sistem 2, p2 = m2 / n2.
Na osnovu karakteristika binomne raspodjele, dobija se da je srednja vrijednost sistema i
pin, a varijansa pi(1 pi)ni.

89
Performanse raunarskih sistema - skripta

Ako su m1 i m2 vei od 10, raspodjela ovih proporcija se moe aproksimirati na


Gausovu sa srednjom vrijednou pin i varijansom pi(1 pi)ni. Ova aproksimacija
dozvoljava koritenje istog pristupa za izvoenje intervala povjerenja za razliku srednjih
vrijednosti p1 i p2 kao kod nekorespondirajuih mjerenja. Dobija se da je:

U gornjim jednainama je p = p1 p2, a sp predstavlja standardnu devijaciju navedene


razlike. Formula za raunanje sp i u ovom sluaju predstavlja sumu pojedinanih
devijacija normalizovanih sa brojem mjerenja:

Primjer. U primjeru navedenom kod izraunavanja intervala povjerenja za proporcije


na osnovu tehnike uzorkovanja se izraunao procenat vremena koje procesor izvede
izvravajui instrukcije operativnog sistema. Konkretno, pretpostavka je bila da se prekid
vri svakih 10 ms. Odravala su se dva brojaa, jedan koji je brojao ukupan broj prekida i
drugi, koji je brojao koliko su se puta izvravale instrukcije operativnog sistema kada se
desio prekid. Nakon to je test izvravan 3.5h, dobilo se da je ukupan broj prekida
n1 = 1,300,203, a broj prekida u kojima se izvravao operativni sistem je bio m1 =
142,892. Odnos ove dvije vrijednosti, p1 = m1 / n1 = 0.1099 je procjena ukupnog dijela
vremena koje procesor provede izvravajui operativni sistem.
Sada je izvren upgrade operativnog sistema. Koritenjem tehnike poreenja
proporcija treba odrediti da li je upgrade-ovani operativni sistem efikasniji od starog.
Nakon izvravanja istog testa na novom sistemu 2h i 45 minuta dobilo se da je
m2 = 84,876 i n2 = 999,382. Na osnovu toga, dobija se da je p2 = m2 / n2 = 0.0849. Slijedi
da novi sistem provodi priblino 8.5% vremena izvravajui operativni sistem.
Razlika dvije proporcije je p = p1 p2 = 0.0250, a standardna devijacija je:

Za granice 95%-tnog intervala povjerenja dobija se da je:

Poto interval ne ukljuuje nulu, moe se zakljuiti sa 90%-tnim povjerenjem da ne


postoji dokaz koji govori da ne postoji statistiki znaajna razlika izmeu performansi dva

90
Performanse raunarskih sistema - skripta

operativna sistema. Treba obratiti panju na prethodnu konstrukciju, a pogotovo kada


interval ne ukljuuje nulu. Kao to je pomenuto ranije u glavi, ne moe se tvrditi da
postoji prava razlika izmeu alternativa. Zato je bolje rei da nema razloga da se vjeruje
u suprotno.

5.3.2. Poreenje vie od dvije alternative


71B

Naini poreenja opisani u sekciji 5.3.1. su jednostavni za razumijevanje, ali se meu


statistiarima smatraju relativno slabim metodama poreenja. Robusniji pristup
predstavlja generalna tehnika pod nazivom analiza varijanse (eng. analysis of variance,
ANOVA). ANOVA dijeli ukupnu varijaciju izmeu skupova mjerenja koji se porede u
komponentu nastalu usljed sluajnih greaka i komponentu nastalu usljed pravih razlika
izmeu alternativa. Koritenje tehnike ANOVA u svrhu poreenja vie razliitih
alternativa se naziva jednosmjerna klasifikacija ili analiza jednofaktorskih eksperimenata.

ANOVA

ANOVA predstavlja generalnu tehniku za dijeljenje ukupne varijacije izmeu skupova


mjerenja u smislene komponente. U ovoj analizi se pretpostavlja da su greke u
mjerenjima razliitih alternativa nezavisne i da prate Gausovu raspodjelu. Dalje se
pretpostavlja da su varijanse greaka mjerenja iste u svim alternativama. ANOVA
razdvaja ukupnu varijaciju u dvije komponente:
1. varijaciju koja se posmatra unutar svakog pojedinanog sistema, za koju se
pretpostavlja da je izazvana iskljuivo grekama u mjerenjima,
2. varijaciju izmeu razliitih sistema.

Cilj je utvrditi da li je magnituda druge komponente znaajno vea od magnitude


prve komponente u statistikom smislu. Drugim rijeima, cilj je utvrditi da li razlika
izmeu alternativa potie od pravih razlika izmeu njih ili zbog greaka u mjerenju.
Da bi se odgovorilo na postavljeno pitanje, pravi se n mjerenja svake od k alternativa.
Pogodno je organizovati svih kn mjerenja na nain kao u tabeli 5.9, gdje yij predstavlja i-
to mjerenje izvreno na j-toj alternativu. Srednje vrijednosti kolona u tabeli
(y.1, y.2, ..., y.j, ..., y.k) predstavljaju prosjene vrijednosti svih mjerenja unutar jedne
alternative. To se moe zapisati kao:

91
Performanse raunarskih sistema - skripta

Tabela 5.9 ANOVA

Ukupna srednja vrijednost, y.., predstavlja srednju vrijednost svih mjerenja izvrenih
na svim alternativama:

Sada je korisno zapisati svako mjerenje, yij, kao sumu srednje vrijednosti svih
mjerenja izvrenih na alternativi j, y.j, i vrijednosti eij, koja predstavlja razliku tog
mjerenja od srednje vrijednosti kolone:

Dalje, ova ideja se moe proiriti da bi se svaka srednja vrijednost kolone


reprezentovala kao suma ukupne srednje vrijednosti, y.., i razlike srednje vrijednosti
kolone i ukupne srednje vrijednosti. Ako se ta razlika oznai sa j, dobija se:

Ako se prola jednaina uvrsti u pretprolu dobija se:

Intuitivno, ovaj izraz se moe shvatiti kao pokazatelj koliko je svako mjerenje
udaljeno od ukupne srednje vrijednosti svih mjerenja. Ta udaljenost se ogleda u
horizontalnom smislu preko ostalih alternativa koritenjem vrijednosti j, i u vertikalnom
smislu preko mjerenja iste alternative koritenjem vrijednosti eij.
Vrijednosti j se nazivaju efektima odgovarajue alternative. Ove vrijednosti moraju
da ispunjavaju sljedeu osobinu:

92
Performanse raunarskih sistema - skripta

Izraavanje individualnih mjerenja na ovaj nain omoguava da se ukupna varijacija


svih mjerenja podijeli u dvije odvojene komponente: varijaciju usljed efekata alternativa
i varijaciju usljed greaka u mjerenju.
Varijacija usljed efekata alternativa, koju ne treba mijeati sa varijansom, definie se
kao suma kvadrata razlika izmeu srednjih vrijednosti mjerenja svake alternative
(srednjih vrijednosti kolona) i ukupne srednje vrijednosti svih mjerenja. Ova vrijednost,
nazvana SSA, rauna se po sljedeoj formuli:

Slino prethodnom, varijacija usljed greaka u mjerenju, oznaena SSE, rauna se kao
suma kvadrata razlika izmeu individualnih mjerenja i njihovih odgovarajuih srednjih
vrijednosti kolona:

Konano, suma kvadrata razlika izmeu svakog individualnog mjerenja i ukupne


srednje vrijednosti svih mjerenja, oznaena kao SST, rauna se kao:

Moe se pokazati da je:

Ovaj izraz pokazuje da se ukupna varijacija izmeu svih izmjerenih vrijednosti moe
podijeliti u dvije komponente SSA i SSE. Ako su razlike izmeu alternativa posljedica
pravih razlika, a ne greaka u mjerenjima, realno je oekivati da SSA bude vee u
statistikom smislu od SSE. Da bi se odredio odnos ove dvije veliine, potrebna je neka
vrsta statistikog testa.
Statistiki test koji je pogodan za primjenu u ovom sluaju naziva se F-test. Ovaj test
je baziran na F raspodjeli i bazira se na poreenju varijansi. Poto se F-test zasniva na
odnosu dvije varijanse, izraunate vrijednosti bliske jedinici e pokazivati da vjerovatno
ne postoji znaajna razlika.
Pribline varijanse veliina SSA i SSE se dobija dijeljenjem tih veliina sa brojem
stepena slobode odgovarajue veliine. Poto se poredi k alternativa, broj stepeni
slobode za SSA je k 1. Na osnovu ovoga, estimat varijanse veliine SSA je:

93
Performanse raunarskih sistema - skripta

Slino tome, estimat varijanse veliine SSE se dobija dijeljenjem vrijednosti SSE sa
brojem stepeni slobode ove komponente. Poto se na svakoj alternativi vri po n
mjerenja, svaka alternativa ima n 1 stepeni slobode. Na osnovu toga, ukupan broj
stepeni slobode za SSE je k(n 1), poto postoji k alternativa. Estimat varijanse je na
kraju:

Nije loe napomenuti da je ukupan broj stepeni slobode veliine SST kn 1 poto je
ukupno izvreno kn mjerenja. Dalje, ako se saberu broj stepeni slobode SSA i broj
stepeni slobode SSE, dobije se ba kn 1. Slijedi da je:

U gornjoj relaciji df(.) predstavlja skraenicu za broj stepeni slobodi (eng. degrees of
freedom).
Konano, F-test se rauna kao:

Ako je izraunata vrijednost vea od vrijednosti dobijene iz tabele koja se nalazi u


prilogu B, onda se moe rei da je varijacija usljed pravih razlika izmeu alternativa, SSA,
znatno vea od varijacije usljed greaka, SSE za nivo povjerenja od 1 .
Radi lakeg raunanja 3 , korisno je napisati gornje izraze na sljedei nain:
F F

Komponente ANOVA testa su sumirane u tabeli 5.10.

3
Postoji i veliki broj online ANOVA kalkulatora

94
Performanse raunarskih sistema - skripta

Tabela 5.10 Sumirani parametri tehnike ANOVA

Primjer. U svrhu poreenja k = 3 razliita raunarska sistema, mjerena su vremena


potrebna da bi svaki sistem izvrio call i return instrukcije. Koristi se ANOVA za poreenje
sistema, pa je n = 5 mjerenja svakog sistema organizovano na nain prikazan u tabeli
5.11.

Tabela 5.11 ANOVA primjer

Prvi korak u analizi je da se izraunaju sume kvadrata:

Nakon toga se raunaju dijelovi ukupne varijacije objanjeni od strane svake od


komponenata:

95
Performanse raunarskih sistema - skripta

Na osnovu dobijenih vrijednosti moe se rei da je 91.7% ukupne varijacije zbog


razlika izmeu sistema, dok je 8.3% ukupne varijacije zbog greaka u mjerenju.
Iako ovakva raspodjela varijacije sugerie da postoji znatna razlika izmeu sistema,
sljedei korak je da se primjeni F-test radi utvrivanja da li je ova razlika statistiki
znaajna. Rezultati ovog testa su prikazani u tabeli 5.12. Poto je izraunata F vrijednost
vea od F vrijednosti dobijene iz tabele moe se zakljuiti da sa nivoom povjerenja od
95% postoji statistiki znaajna razlika izmeu sistema.

Tabela 5.12 ANOVA primjer (2)

Kontrasti

Upotrebom F-testa moe se otkriti da li postoji statistiki znaajna razlika izmeu


alternativa. Meutim, ovaj test ne pokazuje gdje su te razlike ispoljene.
Radi detaljnijeg poreenja izmeu pojedinih alternativa koristi se metoda kontrasta.
Kontrast, c, predstavlja linearnu kombinaciju efekata alternativa, j:

Teinski faktori u gornjoj jednaini moraju biti izabrani tako da je:

Kontrasti se mogu iskoristiti za poreenje efekata bilo kojeg podskupa alternativa.


Na primjer, ako postoje k = 3 alternative u eksperimentu, biranjem faktora tako da je
w1 = 1, w2 = -1, w3 = 0 dobija se: c = (1)1 + (-1) 2 + (0) 3 = 1 2. Lako je primjetiti da
je i zbir faktora jednak 0. Konstruisanje odgovarajueg intervala povjerenja za dobijeni
kontrast e da odgovori na pitanje da li je efekat alternative 1 statistiki razliit od efekta
alternative 2.

96
Performanse raunarskih sistema - skripta

Teinski faktori se mogu izabrati na bilo koji nain, sve dok je zadovoljen uslov da
njihov zbir mora biti jednak 0. Meutim, najee se faktori biraju na nain da se na 1 i -1
postave faktori alternativa koje se porede, a ostali faktori se postavljaju na 0.
Formiranje intervala povjerenja se obavlja na identian nain kao kod procedure koja
je ranije pokazana. Potrebna varijansa za raunanje intervala povjerenja dobija se
koritenjem sljedee formule:

U gornjem izrazu vrijednost se2 predstavlja srednjekvadratnu greku i rauna se


pomou formule predstavljene u sekciji posveenoj tehnici ANOVA.
Interval povjerenja (c1, c2) za kontrast c dobija se koritenjem sljedeih formula:

Kao i u prethodnim situacijama, vrijednosti t raspodjele se mogu zamijeniti sa z


vrijednostima kada je broj stepeni slobode, k(n 1), vei od 30.

Primjer. Na osnovu podataka iz tabele 5.11, vidi se da su efekti tri sistema


1 = -0.1735, 2 = -0.1441, 1 = 0.3175. Ako se teinski faktori izaberu tako da je
w1 = 1, w2 = -1 i w3 = 0, dobija se kontrast za razliku izmeu efekata sistema 1 i 2, gdje je:

Standardna devijacija za sve kontraste koritenjem ovog skupa mjerenja je:

Za nivo povjerenja od 90% nalazi se da je t1-/2;k(n-1) = 1.782, pa je interval povjerenja:

Poto ovaj interval povjerenja ukljuuje nulu, zakljuuje se da ne postoji statistiki


znaajna razlika izmeu vremena potrebnih za izvravanje instrukcija call i return na
sistemima 1 i 2.
Na slian nain moe se konstruisati kontrast za razliku izmeu efekata sistema 1 i 3
postavljajui faktore na w1 = 1, w2 = 0 i w3 = -1. Dobija se da je c[1-3] = -0.4910. Za
odgovarajui 90%-tni interval povjerenja za ovaj kontrast se dobije:

Poto ovaj interval ne ukljuuje nulu, moe se zakljuiti da se ne moe rei da ne


postoji statistiki znaajna razlika izmeu ova dva sistema.

97
Performanse raunarskih sistema - skripta

5.4. Linearni regresioni model


36B

Mjerenje performansi raunarskog sistema za sve mogue ulazne kombinacije bi dalo


potpun odgovor na pitanje kako e se sistem ponaati pod odreenim uslovima.
Meutim, esto je preskupo, ako ne i nemogue, nainiti sva ta mjerenja. Umjesto toga
se dolo na ideju da se izmjere performanse sistema za ogranien broj ulaza i da se na
osnovu dobijenih rezultata razvije matematiki model koji opisuje ponaanje sistema za
odreeni opseg ulaznih vrijednosti. Nakon toga, razvijeni model se moe koristiti za
predvianje kako e se sistem ponaati za neku ulaznu vrijednost koja nije direktno
izmjerena. Razvijeni model je poznat pod nazivom regresioni model.
U sluaju da se izmjereni skup vrijednosti priblino nalazi na istoj pravoj, moe se
razviti linearni regresioni model. U ovoj vrsti modela se moe primijeniti metoda
minimizacije najmanjih kvadrata u svrhu dobijanja linearno-regresione jednaine koja e
da modeluje sistem. Oblik navedene jednaine je:

U navedenoj jednaini x predstavlja ulaznu varijablu, y predvieni izlaz, a a i b su


regresioni parametri koji se moraju procijeniti na osnovu skupa izvrenih mjerenja. Ako
yi predstavlja vrijednost koja se izmjeri za ulazni parametar xi, onda svaki od parova
(xi, yi) moe da se zapie na sljedei nain:

U gornjoj jednaini ei predstavlja razliku izmeu izmjerene vrijednosti yi i vrijednosti


koju predvia regresioni model za isti ulazni parametar. Znaenje vrijednosti e i je
prikazano na slici 5.5. Ova razlika se naziva rezidualna vrijednost mjerenja.

Slika 5.5 Linearni regresioni model

98
Performanse raunarskih sistema - skripta

Da bi se izraunali regresioni parametri a i b, vri se minimizacija sume kvadrata


reziduala. Suma se oznaava sa SSE. Jednaina koja se minimizuje je:

Minimizacija ove jednaine se vri tako to se posebno diferencira po a i po b, pa se


dobijene jednaine izjednaavaju sa nulom i rjeava se dobijeni sistem. Nakon zavretka
opisanog postupka dobijaju se sljedee vrijednosti za parametre a i b:

U jednaini za dobijanje parametra a koristi se srednja vrijednost skupa ulaznih


parametara i srednja vrijednost dobijenih rezultata mjerenja.
Na dobijene vrijednosti se dodatno mogu primjeniti intervali povjerenja, ali se taj dio
nee obraivati na ovom kursu.

Primjer. Treba razviti regresioni model koji e povezivati vrijeme potrebno za


operaciju itanja fajlova i broj proitanih bajtova. Izvodi se eksperiment u kojem se varira
broj proitanih bajtova od 10 do 10,000 i mjeri odgovarajue vrijeme itanja. Dobijeni
rezultati mjerenja su prikazani u tabeli 5.13.

Tabela 5.13 Primjer linearnog regresionog modela

Na osnovu prikazanih podataka mogu se izraunati sljedee vrijednosti:

99
Performanse raunarskih sistema - skripta

Uvrtavanje dobijenih vrijednosti u jednaine za parametre a i b rezultira:

Koritenjem ovih parametara formira se jednaina za linearni regresioni model


posmatranog sistema:

Iz dobijene jednaine moe se zakljuiti da je vrijeme potrebno za itanje fajla


veliine od, na primjer, 3,000 bajtova otprilike 0.1002(3,000) = 303 s.

Bitno je napomenuti da se preporuuje primjena linearnog regresionog modela samo


za predvianje opsega vrijednosti za ulazne parametre izmeu najmanjeg i najveeg za
koje su izmjereni rezultati. Za ulazne vrijednosti izvan tog opsega postoji velika
vjerovatnoa da model nee raditi korektno.

5.4.1. Korelacija
72B

Nakon razvijanja linearnog regresionog modela korisno je znati koliko dobro dobijena
jednaina modeluje izmjerene podatke. Drugim rijeima, postoji zainteresovanost za
poznavanje koliko je jaka linearna korelacija izmeu ulaza i izlaza. Koeficijent
determinacije i njegov kvadratni korijen, koeficijent korelacije, predstavljaju
kvantitativne mjere za linearnost.

100
Performanse raunarskih sistema - skripta

Ukupna varijacija izmeu izmjerenih vrijednosti i regresionog modela se moe


podijeliti u dvije komponente. Prva komponenta predstavlja dio varijacije koju
objanjava regresioni model. Druga komponenta je posljedica greaka u mjerenjima.
Koeficijent determinacije se definie kao dio varijacije koju objanjava regresioni model.
Njegova oznaka je r2 i mogue vrijednosti su mu u opsegu 0 r2 1. Ako postoji savrena
linearna veza izmeu ulaza i izlaza, onda je cijela varijacija u izmjerenim izlazima
objanjena regresionim modelom. U ovom sluaju, sve izmjerene vrijednosti padaju
direktno na regresionu liniju pa su sve rezidualne vrijednosti jednake nuli (r 2 = 1). Sa
druge strane, ako je r2 = 0, varijacija izlaznih vrijednosti nije uopte objanjena linearnim
regresionim modelom.
Na osnovu prethodnog razmatranja moe se zakljuiti da koeficijent determinacije
prua uvid koliko dobro regresioni model odgovara podacima. Vrijednosti bliske jedinici
upuuju na blisku linearnu vezu izmeu ulaznih i izlaznih vrijednosti. Suprotno tome,
vrijednosti blizu nuli upuuju da ne postoji linearna veza. U zadnjem sluaju, poznavanje
ulaznih vrijednosti ne pomae u predvianju izlaznih vrijednosti. Slino tome, ako ak i
postoji funkcionalna veza izmeu ulaza i izlaza, a da nije linearna, opet bi vrijednost
koeficijenta determinacije bila bliska nuli.
Kvadratni korijen koeficijenta determinacije se naziva koeficijent korelacije, koji se
oznaava sa r. Opseg vrijednosti koeficijenta korelacije je -1 r 1. Vrijednost jednaka
jedinici oznaava savren linearan odnos izmeu ulaznih i izlaznih vrijednosti. U ovom
sluaju, svaka promjena ulazne vrijednosti e prouzrokovati odgovarajuu promjenu
izlazne vrijednosti. Sa druge strane, vrijednost jednaka -1 oznaava da e bilo koja
promjena ulazne vrijednosti izazvati suprotnu promjenu izlazne vrijednosti.
Bitno je naglasiti razliku izmeu opisana dva koeficijenta. Recimo da su za dva
razliita sistema razvijeni linearni regresioni modeli i da su odgovarajui koeficijenti
korelacije sistema r1 = 0.6 i r2 = - 0.9. Na osnovu ovih vrijednosti se ne moe zakljuiti da
je linearna vaza drugog sistema 50% bolja od prvog. Jedini zakljuak koji se moe
donijeti je da linearna veza drugog sistema izgleda snanija.
Sa druge strane, ako se posmatraju koeficijenti determinacije, nalazi se da je r 12 =
0.36 i r22 = 0.81. Sada je oigledno da je kod prvog sistema samo 36% varijacije
objanjeno linearnim regresionim modelom, a kod drugog 81%. Na osnovu ovih
vrijednosti je vidljivo da je linearna veza drugog sistema mnogo snanija od linearne veze
prvog sistema.
Na kraju ove sekcije bitno je naglasiti razliku izmeu korelacije i kauzacije. Kauzacija
govori da je promjena izlazne vrijednosti direktna posljedica promjene ulazne
vrijednosti. Drugim rijeima, postoji proces unutar sistema koji na odreen nain
povezuje ulaz i izlaz. Meutim, mogue je da je izlaz u jakoj korelaciji sa ulazom koji
direktno ne uzrokuje promjenu izlaza. Na primjer, postoji jaka korelacija izmeu
vremena potrebnog za slanje poruke na dijeljenoj mrei sa vremenom dana kad se
poruka alje (na primjer, LAN je optereeniji za vrijeme radnog vremena nego poslije
njega). Poznavanje vremena dana omoguava predikciju koliko e vremena biti potrebno

101
Performanse raunarskih sistema - skripta

za slanje poruke. Meutim, vrijeme dana ne prouzrokuje vrijeme potrebno za slanje


poruke. Pravi uzrok predstavlja broj ljudi koji u tom trenutku koriste usluge dijeljene
mree. Iako postoji jaka korelacija izmeu ove dvije veliine, jedna ne prouzrokuje
drugu. Zakljuak se moe svesti na reenicu da korelacija ne implicira kauzaciju.

Primjer. Vizuelni primjeri korelacije sa skupovima mjerenja i odgovarajuim


koeficijentima korelacije dati su na slikama 5.6 i 5.7.

Slika 5.6 Primjeri korelacije (1)

Slika 5.7 Primjeri korelacije (2)

Oigledno je da znak ispred koeficijenta korelacije zavisi od uticaja ulaza na izlaz.

102
Performanse raunarskih sistema - skripta

5.4.2. Verifikovanje linearnosti


73B

Vano je razmotriti da li je veza koja se modeluje u razvijanju linearnog regresionog


modela uopte linearna. ak i ako veza nije linearna, jo uvijek se mogu mehaniki
primjeniti formule radi izraunavanja vrijednosti regresionih parametara. Meutim, tako
dobijeni model e biti jako slab poto e davati pogrene predikcije o izlaznim
vrijednostima.
Dalje, primjena linearnog modela na nelinearne sisteme e dati pogrene
interpretacije sveukupnog ponaanja sistema. Zato je veoma vano verifikovati da li su
ulazi i izlazi linearno povezani. Jednostavan nacrt izlaznih vrijednosti u funkciji od ulaznih
je esto dovoljan za verifikaciju pretpostavke o linearnosti. Konstruisanje ovog nacrta
prije bilo kakvog regresionog rauna treba da se smatra obaveznim.

5.4.3. Nelinearni modeli


74B

Nekad je sisteme sa nelinearnim ulaznoizlaznim vezama mogue transformisati u


linearnu formu. Zatim se moe primjeniti linearnoregresiona jednaina na
transformisane podatke.
Na primjer, pretpostavka je da je odnos ulaznih i izlaznih vrijednosti eksponencijalan,
tako da je:

Ako se primjeni operacija logaritmovanja na obe strane jednakosti, dobija se:

Ako izvrimo sljedee zamjene:

prethodna jednaina se moe zapisati na sljedei nain koji se podudara sa


standardnom formom linearno-regresione jednaine:

Regresione formule se sada mogu primjeniti radi dobijanja vrijednosti a i b. Zatim se


te vrijednosti mogu iskoristiti za dobijanje vrijednosti a i b iz nelinearnog modela.
Prethodni postupak transformacije nelinearne u linearnu funkciju se popularno
naziva kurvilinearna regresija.

Primjer. Zadatak je predvidjeti rast broja tranzistora na odreenom integrisanom


ipu. Konkretno, potrebno je procijeniti koliko e tranzistora biti integrisano na ipu 4

103
Performanse raunarskih sistema - skripta

godine od danas ako se pretpostavi da e broj rasti istim intenzitetom kao i zadnjih
nekoliko godina. Podaci iz prethodnih est godina su prikazani u tabeli 5.14.

Tabela 5.14 Primjer nelinearnog modela

Nakon skiciranja vrijednosti iz tabele, to je prikazano na slici 5.8, oigledno je da je


rast broja tranzistora u vremenu nelinearan. Zapravo, izgleda da rast prati
eksponencijalnu raspodjelu. Nakon postupka linearizacije podataka dobijene su
vrijednosti u zadnjoj koloni tabele 5.14, koje su skicirane na slici 5.9.

Slika 5.8 Nelinearni model

Slika 5.9 Linearizacija nelinearnog modela

104
Performanse raunarskih sistema - skripta

Sada se mogu primjeniti linearne regresione jednaine. Prije njihovog koritenja,


prvo je neophodno izraunati vrijednosti za izraunavanje vrijednosti regresionih
parametara:

Za regresione parametre se dobije da je a = 8.68 i b = 0.474. Sada se moe


izraunati da je:

Sada se moe formirati jednaina regresionog modela za posmatrani nelinearni


sistem:

5.5. Verifikacija sluajnih brojeva


37B

Problem verifikacije niza sluajnih brojeva se moe podijeliti u dvije komponente.


Prvo se koristi statistiki test goodness-of-fit radi utvrivanja da li je oblik generisane
sekvence statistiki blizak oekivanoj raspodjeli. Zatim se koriste ekstenzije tih

105
Performanse raunarskih sistema - skripta

standardnih testova i neki dodatni testovi da se verifikuje da je redoslijed uzoraka takav


da je svaki uzorak statistiki nezavisan od drugih uzoraka. Ove dvije komponente su
opisane u narednim sekcijama.

5.5.1. Goodness-of-fit testiranje


75B

Goodness-of-fit testiranje je generalna tehnika koja se koristi radi uporeivanja


generisanih ili izmjerenih vrijednosti sa idealnom ili oekivanom raspodjelom. Drugim
rijeima, cilj testiranja je da se odredi koliko su dobijene vrijednosti blizu oekivanim
vrijednostima odreene raspodjele. Goodness-of-fit test kvantifikuje kolika je devijacija
dobijenih od oekivanih vrijednosti.
Na primjer, pretpostavka je da se vri simulacija u kojoj treba generisati vrijednosti
koje treba da prate binomnu raspodjelu sa parametrima n = 5 i p = 0.2. Ova raspodjela je
definisana sljedeom funkcijom:

U gornjoj jednaini p uzima vrijednosti izmeu 0 i 1, n je pozitivan cijeli broj, a


x = 0, 1, 2, ... , n.
Da bi se utvrdilo da li generisane vrijednosti prate eljenu raspodjelu, generie se 100
uzoraka i broji se koliko se puta svaki od est moguih sluajeva desio, gdje x moe biti 0,
1, 2, 3, 4 i 5. Rezultati mjerenja su prikazani u prvom redu tabele 5.15. Sljedei korak je
da se odredi koliko puta se oekuje od svake vrijednosti da se pojavi ako je raspodjela
stvarno binomna. Za x = 0, dobija se da je:

Poto je izmjereno 100 uzoraka, dobijena vjerovatnoa se mora pomnoiti sa 100.


Ovim se dobija da je predvieni broj ishoda za x = 0 jednak 32.8. Na slian nain se
dobijaju i vrijednosti za f(1), f(2), ... , f(5). Te vrijednosti su prikazane u drugom redu
tabele 5.15.
Tabela 5.15 Primjer eksperimenta sa binomnom raspodjelom

Primjetno je da vrijednosti u redovima tabele nisu identine, to nije nimalo


iznenaujue. Pitanje je koliko je vjerovatno da su uzrok dobijene varijacije izmeu
izmjerenih i oekivanih vrijednosti normalne sluajne fluktuacije.
U ovu svrhu se koristi hi-kvadrat test. Hi-kvadrat vrijednost za posmatrani skup
mjerenja se dobija po formuli:

106
Performanse raunarskih sistema - skripta

Oslanjajui se na centralnu graninu teoremu statistiari su utvrdili da broj izraunat


pomou prethodne formule prati hi-kvadrat raspodjelu sa m 1 stepeni slobode, gdje m
predstavlja broj razliitih moguih ishoda. Kritine vrijednosti ove raspodjele date su u
tabeli u prilogu C. Ove kritine vrijednosti se zatim mogu iskoristiti da bi se utvrdilo da li
su devijacije izmeu dobijenih i oekivanih vrijednosti usljed sluajnih fluktuacija. Ako
nisu, zakljuak je da je malo vjerovatno da dobijene vrijednosti prate oekivanu
raspodjelu.
Poto se hi-kvadrat raspodjela zasniva na centralnoj graninoj teoremi, neophodno je
da svaki mogui ishod ima dovoljno velik broj oekivanih vrijednosti. Taj broj mora da
bude minimalno 5 ili 6. Ako ovaj uslov nije ispunjen, susjedni mogui ishodi se moraju
posmatrati kao jedan dok rezultujui novi ishod nije dovoljno velik da bi se uslov ispunio.
Ako se posmatraju vrijednosti iz tabele 5.15, vidljivo je da se ishodi 4 i 5 pojavljuju
suvie rijetko da bi se zadovoljio prethodno navedeni uslov. Kao posljedica toga, ishodi
3, 4 i 5 se kombinuju u jedan ishod ija je oekivana vrijednost jednaka zbiru
konkateniranih, tj. 5.8. Dobijena vrijednost novog objedinjenog ishoda je 6.
Korespondirajua hi-kvadrat vrijednost za ovaj primjer sada se rauna kao:

Kritine vrijednosti iz tabele u prilogu C pokazuju vjerovatnou da e se tabelarna


vrijednost desiti zbog sluajnih fluktuacija, sa odreenim brojem stepeni slobode. U
ovom primjeru taj broj je m 1 = 3. Iz tabele se nalazi da postoji vjerovatnoa od 95% da
e hi-kvadrat vrijednost biti manja od 7.815 sa 3 stepena slobode. Poto je izraunata
vrijednost u ovom primjeru manja od kritine vrijednosti iz tabele, zakljuuje se sa
95%-tnom sigurnou da nema razloga da se sumnja da dobijene vrijednosti ne dolaze iz
oekivane raspodjele. Opet je primjetno da se ne moe tvrditi da dobijene vrijednosti
dolaze iz oekivane raspodjele, ve da ne postoje dokazi koji uvjeravaju u suprotno
tvrenje.
Poto se u jednaini za raunanje vrijednosti vri normalizacija sa vrijednostima P i,
slijedi da e manje vrijednosti Pi vie uticati na dobijenu hi-kvadrat vrijednost od veih
vrijednosti Pi. Da bi se ublaio ovaj uticaj, poeljno je kombinovati susjedne mogue
ishode tako da su vrijednosti Pi za svaki mogui ishod priblino jednake. Ova agregacija
vrijednosti smanjuje dostupne informacije, ali s njom hi-kvadrat test bolje radi u praksi.
Postoje i drugi tipovi goodness-of-fit testova koji su pogodni za specifine situacije.
Kolmogorov-Smirnov test je, na primjer, napravljen da bi poredio mali broj opservacija
sa oekivanom kontinualnom raspodjelom. Ovo je suprotno od hi-kvadrat testa, koji
pretpostavlja diskretnu raspodjelu sa velikim brojem uzoraka.

107
Performanse raunarskih sistema - skripta

5.5.2. Testovi nezavisnosti


76B

injenica da je sekvenca vrijednosti prola uspjeno kroz goodness-of-fit test nije


garancija da je sekvenca uistinu sluajna. Na primjer, sekvenca
(0, 1, 2, ... , 19, 0, 1, 2, ... , 19) savreno prati unif (0, 19) raspodjelu i uspjeno e proi
bilo koji goodness-of-fit test. Meutim, za ovu sekvencu je oigledno da uopte nije
sluajna. Goodness-of-fit test kvantifikuje da li je broj jedinstvenih vrijednosti u sekvenci
predaleko od oekivane vrijednosti svake od njih. Ali on daje informaciju o redoslijedu
tih vrijednosti. Odreivanje da li je redoslijed vrijednosti dovoljno sluajan predstavlja cilj
testova nezavisnosti. Jedan od najpoznatijih testova nezavisnosti je serijski test.
Serijski test pokuava da verifikuje uniformnost sekvence unif (0, 1) vrijednosti u k
dimenzija. Bazina ideja u dvije dimenzije je da se iscrtaju take u dvodimenzionalnom
prostoru koristei nepreklapajue parove vrijednosti generisane sekvence. Vrijednosti se
grupiu u parove tako da svaki par (x, y) predstavlja koordinate take u 2D prostoru.
Prvi korak u verifikovanju uniformnosti predstavlja jednostavna vizuelna inspekcija.
Pokuava se odgovoriti na pitanje da li se take ine uniformno rasporeenima kada se
nacrtaju. Ako iscrtane take nisu nezavisne, take e teiti tome da formiraju linije ili e
biti grupisane u klastere. U sljedeem koraku 2D prostor treba podijeliti u grid sa a x a
elija, kao to je prikazano na slici 5.10. Ako je raspodjela taaka u potpunosti
uniformna, svaka elija treba da sadri n/2a2 taaka, gdje n predstavlja ukupan broj
generisanih sluajnih vrijednosti. Hi-kvadrat test sa a2 1 stepeni slobode moe da se
iskoristi za precizniju verifikaciju uniformnosti umjesto jednostavnog vizuelnog testa.

Slika 5.10 Serijski test nezavisnosti

Serijski test se moe proiriti na k dimenzija ako se dobijene vrijednosti grupiu u


k-torke i predstave u prostoru sa k dimenzija.
Ostali testovi nezavisnosti ukljuuju serijsko-korelacione testove, spektralne testove i
runs-up testove. Svi navedeni testovi, ukljuujui i serijski, ipak daju samo dovoljan, ali
ne i potreban uslov statistike nezavisnosti.

108
Performanse raunarskih sistema - skripta

6. SAOPTAVANJE REZULTATA
5B

Vaan dio svake studije evaluacije performansi je prezentacija zavrnih rezultata.


Konaan cilj svake analize performansi je pomo u donoenju odluka. Analiza iji
rezultati ne mogu da se protumae od strane ljudi koji donose odluke je jednako vrijedna
kao analiza koja nije ni izvrena. Samim tim, na analitiaru performansi je odgovornost
da rezultate saopti na to jednostavniji nain. Ovo zahtijeva koritenje rijei, slika i
grafova radi objanjavanja rezultata i analize.
Postoji velik skup grafova koji se koriste za prezentovanje dobijenih rezultata
performansi raunarskih sistema. U taj skup spadaju linijski, bar i pie grafovi, kao i
histogrami.
Postoji veliki broj razloga zbog ega se grafovi koriste kao zamjena za tekstualni
prikaz dobijenih rezultata mjerenja. Poznato je da slika predstavlja hiljadu rijei. Grafici
smanjuju potrebno vrijeme za tumaenje izloenih informacija, a istovremeno se
informacije predstavljaju na koncizniji nain. Takoe, grafik e prije da zainteresuje
itaoca od tekstualnog prikaza podataka. Grafiki prikaz podataka je takoe pogodan za
naglaavanje neke injenice i za sumiranje rezultata izvrene studije.

6.1. Tipovi varijabli


38B

Postoje dva tipa varijabli koje se prikazuju na graficima:


1. kvalitativne
2. kvantitativne
Navedeni tipovi su prethodno opisani u skripti.

6.2. Preporuke za pravljenje dobrih grafikih dijagrama


39B

Sljedee preporuke pomau u poboljavanju grafikih prezentacija. Navedene


preporuke su uglavnom generalne i primjena svake od njih predstavlja vjetinu koja se
stie sa iskustvom. Bitno je napomenuti da sve napomene koje e biti navedene
predstavljaju preporuke, a ne pravila. Generalne preporuke su:
1. Graf treba da zahtijeva minimalan napor od strane njegovog posmatraa.
Predstavlja vjerovatno najvaniju metriku u mjerenju koliko je odreeni graf
dobar. Preporuka se moe demonstrirati pomou koritenja legende na
dijagramu. Postoje dva naina oznaavanja razliitih linija na linijskom
dijagramu pomou legend box-a i pomou direktnog labeliranja. Na osnovu
primjera sa slike 6.2 oigledno je da je direktno labeliranje pogodnije, a to
pogotovo vai ako je broj linija velik.

109
Performanse raunarskih sistema - skripta

Slika 6.2 Minimalan napor od strane posmatraa

2. Maksimiziranje koliine informacija.


Na grafu je neophodno da postoji dovoljno informacija da bi on sam sebi bio
dovoljan. Postoji vie naina kako da se ovo ostvari. Na primjer, treba koristiti
pune rijei umjesto simbola poto simboli zahtjevaju dodatan napor od
posmatraa. Ose na grafu treba da nose to je mogue vie informacija i da
ukljuuju jedinice. Na primjer, CPU vrijeme u sekundama nosi vie informacija
od CPU vrijeme.
3. Minimiziranje tinte.
Treba predstaviti to vie informacija sa to manje pisanja (tinte). Previe
nepotrebnih informacija na grafu ga ini zbrkanim i neinteresantnim. Na
primjer, grid linije ne treba da se prikazuju ako nisu neophodne da bi se tano
proitale vrijednosti. Grafiki primjer ove preporuke je prikazan na slici 6.3. Na
prvom grafu je prikazana dostupnost sistema, a na drugom nedostupnost koja
je predstavljena kao 1 dostupnost, a i skala je izmjenjena. Oigledno je da je
drugi graf smisleniji i da daje vie informacija od prvog.

Slika 6.3 Minimiziranje tinte

4. Koristiti iroko prihvaene obiaje.


Treba da se predstavi ono to ljudi oekuju. Na primjer, koordinatni poetak
treba da bude u taki (0, 0), uzrok (nezavisna veliina) treba da bude na x-osi, a
posljedica (zavisna veliina) na y-osi, skale treba da budu linearne i da se
poveavaju slijeva u desno i odozdo prema gore. Odstupanja od ovih preporuka

110
Performanse raunarskih sistema - skripta

su dozvoljena, ali zatijevaju dodatan napor za itanje informacija pa se


preporuuju samo u rijetkim situacijama.
5. Izbjegavati dvosmislenosti.
Treba prikazati strelice na osama, podjele skala i koordinatni poetak, kao i
identifikovati pojedine krive i bar-ove. Graf treba lako da se ita. Ne treba
prikazivati vie varijabli na istom dijagramu.

6.3. este greke na dijagramima


40B

U ovoj sekciji su navedene neke greke koje se najee javljaju pri grafikoj
prezentaciji podataka:
1. Predstavljanje previe alternativa na jednom dijagramu.
Bez obzira od tipa grafa koji se koristi, kljuni cilj predstavljanja podataka je da
se njihovo itanje napravi to lakim. Veina posmatraa ne moe da
istovremeno poima vie od 5 do 7 poruka, to je povezano sa limitima ljudske
kratkorone memorije. Na osnovu toga, dijagram treba da bude ogranien na 6
krivih linija, bar i kolonski dijagrami na 10 razliitih vrijednosti, a pie dijagrami
na 8 komponenata. Svaki mogui ishod na histogramu mora da ima najmanje 5
vrijednosti.
2. Predstavljanje previe y-varijabli na jednom dijagramu.
Na slici 6.4 su na istom dijagramu predstavljeni vrijeme odziva, utilizacija i
propusni opseg sistema u funkciji od broja korisnika. Predstavljanje tri y-
varijable istovremeno tedi prostor, ali posmatrau ostavlja problem asociranja
krivih sa odgovarajuom skalom to mu znatno oteava da dobije eljenu
poruku. Samim tim, prezentovanje svake y-varijable na zasebnom dijagramu je
mnogo loginije i bolje rjeenje.

Slika 6.4 Predstavljanje previe y-varijabli na jednom dijagramu

3. Koritenje simbola umjesto teksta.


Slika 6.5 prikazuje linijski dijagram koje je teak za razumijevanje poto na
dijagramu ne postoji tekst. Posmatra mora dodatno da proe kroz tekst da bi
otkrio ta svaki od navedenih simbola zapravo predstavlja.

111
Performanse raunarskih sistema - skripta

Slika 6.5 Koritenje simbola i teksta za oznaavanje dijagrama

4. Postavljanje dodatnih informacija na dijagram.


Cilj svakog dijagrama je da prenese odreenu poruku svom posmatrau. Bilo
koja informacija koja odvlai panju posmatraa od te poruke je suvina i treba
je izbjegavati.
5. Koritenje linijskog umjesto kolonskog dijagrama.
Linije koje povezuju uzastopne take na grafu naglaavaju injenicu da se
vrijednosti izmeu taaka mogu priblino interpolirati. Slika 6.6 pokazuje
primjer pogrene upotrebe linijskog dijagrama. U ovom primjeru su prikazane
performanse izraene u MIPS-u za razliite tipove CPU-ova. Poto frakcionalni
dijelovi CPU tipova nemaju smisla, u ovom sluaju treba koristiti kolonske ili pie
dijagrame.

Slika 6.6 Pogrena upotreba linijskog dijagrama

6.4. Grafike varke


41B

U ovoj sekciji su predstavljene tehnike koje analitiari koriste da namjerno sakriju


istinu i prevare posmatraa grafa. Neke od takvih varki su:
1. Koritenje nenultog koordinatnog poetka.

112
Performanse raunarskih sistema - skripta

U normalnoj situaciji ose grafa se sijeku u koordinatnom poetku koji se


oznaava sa takom (0, 0). Pomjeranjem koordinatnog poeka i odgovarajuim
skaliranjem grafa, mogue je uveati ili smanjiti percepciju razlike u
performansama. Na slici 6.7, iste performanse su prikazane na dva razliita
grafa koritenjem razliitih skala i razliitih koordinatnih poetaka. Dva grafa
sada dovode do izvoenja dva razliita zakljuka iako se radi o istim podacima.
Po prvom ispada da je jedna alternativa mnogo bolja od druge, a po drugom
ispada da su performanse alternativa skoro jednake.

Slika 6.7 Iste performanse predstavljene na dva razliita naina

Meutim, nijedan od dva grafa nije pravilan. Pravi nain za skaliranje grafa je
da se skala izabere tako da je vertikalna visina najvie take najmanje
horizontalnog odmaka najdesnije take. Takoe, koordinatni poetak treba da
se predstavi takom (0, 0) osim ako ne postoji neki opravdan razlog da se tako
ne uradi. Performanse sistema sa slike 6.7 su na pravilan nain predstavljene na
slici 6.8.

Slika 6.8 Pravilo tri-etvrtine i nulti koordinatni poetak

2. Koritenje double-whammy grafova radi dramatiziranja.


Dvije krive na istom grafu mogu imati dvostruki uinak u odnosu na samo
jednu. Ovo se moe iskoristiti u svrhu naglaavanja informacije, bez obzira da li
je ona dobra ili loa. Ako postoje dvije metrike koje su povezane, poznavanjem
jedne moe se automatski zakljuiti druga. Propusni opseg i vrijeme odziva su
primjer povezanih metrika. Meutim, ako se obe ove metrike predstave na
istom grafu, kao to je uraeno na slici 6.9, uticaj na nestrunog posmatraa

113
Performanse raunarskih sistema - skripta

moe da bude dvostruko vei u odnosu da je na grafu predstavljena samo jedna


metrika.

Slika 6.9 Double-whammy grafovi

3. Predstavljanje brojeva bez intervala povjerenja.


Mnogi rezultati mjerenja predstavljaju sluajnu kvantifikaciju performansi. Ako
se postupak mjerenja ponovi, mogue je da rezultati ne bi bili isti. Meutim, i
kada se izvri nekoliko mjerenja i predstavi njihova srednja vrijednost, opet ne
mora da znai da se performanse statistiki razlikuju, to je i opisano u
prethodnoj glavi. Na slici 6.10 su prikazane krive koje prikazuju performanse
dva sistema sa i bez intervala povjerenja. Na lijevom dijagramu izgleda da je
jedan sistem bolji po performansama od drugog. Meutim, desni dijagram
pokazuje da razlika izmeu dva sistema moda i ne postoji.

Slika 6.10 Predstavljanje performansi bez i sa intervalom povjerenja

4. Piktogrami skalirani po visini.


Jedan od naina za predstavljanje razlike u performansama je crtanje
odgovarajue skaliranih slika sistema. Primjer je prikazan na slici 6.11.
Performanse lijevog sistema su duplo bolje od performansi desnog sistema. Taj
odnos je na lijevom dijelu slike prikazan na nain da su performanse lijevog
sistema prikazane duplo veim i po irini i po visini. Samim tim, povrina lijevog
pravougaonika postaje etiri puta vea od povrine desnog. Pravilan nain za
skaliranje piktograma je prikazan na desnom dijelu slike, gdje je skaliranje

114
Performanse raunarskih sistema - skripta

uraeno po povrini. Po tom skaliranju, irina i visina desnog pravougaonika


treba da budu 1.41 puta vee od irine i visine lijevog pravougaonika.

Slika 6.11 Piktogrami skalirani po visini

5. Koritenje neodgovarajuih veliina elija u histogramima


Odabir irina elija uvijek predstavlja izazov. Uglavnom zahtijeva vie od jednog
pokuaja. Ako su elije preiroke, svi podaci padaju u samo nekoliko elija. Sa
druge strane, ako su elije preuske, na histogramu se gubi osjeaj.
Odgovarajuim izborom irine elije, podaci se mogu predstaviti kao da
pripadaju odgovarajuoj raspodjeli. Na slici 6.12 su prikazana dva histograma
pomou kojih se predstavljeni isti podaci. Na prvom su podaci grupisani tako da
izgleda da oni prate Gausovu raspodjelu, a na drugom da prate eksponencijalnu
raspodjelu.

Slika 6.12 Isti podaci prikazani tako da prate razliite raspodjele

6. Koritenje prelomljenih skala u kolonskim dijagramima.


Efekat slian onom koji izaziva izbor nenultog koordinatnog poetka se moe
postii prelamanjem skale po sredini, kao to je prikazano na slici 6.13. Ako se
posmatra desni dio slike, moe se zakljuiti da postoje znatne razlike izmeu
sistema, dok lijevi dio slike daje suprotnu poruku.

Slika 6.13 Koritenje prelomljenih skala u kolonskim dijagramima.

115
Performanse raunarskih sistema - skripta

PRILOG A Kritine vrijednosti Studentove t raspodjele


6B

116
Performanse raunarskih sistema - skripta

PRILOG B.1 Kritine vrijednosti F raspodjele (90%)


7B

117
Performanse raunarskih sistema - skripta

PRILOG B.2 Kritine vrijednosti F raspodjele (95%)


8B

118
Performanse raunarskih sistema - skripta

PRILOG B.3 Kritine vrijednosti F raspodjele (99%)


9B

119
Performanse raunarskih sistema - skripta

PRILOG C Kritine vrijednosti hi-kvadrat raspodjele


10B

120
Performanse raunarskih sistema - skripta

LITERATURA
11B

1. Paul J. Fortier, Howard E. Michel, Computer Systems Performance Evaluation and


Prediction, Digital Press, 2003.
2. B. Radenkovi, M. Stanojevi, A. Markovi, Raunarska simulacija, FON Beograd,
1999.
3. David J. Lilja, Measuring Computer Performance, A practitioners guide,
Cambridge University Press, 2004.
4. Raj Jain, The Art of Computer Systems Performance Analysis, Wiley Computer
Publishing, 1991.

121

You might also like