T1.3 / T1. 5 Ytelse Flashcards
Hva er de viktigste ytelsesmetrikkene i datamaskinsarkitektur?
- Kjøretid (execution time)
- Gjennomstrømning (throughput)
- Ytelse
OBS! Kjøretid er det eneste gyldige og uforandelige målet av ytelse
Kjøretid
Tiden det tar fra du starter et program til det er ferdig
Hvorfor er kjøretid en av de tre viktigste ytelsesmetrikkene?
- Kan deles inn i tid brukt på applikasjonen (user time) og i operativsystemet (system time)
- Lavere tall er bedre
- Raskere prosessor –> Lavere kjøretid
Gjennomstrømning
Mengden arbeid gjort per tidsenhet
Hvorfor er gjennomstrømning en av de tre viktigste ytelsesmetrikkene?
- Høyere tall er bedre
- Flere prosessorer –> Mer gjennomstrømning
Ytelse
Invers kjøretid
- Høyere tall er bedre
- Ytelse = 1 / Kjøretid
- Måles i tid
- Klokkesykler per instruksjon (CPI)
Gjennomsnittlig antall klokkesykler per instruksjon for et program / en programdel
Hva er forskjellen på kjøretid og båndbredde?
- Kjøretid: Tiden det tar for et program eller en prosess å fullføre en oppgave fra start til slutt. Måles ofte i sekunder, minutter eller timer.
- Båndbredde: Mengden data som kan overføres per sekund over en nettverksforbindelse. Måles vanligvis i biter per sekund (bps), som Mbps eller Gbps.
- Kjøretid handler om tid for fullføring av en oppgave, mens båndbredde handler om datamengde per tidsenhet i en overføring.
Når er det mest hensiktsmessig å velge kjøretid ovenfor båndbredde?
- Hovedmålet er å minimere behandlingstiden for en oppgave
- Dataoverføring ikke er flaskehalsen; når rask fullføring av beregninger er viktigere enn mengden data som kan overføres per sekund
Når er det mest hensiktsmessig å velge båndbredde ovenfor kjøretid?
- Store mengder data må overføres raskt
- Nettverkskapasitet er flaskehalsen, slik at økt båndbredde kan redusere ventetid og forbedre brukeropplevelsen.
- Respons og tilgjengelighet er viktigere enn prosesseringshastighet
Hva er “The Iron Law”?
- Kjøretid = antall klokkesykler * sykeltid
- Ytelsen avhenger av tre faktorer: instruksjonsnivå, klokkehastighet, og effektivitet i å bruke klokkesykluser
Hvordan kan man bruke “The Iron Law” til å forutsi hvordan endringer i arkitekturen påvirker kjøretid?
- Antall instruksjoner: Redusering av instruksjoner per oppgave (f.eks. via optimalisering eller mer effektive instruksjonssett) kan redusere kjøretiden.
- Klokkehastighet: Økning i klokkehastighet (flere sykluser per sekund) kan redusere kjøretiden, men er begrenset av varme og energiforbruk.
- Effektiv bruk av klokkesykluser: Forbedret ressursutnyttelse (f.eks. ved parallell prosessering) reduserer kjøretiden ved å bruke færre sykluser per instruksjon.
Hvordan påvirker spenning og klokkefrekvens effektforbruk og strømforbruk?
- Spenning: Økt spenning fører til eksponentielt økt effektforbruk (P ∝ V²). Øker effektforbruket og varmeutviklingen. Høyere spenning gir også høyere strømforbruk.
- Klokkefrekvens: Økt klokkefrekvens fører til høyere effektforbruk (P ∝ f), siden flere operasjoner per sekund krever mer energi. Øker også strømforbruket proporsjonalt med frekvensen.
Hva er en testprogramsamling?
Programmer som måler ytelse - altså kjøretid, det fundamentale ytelsesmålet
Hvorfor brukes testprogramsamlinger?
- Brukes til å karakterisere ytelsen til et system med ett enkelt tall
- Er representativ for den typiske arbeidslasten til systemet