PRS
Performanse računarskih sistema je obavezni predmet u osmom semestru na SI i RTI.
Korisne veze
- Skripta sa rešenim zadacima i rokovima kombinovano u jednom dokumentu
- ETF Materijali (Box) (stari rokovi)
- Google Sheet tabela sa labeliranim zadacima po oblastima
Nastava
Gradivo je podeljeno po blokovima na sledeći način:
- Prvi blok: performanse procesora (samo na predavanjima), performanse memorije, performanse diskova
- Drugi blok: Poasonov proces, eksponencijalni model, ekvivalentni i neekvivalentni paralelni serveri, ciklički model multiprogramiranja, mreže sa centralnim serverom, Gordon-Njuelove jednačine, Bjuzenov algoritam
- Treći blok: otvorene mreže, Džeksonova teorema, interaktivni sistemi, MVA analiza (samo na predavanjima)
Sva literatura korišćena na predmetu može se naći na stranici predmeta. Nije neophodno pratiti predavanja na predmetu osim u prvom bloku gde se priča o performansama procesora (zadaci sa instrukcijama i njihovim frekvencijama). U trećem bloku se na predavanjima priča o MVA analizi, ali ovakvi zadaci dolaze jako retko na ispitnim rokovima.
Od materijala na vikiju dostupne su izvučene formule korišćene na predmetu.
Projekat
Projekat na predmetu nosi 30 bodova i nije obavezan. Ukoliko se uzima projekat, ispitni i kolokvijumski deo nosi 70 bodova ukupno. Radi se samostalno, u programskom jeziku Python, C, C++, Java ili C#'.
Na projektu se radi zadatak iz otvorenih mreža iz više različitih aspekata:
- analitičko rešavanje: napisati program koji matrično rešava otvorenu mrežu na način koji je objašnjen na vežbama trećeg bloka za više različitih zadatih parametara. Za pripremu ovog dela potrebno je samo odgledati pomenute vežbe trećeg bloka i znanje korišćenja neke biblioteke za računanje matrica (na primer NumPy).
- Preporučuje se da jednom rešite sistem ručno, na papiru, kako biste znali koji su očekivani rezultati. Otvorena mreža data u projektu obično nije mnogo komplikovana.
- simulacija: napisati program koji simulira pravi rad servera nad poslovima po Poasonovom procesu, i meri tražene statistike (iskorišćenja, protoke, prosečan broj poslova...). Pokrenuti nekoliko puta za više različitih parametara i uprosečiti. Za pripremu ovog dela potrebno je znanje Poasonovog procesa, načina funkcionisanja otvorenih mreža i formula za tražene statistike. Preporučuje se paralelizacija simulacija prilikom pokretanja više puta za više parametara. Ukoliko ste dobro napisali simulaciju, rezultati ne bi trebalo da se razlikuju mnogo od analitičkih.
- Jedan deo koji ne piše u samoj postavci projekta a traži se na odbrani jeste da simulacija mora da bude optimalna, odnosno da pokretanje 100 simulacija za sve kombinacije parametara mora da traje desetak minuta umesto sat vremena. Ovo se postiže simulacijom zasnovanom na događajima umesto simuliranjem po diskretnim vremenskim intervalima.
- Serveri moraju da vam rade po Poasonovom procesu! Ukoliko ovo nije slučaj, dobićete rezultate koji se dosta razlikuju od analitičkih na nekim mestima.
- dokumentacija rezultata: od vas se očekuje da izgenerišete tražene dijagrame iz programa, opišete na koji način radi vaša simulacija, i prikažete relativna odstupanja analitičkog modela od simulacije, za date vrednosti parametara, i sve to stavite u izveštaj.
Primer jednog projekta od 2022/2023. godine možete naći na GitHub, zajedno sa Google Sheets tabelom relativnih odstupanja čije formule možete da iskoristite i u svom projektu (projekat nije koristio optimalnu simulaciju i morao je da bude prepravljan na odbrani).
Prethodne postavke projektnih zadataka možete pronaći na stranici predmeta, menjanjem godine u linku do projekta:
Ispitni rokovi
Ispitni rokovi su dostupni sa Teams tima predmeta zajedno sa rešenjima. Neki stariji ispitni rokovi nalaze se i na stranici predmeta.
Način ocenjivanja
- — bodovi sa projekta (0-30)
- — bodovi sa pojedinačnih kolokvijuma, odnosno delova ispita (0-100, u ispitnim rokovima moguće je raditi ili samo jedan od kolokvijuma ili sva tri (integralni ispit))
| Bodovi | ||||||
|---|---|---|---|---|---|---|
| Ocena | 5 | 6 | 7 | 8 | 9 | 10 |
Kalkulator
- Ovom odeljku fale informacije. Pomozite SI Wiki tako što ćete dodati potrebne informacije.