Ytelse. - Maskinvare - Operativsystem - Applikasjonsnivå. Forskjellige kategorier av ytelse. LO121A - Ytelse

Like dokumenter
Generelt om operativsystemer

Generelt om operativsystemer

Læringsmål og pensum. Oversikt. Systemprogramvare Operativsystemer Drivere og hjelpeprogrammer. To hovedtyper programvare

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder

Installasjonsdokument

Minnehåndtering i operativsystemer

Minnehåndtering i operativsystemer

Del1: Setup: BIOS. 2. Hvor mye Internminne har den? 3GB DDR2

Generelt om permanent lagring og filsystemer

VMware ESX og krav til hardware

Logica AS. Tlf: Brukerdokumentasjon LogicalPrint InnsIKT 2.0 Versjon Godkjennelse. Forfatter: Logica. Date.

Funksjonalitet og oppbygning av et OS (og litt mer om Linux)

Oppgave 8.1 fra COD2e

Introduksjon...5. Systemkrav...7. For Windows...9

1. Introduksjon til operativsystemer

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO

Phu Pham Laboppgave 29. September 2015

Til Oppgaven tester jeg med en Multicom Kunshan:

Obligatorisk oppgave 1: Regneklynge

Huldt & Lillevik Lønn og Personal - System 4. Installasjon. - første gang. Med MS SQL Server eller eksisterende MS Express.

Definisjon av prosess

Tonje Thøgersen, Daniel Svensen Sundell, Henrik Smedstuen

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Kjenn din pc (Windows Vista)

Marius Rogndalen Karlsen, Informatikk Lab oppgave

Kjenn din PC (Windows 10)

NorthIce videobriller

Tungregning (HPC) Eirik Thorsnes

Martin Olsen, Lars- Petter Ahlsen og Jon- Håkon Rabben

Manual for AL500AC og AL100AC

Kjenn din PC (Windows7)

Oppgave: Last ned og installer bzflag apt-get install bzflag 121A - Virtualisering

Instruksjoner for installering og fjerning av Windows PostScript- og PCLskriverdrivere

Datamaskinens oppbygning

Tildeling av minne til prosesser

Læringsmål og pensum. v=nkiu9yen5nc

Manual for Eagle 100 og Lynx 500

Operativsystemer og nettverk Løsningsforslag til eksamen Oppgave 1. a) Linux-kommando: java Beregn & b) Shellprogram:

Del 1 Setup - BIOS Oppgaver: 1. Hva slags CPU har maskinen? Beskriv de tekniske egenskapene ved CPU en.

Into da BIOS<3. Bak Skallet

Tildeling av minne til prosesser

Patrick Fallang (Dataingeniør) Lab Oppgave: Kjenn Din Egen PC (XP)

2. Hvor mye Internminne har den? Svar: 2GB

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache

Operativsystemer og grensesnitt

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

En harddisk består av et lite antall plater av et magnetisk materiale.

Kjenn din PC (Windows7, Vista)

Setup programmet brukes til å endre konfigurasjonen av BIOS og til å vise resultatene fra

TDT4225 Lagring og behandling av store datamengder

Fullstendig ytelsesbehandling

Kompleksitetsanalyse Helge Hafting Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LO117D Algoritmiske metoder

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Installasjon Huldt & Lillevik Lønn. Innhold

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Oppgave 2: Gå til roten (/) av systemet. Finn minst tre forskjellige måter å gå tilbake til hjemmekatalogen din på.

Her velger dere først System and Security og deretter System.

Del 2. Bak skallet. Avsette minne til et spesifikt OS Teste harddisk under oppstart Sette opp system logger

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Installasjonsveiledning Lenovo ThinkPad Edge. ADCom Data - Molde

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

Singletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer.

TDT4225 Lagring og behandling av store datamengder

Fetch Datamaskinen henter en instruksjon i form av et tall eller en rekke tall fra programminne.

3. - Corsair Vengeance DDR3 1600MHz 8GB CL9 Prøv om du kan finne en tastatur-snarvei for å komme til dette kontrollpanelet.

Huldt & Lillevik Lønn 5.0. Oppdatere til ny versjon

Oppgave lab. 2. Hvor mye Internminne har den? - Maskinen har 2GB internminne.

Installasjonsveiledning for Ordnett Pluss

Installasjonsveiledning for Ordnett Pluss

HØGSKOLEN I SØR-TRØNDELAG

Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse

Installere tilpasset PostScript- eller PCL-skriverdriver for Windows

Nadine Pedersen GRIT Datamaskinen- kjenn din Mac

Dagens tema. Flere teknikker for å øke hastigheten

Vi anbefaler at du setter deg litt inn i maskinen på forhånd. Det er en DELL Optiplex 620.

HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning Data

oppgavesett 4 INF1060 H16 Hans Petter Taugbøl Kragset Øystein Dale Christian Resell 27. september 2016 Institutt for informatikk, UiO

Dagens temaer. Dagens emner er hentet fra Englander kapittel 11 (side ) Repetisjon av viktige emner i CPU-design.

6105 Windows Server og datanett

Huldt & Lillevik Lønn 5.0. Installere systemet

HØGSKOLEN I SØR-TRØNDELAG

Kjenn din PC (Windows 7)

Oppløsning vil si antallet pixler det er i skjermen, i min skjerm er det 2560x1600px.

Hvorfor lære om maskinvare*?

Scheduling og prosesshåndtering

Programvareoppdateringer

Servere. Katalog Åpningstid: 09:00-17:00 alle hverdager.

Faglig kontakt under eksamen: Orestis Gkorgkas

Controller Brukerstøttedatabase Ottar Holstad/Cantor 09.

Lars Vidar Magnusson. October 11, Lars Vidar Magnusson () Forelesning i Operativsystemer October 11, / 28

Installere Custom PostScript- eller PCL-skriverdriver for Windows

Installasjonsveiledning for Ordnett Pluss

PXT: Hermegåsa. Introduksjon. Skrevet av: Felix Bjerke og Tjerand Silde

DDS-CAD 7 INSTALLASJON VIA NETTVERK. DATA DESIGN SYSTEM ASA Øksnevad Næringspark, 4353 Klepp st., fax , tel.: , e-post: dds@dds.

Etiming i VirtualBox!!!!!!!!!! Side 1 av 24

Kjenn din PC (Windows vista)

Bits&Bytes Om datamaskinens oppbygging og virkemåte. TOS - IKT Tirsdag 4. desember 2012 Seksjon for digital kompetanse

UNIVERSITETET I OSLO

Transkript:

Ytelse

Ytelse Forskjellige kategorier av ytelse - Maskinvare - Operativsystem - Applikasjonsnivå

Maskinvare Disker og kontrollere: Skrive, Lese, Søke Nettverkskort og infrasruktur: Mb/s Prosessor: GHz, kjerner Minne kapasitet og klokke: MB, MHz (Skjermkort)

Maskinvare Ytelse er oftest i teoretiske nivåer Beregninger blir urealistiske, men viser likevel konkrete flaskehalser Kan kontrolleres ved å oppgradere eller forandre oppsett (f.eks RAID) Høy grad av forutsigbarhet per enhet (f.eks et nettverkskort blir ikke langsommere over tid)

Operativsystem Svært sammensatt programmpakke, bestående av: - Kjernen, med diverse versjoner - Drivere til maskinvare - Bibliotek og systemkall som programmer kan bruke - Protokoller som er installert (f.eks TCP, ICMP) - Filsystem

Operativsystemer Ytelse er noenlunde forutsigbart under svært kontrollerte forhold Versjoner av drivere, generell alderdom og bruk påvirker ytelse Instillinger i kjernen kan optimalisere i forhold til konkrete behov: - Schedulering - Minnehåndtering - Filsystemcaching

Filsystemer Kan optimaliseres for store eller små filer, lesing eller skriving Håndterer store mengder filer forskjellig Det er mulig å forandre egenskaper med filsystemet, men vanskelig å bytte det når systemet er i produksjon Gamle-Erik: Fragmenterte filsystem

Applikasjonsnivå Vanskelig å måle ytelse fordi bruksmønster og data er så individuelt Ved variasjon i bruk vil også ytelse variere Algoritmer yter forskjellig avhengig av hvordan data er lokalt Likevel er det applikasjonens ytelse som er det som teller...

Applikasjon Bibliotek Alt henger sammen Systemkall Filsystem OS + cache Drivere Firmware Ytelsen kan forbedres på en rekke nivåer helt fra applikasjonen og ned til disken Man kan velge å teste på forskjellige nivå for å finne eventuelt svinn Disk cache Lesehode Diskplater

Alt henger sammen Ytelsen kan forbedres på en rekke nivåer helt fra applikasjonen og ned til disken Man kan velge å teste på forskjellige nivå for å finne eventuelt svinn Jo støre avstand, desto vanskeligere å konkludere noe

Forutsigbarhet Nøkkelen til god ytelsesanalyse er å få riktig oversikt over systemets oppførsel Spør deg selv ikke om systemet er raskt, men om det er raskt nok til enhver tid gjennom regelmessig overvåking Informasjon finner man vanligvis i log-filer, men analysen må man gjøre selv Grunnleggende deskriptiv statistikk er ofte det som skal til for å klare å beskrive det man ser Uten forutsigbarhet har man ikke mulighet til å se om evt. forbedringer har noe effekt

Aritmetisk gjennomsnitt Summen av alle verdiene delt på antall verdier 0<i<N n i N Eks: 9, 9,12, 27, 22, 22,19, 6, 26, 7, 9 Gjennomsnitt: 15.27

Median Verdien som er i midten av en sortert rekke av verdier Eks: 9, 9,12, 27, 22, 22,19, 6, 26, 7, 9 Sortering 6, 7, 9, 9, 9,12, 19, 22, 22, 26,27 Median: 12

Modus Verdien som opptrer oftest (Mest sannsynlig verdi) 9, 9,12, 27, 22, 22,19, 6, 26, 7, 9 Modus: 9

Fordelinger (Distribution plots) Fordelingen av verdiene i en tallserie forteller om sannsynligheten til verdiene i fermtiden Den mest kjente fordelingen er normalfordelingen Ofte har data en kompleks og sammensatt fordeling

Fordelinger (Distribution plots) Dersom verdiene har mange forskjellige faktorer som påvirker dem, blir fordelingene ofte sammensatt av flere maksimum (multimodal) Det finnes ikke mange verktøy som viser dette for oss (men vi kan jo programmere, så...) Utfordringen er å hente ut tallene og å vaske dem

Spredning Gir intrykk av hvor bredt dataene er fordelt Ved ordinalnivå og ikke normalfordeling, så blir percentiler brukt til å beskrive bredde rundt median

Fordelinger: Huskeregler Avstand mellom gjennomsnitt og median betyr at fordelingen er usymetrisk Ved multimodale fordelinger gir gjennomsnitt lite mening Liten spredning betyr homogenitet (likeartede verdier) Stor spredning betyr heterogenitet (stor variasjon i verdiene)

OpenOffice hjelp Vi bruker et OpenOffice regneark til hjelp for å analysere data Det eneste man trenger å gjøre er å få tak i tallene å få dem på en kolonne

Måle filsystem ytelse

To måter å undersøke ytelsen Aktive tester - Går inn og presser ytelsen til det maksimale - Finner ekstremverdier som vi ofte ikke ser i vanlig bruk Passive tester - Sammler data fra vanlig bruk

Aktive tester Vi har hovedsaklig to design på aktive tester: - Syntetisk. En serie eksperiementer der vi kontrollerer så mye av prosessen som mulig og sanker inn data. - Realistisk. Vi bruker systemet slik som brukeren ville gjort det og måler ytelsen på operasjonene. Mange syntetiske tester prøver å gjøre så realistiske operasjoner som mulig. Å gjøre en aktiv test utgjør natruligvis en stor belastning. man kan altså ikke gjøre det når man vil.

Passive tester Beskriver den ytelsen den har sett så langt, istedetfor å finne yttergrensene Belaster ikke systemet og kan gjøres hele tiden Informasjonen ligger vanligvis i /proc i Linux Gir et her-og-nå bilde Eksempel vi kjenner: Munin

Bonnie++ Aktiv filsystem benchmark for Linux Installeres med apt-get install bonnie++ Syntetisk test som gjør lav-nivå fil operasjoner Bruker systemkall og måler hvor lang tid de tok, samt hvor mye CPU som ble brukt til hvert kall. En enkelt test: bonnie++ -d mappe -m maskinnavn -q

Sekvensiell ytelse Sekvensiell lagring av informasjon - Bruker putc() til å skrive tegn for tegn til en stor fil - Måler antall tegn per sekund samt CPUbruk - Bruker write() til å skrive blokk for blokk - Måler antall blokker per sekund samt CPU-tid

Sekvensiell ytelse II En tilfeldig del av filen blir lest, endret, og skrevet ut igjen med write() - Indikerer effektivitet av cache - Størrelsen på delen som blir behandlet kan bli justert: -s filstørrelse:delstørrelse -s 7g:1024k

Sekvensiell ytelse III Sekvensiell lesing av informasjon - Bruker getc() til å lese tegn for tegn til en stor fil - Måler antall tegn per sekund samt CPUbruk - Bruker read() til å lese blokk for blokk - Måler antall blokker per sekund samt CPU-tid

Søketid Søker et tilfeldig sted til filen med lseek() - Måler tid i ms for hvert søk - Lavere er bedre

Filbehandling Oppretter n * 1024 filer av max - min størrelse - Måler antall filer per sekund Åpner og leser n * 1024 filer - Måler antall filer per sekund Sletter n * 1024 filer per sekund Justeres med: -n n:max:min:mapper

bonnie++ satt i system En enkelt test er ofte ikke representativ nok Vi vil gjenta testen ofte og vise resultatene på en smart måte La bonnie++ kjøre 10 tester og lagre output til fil: bonnie++ -d mappe -m maskinnavn -q -x 10 > bout.dat Filen bout.txt vil nå inneholde ti rader med resultater Vi kan bruke to verktøy for å lage enten vakker tekst eller HTML av resultatfilen: cat bout.dat bon_csv2html > bout.html cat bout.dat bon_csv2txt > bout.txt

HTML utskrift Tekst utskrift

Kjøre bonnie++ på maskin uten Linux Boot med Ubuntu CD Åpne filsystemet (kan skje automatisk, eller bruk mount-kommandoen) Skriv sudo apt-get install bonnie++ Kjør bonnie++ og husk å sette -d mappe til riktig sted

Effekten av justeringer: Er differansen i resultatene større enn variasjonen?

iostat Passiv ytelsesmåler for disker (ikke filsystem) Overvåker antall IO operasjoner over tid Installasjon: apt-get install sysstat Eksempel på kjøring: iostat -k -d watch iostat -k -d

hdparm Aktiv ytelsesmåler for disk og diskcache: hdparm -tt /dev/disk Kan også vise info om disker og sette lav-nivå instillinger: hdparm /dev/disk - readahead hdparm -a tall /dev/disk - spindown og power-management hdparm -B tall -S tall /dev/disk

SSD - Hva nå? SSD (Solid-State Disker) er basert på flash-minne og ikke magnetplater Svært høy søketid Lite strømforbruk Null støy Veldig høy lese/skrive ytelse, spesielt ved tilfeldig skriving Kommer det til å forandre måten vi tester ytelse aktivt