Katedra za računarsku tehniku i informatiku
Katedra za računarsku tehniku i informatiku
PERFORMANSE RAČUNARSKIH PERFORMANSE RAČUNARSKIH SISTEMASISTEMASISTEMASISTEMA
Školska 2008/2009 godinaŠkolska 2008/2009 godina
ETF-Beograd Performanse Računarskih Sistema
2
Nastavnici
•• Predavanja: prof. Jelica Protić, Predavanja: prof. Jelica Protić, •• 2 časa nedeljno, 2 časa nedeljno,
ee popošta:šta: jjecaeca@@sezampro yusezampro yu•• ee--popošta: šta: jjecaeca@@sezampro.yusezampro.yu
•• Vežbe: Đorđe Jevđić, Vežbe: Đorđe Jevđić, •• 2 časa nedeljno2 časa nedeljno•• ee--pošta: pošta: jevdjicjevdjic@@etf.rsetf.rs•• konsultacijekonsultacije popo dogovorudogovorukonsultacijekonsultacije popo dogovorudogovoru•• stranicastranica predmetapredmeta: : http://rti.etf.rs/rti/prshttp://rti.etf.rs/rti/prs
ETF-Beograd Performanse Računarskih Sistema
3
Logistika
•• IspitIspit:: pismenipismeni ++ domadomaći zadatakći zadatak•• IspitIspit: : pismenipismeni + + domadomaći zadatakći zadatak•• Broj poena se formira po formuli:Broj poena se formira po formuli:
PP=max{ I, 0.7*I+0.3*D}=max{ I, 0.7*I+0.3*D}dd j Ij I b jb j jj i iti itgdegde je I je I –– brojbroj poenapoena osvojenosvojen nana ispituispitu
D D –– brojbroj poenapoena osvojenosvojen nana domadomaćem zadatkućem zadatku•• Skala ocenaSkala ocena
P≤P≤50 50 =>=> ocenaocena 5550<50<P≤P≤60 => 60 => ocenaocena 7760<60<P≤P≤70 =>70 => ocenaocena 7760<60<P≤P≤70 => 70 => ocenaocena 7770<70<P≤P≤80 => 80 => ocenaocena 8880<80<P≤P≤90 => 90 => ocenaocena 9990<90<PP >> ocenaocena 1010
ETF-Beograd Performanse Računarskih Sistema
4
90<90<PP => => ocenaocena 1010
Literatura
•• MaterijaliMaterijali sasa predavanjapredavanja ii vevežbižbi•• MaterijaliMaterijali sasa predavanjapredavanja ii vevežbižbi
•• Jain RajJain Raj –– The Art of The Art of Computer Systems Performance Computer Systems Performance A l i T h iA l i T h i ff E i t l D iE i t l D iAnalysis Techniques Analysis Techniques ffor Experimental Designor Experimental Design, , Measurements Simulation Measurements Simulation aandnd ModelingModeling
ETF-Beograd Performanse Računarskih Sistema
5
Sadržaj
11 UvodUvod1.1. UvodUvod2.2. Performanse procesoraPerformanse procesora3.3. Performanse operativne memorije (iskorišćenPerformanse operativne memorije (iskorišćenjeje))p j (p j ( jj ))4.4. Performanse operativPerformanse operativnne memorije (brzina)e memorije (brzina)5.5. Performanse diskovaPerformanse diskova6.6. Optičko memorisanjeOptičko memorisanje7.7. Performanse magnetnih trakaPerformanse magnetnih traka88 f čf č8.8. Modelovanje performansi računarskih sistemaModelovanje performansi računarskih sistema
ETF-Beograd Performanse Računarskih Sistema
6
Sadržaj
99 Poasonov proces (Simeon Denis Poisson 1781Poasonov proces (Simeon Denis Poisson 1781 1840)1840)9.9. Poasonov proces (Simeon Denis Poisson, 1781Poasonov proces (Simeon Denis Poisson, 1781--1840)1840)10.10. Neeksponencijalni modeli (SMO sa Neeksponencijalni modeli (SMO sa
neeksponencijalnim raspodelama)neeksponencijalnim raspodelama)p j p )p j p )11.11. Paralelni serveri Paralelni serveri –– teorijska razmatranja i modeliteorijska razmatranja i modeli12.12. Zatvorene mreže (definicijaZatvorene mreže (definicija ii analizaanaliza performansiperformansi))13.13. Otvorene mreže SMOOtvorene mreže SMO14.14. Interaktivni sistemi Interaktivni sistemi 11 OO O čO č15.15. Operaciona analiza Operaciona analiza -- Operacioni modeli računarskih Operacioni modeli računarskih
sistemasistema
ETF-Beograd Performanse Računarskih Sistema
7
1. Uvod
CiljCilj izučavanjaizučavanja arhitekturarhitekturee računararačunara ii operativnihoperativnihCiljCilj izučavanjaizučavanja arhitekturarhitekturee računararačunara ii operativnihoperativnihsistemasistema jejesteste poboljšanjepoboljšanje performansiperformansi računarskihračunarskihsistemasistema. . RačunarRačunar modeliramomodeliramo kaokao dinamičkidinamički sistemsistem
PerformanseRačunarskih
SistemaUlaz IzlazRačunar
ArhitekturaRačunara
OperativniSistemi
ETF-Beograd Performanse Računarskih Sistema
8
1. Uvod
1 Performanse komponenti:1. Performanse komponenti: procesoramemorijskih organizacijamemorijskih organizacijaulazno-izlaznih uređaja
o diskova, trakao štampačao monitora...
ETF-Beograd Performanse Računarskih Sistema
9
1. Uvod
22 P fP f i ti t t ijt ij22. . PerformansePerformanse sistemasistema –– osnovne teorijeosnovne teorije: : teorijateorija redovaredova čekanjačekanjateorijateorija sistemasistema masomasovvnognog opsluživanjaopsluživanjateorijateorija sistemasistema masomasovvnognog opsluživanjaopsluživanjaanalizaanaliza performansi performansi paketpaketnene obradobradeeanaliza analiza interaktivniinteraktivnihh sistemsistemaa
3. 3. Metodologije analize pMetodologije analize performanserformansii::analitičkianalitički modelimodelianalitičkianalitički modelimodelisimulacionisimulacioni modelimodelimerenjamerenja
ETF-Beograd Performanse Računarskih Sistema
10
1. Uvod
Oblasti primeneOblasti primeneProjektovanje Izbor Upravljanje radom
Računarskih Računarskih RačunarskihSistema Sistema Sistema
*** * ** Stohastički modeli Analitičke TS o as č ode a č e** * *** Operacioni modeli tehnike e** * *** Specijalizovani računarski simulatori Simulacione h** * ** Simulatori opšte namene tehnike n- ** *** Prirodna opterećenja Merenja i merne i- *** ** Veštačka opterećenja tehnike k
Predviđanje Poređenje Poboljšanje eperformansi performansi performansi
ProblemiProblemi
ETF-Beograd Performanse Računarskih Sistema
11
1. Uvod
Najpre se vrši modelovanje pa onda simulacijaNajpre se vrši modelovanje, pa onda simulacija Stohastički modeli važe na beskonačnom vremenskom intervalu (slučajni brojevi, raspodele).Operacioni modeli su razvijeni specijalno zaOperacioni modeli su razvijeni specijalno za računarske sisteme. Važe u konačnom intervalu vremena, uz blaže uslove nego kod stohastičkih modela (učestanost, proporcije,…).modela (učestanost, proporcije,…).Simulatori opšte namene GPSS (General Purpose Simulation Systems).Veštačka opterećenja – zasnovano na GSB (generatorVeštačka opterećenja – zasnovano na GSB (generator slučajnih brojeva).U principu se toleriše do 5% greške, mada se dozvoljava i do 40% za specijalne primene
ETF-Beograd Performanse Računarskih Sistema
12
dozvoljava i do 40% za specijalne primene.
2. Performanse Procesora
Performanse zavise od arhitekture procesoraPerformanse zavise od arhitekture procesoraPerformanse zavise od arhitekture procesora.Performanse zavise od arhitekture procesora.OsnovnOsnovni elementi arhitekturei elementi arhitekture::11 RegistriRegistri11. Registri. Registri11..1 1 univerzalniuniverzalni (op(opšštete namenenamene) ) 11..2 2 registri podatakaregistri podatakag pg p11..3 3 registri za pokazivače na podatkeregistri za pokazivače na podatke11..4 4 indeksni registriindeksni registri......
ETF-Beograd Performanse Računarskih Sistema
13
2. Performanse Procesora
2 Mašinske instrukcije2 Mašinske instrukcije2. Mašinske instrukcije2. Mašinske instrukcije2.1 broj i tip adresa po instrukciji2.1 broj i tip adresa po instrukciji2 2 načini adresiranja2 2 načini adresiranja2.2 načini adresiranja2.2 načini adresiranja2.3 skup mašinskih instrukcija2.3 skup mašinskih instrukcija2.4 fizički format instrukcija2.4 fizički format instrukcijajj
ETF-Beograd Performanse Računarskih Sistema
14
2. Performanse Procesora
33 Numerička tačnost predstavljanja brojeva (celiNumerička tačnost predstavljanja brojeva (celi33. Numerička tačnost predstavljanja brojeva (celi, . Numerička tačnost predstavljanja brojeva (celi, realni, ...)realni, ...)
44. Brzina procesora. Brzina procesora•• Na brzinu sa aspekta korisnika utiče mnogo faktora Na brzinu sa aspekta korisnika utiče mnogo faktora •• Merilo: vreme trajanja prosečne instrukcijeMerilo: vreme trajanja prosečne instrukcije•• Kakve su te instrukcije, šta je moguće uraditi jednom Kakve su te instrukcije, šta je moguće uraditi jednom
instrukcijominstrukcijom > važno je sa aspekta problema koji> važno je sa aspekta problema kojiinstrukcijom instrukcijom -- > važno je sa aspekta problema koji > važno je sa aspekta problema koji programer treba da rešiprogramer treba da reši
ETF-Beograd Performanse Računarskih Sistema
15
2.1 Dužina programa u zavisnosti od adresnosti
PosmatramoPosmatramo mm adresni procesoradresni procesorPosmatramo Posmatramo mm--adresni procesoradresni procesorLkLk(m)(m)-- dudužžinaina programaprograma izražena u broju izražena u broju mamaššinskiinskih h instrukcija. instrukcija. jjRačunanje izraza sa k argumenata zavisno od broja memorijskih adresa0-adresni radi sa 2 operanda na vrhu steka i rezultat ostane na vrhu steka1-adresni ostavlja rezultat u akumulatoru1-adresni ostavlja rezultat u akumulatoru2-adresni ostavlja rezultat na mestu jednog operanda (MM) ili u akumulatoru (MMA)
ETF-Beograd Performanse Računarskih Sistema
163-adresni - direktno radimo sa 3 memorijske lokacije
2.2 Merenje frekvencije pojave pojedinih inst.
ProblemProblem brojabroja adresaadresa popo instrukcijiinstrukciji::Problem Problem brojabroja adresaadresa popo instrukcijiinstrukciji::Formati instrukcija
0 0 R RR RRR M-memorija, R-registar, A-Acc akumulator, sa zagradom opcija npr. M i M(A)
1 M(A) MR(A) MRR -m 2 MM(A) MMR - -
3 MMM - - -
m - broj memorijskih adresa, r-broj registarskih operanada
0 - nema ni m ni r, R-jedna registarska0 1 2 3
r
• M-jedna memorijska adresa, A-akumulator, MR-jedna memorijska adresa i
, j gadresa, RR-dve registarske adrese…
j j j jjedna registarski operand
• MRR-jedna memorijska i dve registarske adrese
• MMM-tri memorijske adrese
ETF-Beograd Performanse Računarskih Sistema
17
• MMM-tri memorijske adrese
2.2 Merenje frekvencije pojave pojedinih inst.
Statička frekvencija pojava naredbe – koliko se putaStatička frekvencija pojava naredbe – koliko se puta pojavljuje određena naredba u kodu (prosto prebrojavanje instrukcija u kodu)
Dinamička frekvencija pojava naredbe - ono sto se stvarno izvrši (to se meri)
Posmatraćemo prvo statičku frekvenciju tipičnogprograma – smatramo da tipičan program ima mnogo naredbi dodele vrednostinaredbi dodele vrednosti
ETF-Beograd Performanse Računarskih Sistema
18
2.2 Merenje frekvencije pojave pojedinih inst.
• Opšti oblik naredbe dodele vrednosti:• Opšti oblik naredbe dodele vrednosti:Mk:=Mk-1* Mk-2 * … * M2 * M1 – opšti oblik aritmetičkog izraza (* je neka operacija)
• U programima ima 67% dodela vrednosti kod dinamičke frekvencije -Knuth 1971., kod statičkih f k ij i 41% 51% K th 1975 (FORTRAN)frekvencija ima 41%-51% -Knuth 1975.(FORTRAN)
• Merili razni naučnici: Robinson, Torsun, Al Jarral, l h ff k S h dElshoff, Kuck, Strehendt...
• Uopšte: 35%-50% svih instrukcija u programu
ETF-Beograd Performanse Računarskih Sistema
19
p j p gpredstavljaju dodele vrednosti.
2.2 Robinson & Torsun - raspodela
k(k(brojbroj operanadaoperanada)) PkPkk(k(brojbroj operanadaoperanada) ) PkPkA=B 2 0.43 A=B 2 0.43 A=B+C 3 0 3A=B+C 3 0 3A=B+C 3 0.3 A=B+C 3 0.3 A=B+C+D 4 0.12 A=B+C+D 4 0.12 A=B+C+D+E 5+ (5 A=B+C+D+E 5+ (5 iliili visevise) 0.15) 0.15(( ))
P5=P6=P7= 0.05 P5+=P5+P6+P7 = 0.15
Prosečna (očekivana) dužina instrukcije dodele vrednosti:
k= 2·P2+3·P3+4·P4+5·P5+6·P6+7·P7 = 3.14
ETF-Beograd Performanse Računarskih Sistema
20
2.1 Dužina programa u zavisnosti od adresnosti
broj mašinskih naredbi za izračunavanje izrazabroj mašinskih naredbi za izračunavanje izraza MMbroj mašinskih naredbi za izračunavanje izraza broj mašinskih naredbi za izračunavanje izraza MMkk
MMkk = = MM11**MM22**MM33 ... *... *MMkk--11 u zavisnosti od adresnosti:u zavisnosti od adresnosti:
m=0 (format 0) m=1 (format MA) m=2 (format MMA) m=3 (format MMM) PUSH M1 A=M1 A=M1*M2 T=M1*M2PUSH M2 A A*M2 A A*M3 T T*M3PUSH M2 A=A*M2 A=A*M3 T=T*M3
* A=A*M3 A=A*M4 T=T*M4PUSH M3 … … …
* A=A*Mk-1 A=A*Mk-1 T=T*Mk-2 A A Mk 1 A A Mk 1 T T Mk 2POP Mk Mk=A{store} Mk=A {store} Mk=T*Mk-12k-2 k k-1 k-2
Ukupan broj instrukcija Lk(m)
ETF-Beograd Performanse Računarskih Sistema
21
2.1 Dužina programa u zavisnosti od adresnosti
k Pk Lk(0) Lk(1) Lk(2) Lk(3) MatematiMatematiččkoko ooččekivanjeekivanje – L(m)=Pk*Lk sr.2 0.43 2 2 1 1 73 0.3 4 3 2 1 L(m)= ∑ Pk·Lk(m) L(m) 4.28 3.14 2.14 1.57( ) ( ) ( )4 0.12 6 4 3 2 k=2 L(0) L(1) L(2) L(3)5 0.05 8 5 4 36 0.05 10 6 5 47 0.05 12 7 6 5
L(1)=k ≈ π L(0)=1 36·k ≈ (e/2)*πL(1)=k ≈ π L(0)=1.36 k ≈ (e/2) πL(2)=0.68 · k ≈ (e/4)*π L(3)=0.5 ·k ≈ π/2
ETF-Beograd Performanse Računarskih Sistema
22
2.3 Brzina procesora i vreme smese instrukcija Tmix
Hoćemo da napišemo program koji dHoćemo da napišemo program koji dinamičkinamičkiiHoćemo da napišemo program koji dHoćemo da napišemo program koji dinamičkinamičkiiprapratiti radarada procesoraprocesora. Legenda:. Legenda:II –– instrukcijainstrukcijaI I instrukcijainstrukcijaTIR TIR –– trap interrupt routinetrap interrupt routineUkoliko jeUkoliko je T=1T=1 (trap bit)(trap bit) posleposle svakesvakeUkoliko jeUkoliko je T=1 T=1 (trap bit), (trap bit), posleposle svakesvakeinstrukcijinstrukcijee se se skaskačče e nana TIRTIRNANA –– načinnačin adresiranjaadresiranjaNA NA načinnačin adresiranjaadresiranjaKOP KOP –– kodkod operacijeoperacijeTITI –– trap interrupttrap interrupt –– interni procesorski prekidinterni procesorski prekid
ETF-Beograd Performanse RačunarskihSistema
23
TI TI –– trap interrupttrap interrupt –– interni procesorski prekidinterni procesorski prekid
2.3 Brzina procesora i vreme smese instrukcija Tmix
II11 InicijalizacijaInicijalizacija brojabrojaččaaII1 1 InicijalizacijaInicijalizacija brojabrojaččaafrekvencijefrekvencije KOP KOP ii NA (NA (nana 00) )
II2 2 OmoguOmoguććavanjeavanje TITI--a a
II3 3 PC:=PC:=PC+duzPC+duz. . instrukcijainstrukcija33 CC C duC du st u c jast u c jaizvršavanjeizvršavanje prethodprethodnnee
II4 4 naredbenaredbe AnalizaAnaliza KOPKOP--aaAutomatskoAutomatsko generisanjegenerisanje UveUveććavaava se se brojacbrojac
TI TI iziz KOPKOP--aaAnalizaAnaliza NANAUveUveććanjeanje brojabrojaččaa
ne ne iziz NANAKrajKraj DinamičkogDinamičkog pracenjapracenjailiili krajkraj analiziranoganaliziranog programaprograma PovratakPovratak iziz TIR TIR
TIRTIR dadaIzračunavanjeIzračunavanje ii šštampanjetampanje rezultatarezultata
nana osnovuosnovu brojacabrojaca frekvencijefrekvencije
ETF-Beograd Performanse Računarskih Sistema
24
2.3 Brzina procesora i vreme smese instrukcija Tmix
AkoAko postojipostoji konakonaččanan brojbroj tipovatipova naredbinaredbi ii načinanačinaAkoAko postojipostoji konakonaččan an brojbroj tipovatipova naredbinaredbi ii načinanačinaadresiranjaadresiranja::CCii -- kodovikodovi ((svihsvih) ) operacijaoperacija: C: C11,, CC22, … , C, … , Ckkii (( )) p jp j 11,, 22, ,, , kk
AAkk -- načininačini adresiranjaadresiranja: A: A11,, AA22, … , , … , AAkk
ffijij –– brojbroj (frekvencija) (frekvencija) pojavapojava kombinacijakombinacija ((Ci,AjCi,Aj))jj
ttijij -- vremevreme izvršavanjaizvršavanja instrukcijainstrukcija zaza svakusvakukombinacijukombinaciju ((Ci,AjCi,Aj) ) TT ukupnoukupno vremevreme izvršavanjaizvršavanja nekognekog programaprogramaTTrunrun –– ukupnoukupno vremevreme izvršavanjaizvršavanja nekognekog programaprograma
FF –– ukupnaukupna brojbroj izvrsenihizvrsenih instrukcijainstrukcija
ETF-Beograd Performanse Računarskih Sistema
25
2.3 Brzina procesora i vreme smese instrukcija Tmix
n k
ij ijruni 1 j 1
T f t= =
= ⋅∑∑ Vreme izvršavanja TrunUkupan broj instrukcija Fj
Tmix - vreme smese instrukcija (instruction mix time):
F
n k
ij ijmix runT T / F p t= = ⋅∑∑i 1 j 1
ij ijp f / F= =
=
ETF-Beograd Performanse Računarskih Sistema
26
2.3 Brzina procesora i vreme smese instrukcija Tmix
ProcesorProcesor sese smatrasmatra bbržržimim ššto jeto je krakraććee vremevremeProcesorProcesor se se smatrasmatra bbržržimim ššto je to je krakraćće e vremevremesmesesmese..BrzinaBrzina procesoraprocesora::pp
VVpp = = 11//TTmixmix = F/= F/TTrunrun [instruction per sec][instruction per sec]((izraizražžavaava se u se u brojubroju instrukcijainstrukcija u u jedinicijedinici vremenavremena)=)= 1010 33//TTmixmix [KOPS]= [KOPS]=
== 1010 66 // TT [MIPS][MIPS]= = 1010 66 // TTmixmix [MIPS][MIPS]•• KOPSKOPS –– kilo kilo operacijaoperacija u u sekundisekundi, , MIPSMIPS –– million instr. per secondmillion instr. per second
n k
p ij iji 1 j 1
V 1 / ( p t )= =
= ⋅∑ ∑
ETF-Beograd Performanse Računarskih Sistema
27
2.4 Kritike – ‘backronym’
Meaningless Indication of Processor SpeedMeaningless Indication of Processor SpeedMeaningless Information on Meaningless Information on PerformansePerformanse for for SalespeopleSalespeopleSalespeopleSalespeopleMeaningless Information about processor SpeedMeaningless Information about processor SpeedKIPS KIPS iliili KOPSKOPS (10(1033))MIPSMIPS (10(1066))VAX 11/780 je bio 1VAX 11/780 je bio 1 MIPS maMIPS mašinašinaGIPSGIPS –– gigagiga instructions per secondinstructions per second (10(1099))GIPS GIPS gigagiga instructions per secondinstructions per second (10(10 ))kMIPSkMIPS –– negde se koristi kilo meganegde se koristi kilo megazMIPSzMIPS ––koristiokoristio IBM IBM zaza servereservere zSerieszSeries
ETF-Beograd Performanse Računarskih Sistema
28
2.3 Brzina procesora i vreme smese instrukcija Tmix
MIPS pojedinih procesora IntelMIPS pojedinih procesora - Intel
godina procesor frekvencija MIPS
1978 8086 5 MH 0 33• MIPS-ovi mogu da se porede kod1978 8086 5 MHz 0.33
1982 80286 8 MHz 1.21988 80386DX 25 MHz 8.5
se porede kod procesora sa istim n i k, istom adresnošću i pod uslovom da se
1999 Pentium III 500 MHz 1,3542003 Pentium 4
E t Editi
3.2 GHz 9,726
pod uslovom da se izvršava isti merni program
Extreme Edition
2006 Intel Core 2 Extreme
QX6700
3.33 GHz 57,063
ETF-Beograd Performanse Računarskih Sistema
29
QX6700