Datamaskiners ydeevne

Relaterede dokumenter
DATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003

To mikroarkitekturer til MIPS Karakteropgave på Maskinarkitektur 1B

OpenTele Server Performance Test Rapport

Grundlæggende køretidsanalyse af algoritmer

CIP-optimering uden risiko for fødevaresikkerheden

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen mandag den 28. maj min min min min.

Processoren: Enkelt-cyklus implementation

Computerens Anatomi. Af Martin Arnetoft

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

Computerens Anatomi KOM/IT

Hvilket sprog er hurtigst

Valg af Automationsplatform

Computer Literacy. En stationær bordmodel. En Bærbar Notebook, Labtop, Slæbbar, Blærebar mm.

Ydeevne og kapacitet. Indholdsfortegnelse

Lær Python dag 1 - modul 1

Programming Language Design and Analysis motivated by Hardware Evolution

CPUer og maskinkode DM534. Rolf Fagerberg

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen

Sammenlign og byt. Et eksempel på dokumentering af et program

Maskinsprog. Martin Zachariasen, DIKU. Programmer og ordrer. Ordretyper. Operander og deres placering. Ordreformat. Procedurekald. Andre arkitekturer

DATALOGI 1E. Skriftlig eksamen fredag den 7. juni 2002

BILAG. til. Kommissionens delegerede forordning

Algoritmedesign med internetanvendelser ved Keld Helsgaun

Modeling levels. Levels of hardware modeling. Possible set of levels (others exist)

VMware VMmark V1.1.1 Results

Start af nyt schematic projekt i Quartus II

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen mandag den 23. juni 2003

High-Performance Data Mining med SAS Enterprise Miner 14.1

Programmering i C Intro og grundlæggende C 5. marts 2007

Til dig som vil have et indblik i computeren

Grundlæggende Algoritmer og Datastrukturer. Analyseværktøjer [CLRS, 1-3.1]

CPU i7 2.2 GHz 4 kerner i5-4210u 1,7 GHz 2 kerner, 4 logiske kerner GPU integreret Nvidia GeForce 820M Ram 8GB 6 GB Harddisk HDD HDD

DATALOGI 1E. Skriftlig eksamen fredag d. 16. januar 2004

Computerens - Anatomi

Web services i brug. Anvendelse uden for biblioteksverdenen

Programmering i C. Lektion september 2009

Symantec Multi-tier Protection Small Business Edition

Mircobit Kursus Lektion 1

Algorithms & Architectures II

Projekt DATA step view

Efficient Hardware Support for the Partitioned Global Address Space

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Processoren: Fler-cyklus implementation

PAXNET. - Den tekniske implementering - Offentlig netværks ydelser - Det fysiske netværk - Drift af netværket

\ \ Computerens Anatomi / /

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal

Struktureret Test og Værktøjer Appendiks til bogen Struktureret Test

Mindstekrav til udstyr (fase 1) Løsningsbeskrivelse

Revision af studieordninger

Muligheder og begrænsninger i Deep Learning. C h r i s H o l m b e r g B a h n s e n

Basic Design Flow. Logic Design Logic synthesis Logic optimization Technology mapping Physical design. Floorplanning Placement Fabrication

Globeteam A/S. Windows Server Globeteam Virumgårdsvej 17A 2830 Virum. SolutionsDay 2012, den 27. September, Brøndby Stadion

Speciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP)

Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner

Algoritmer og Datastrukturer 1

Økonomisk analyse af forskellige strategier for drægtighedsundersøgelser

Indeklimasimulering skal tilpasses designpraksis ikke omvendt. Pil Brix Purup

Datanet Obligatorisk opgave 2: TCP. René Hansen Michael Nilou Anders Bjerg Pedersen Hold september 2007

Repræsentation af tal

AgroSync installations vejledning

Indhold. Maskinstruktur Kapitel 1. Assemblersprog Indledning Hop-instruktioner Input og output...

Autodesk Simulation. Torben Christensen Niels Riis Christensen NTI CADCenter A/S

CONNECTING PEOPLE AUTOMATION & IT

Værktøjer, der kan regne på LAR-elementer

Performancetest af patientkritisk system DSTB Per Skjoldager ahoc - Jesper Mortensen ahoc

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen fredag den 7. juni 2002

HP anbefaler Windows. Slip kreativiteten løs.

Computerarkitektur. - en introduktion til computerarkitektur med LINDA

Har det en værdi og hvordan kommer du i gang?

Jeg har i forbindelse med it og programmering designet og udviklet et it-produkt, som kan beregne rødder i en anden gradsligning.

Tempus Serva. - er NEM IT til alle virksomheder

SPØRGSMÅL SVAR NR. 2. Greve Kommune udbud - Spørgsmål fra tilbudsgivere og Greve Kommunes besvarelse. Nr. Spørgsmål Besvarelse

Overbelastning af processor i Windows XP og i Ubuntu

Spar tid med struktureret programmering! Om PLC programmering

Principper for Samtidighed og Styresystemer

SYSTEMDOKUMENTATION AF POC

Mini game 1-2 Binding

Simuleringsmodel for livsforløb

Til dig som vil have et indblik i computeren

BlueGene/L System Status Update

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med

CONNECTING PEOPLE AUTOMATION & IT

Computerens Anatomi. Kom/IT C - Computer Anatomi - Daniel og Fie - 3/ Planlægning af kommunikationsvalg og medieprodukt.

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet)

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

MANUAL. Præsentation af Temperaturloggerdata. Version 2.0

Netværksalgoritmer 1

make connections share ideas be inspired

Danmarks hurtigste Supercomputer

- Installationsvejledning for SOSIGW 1.1, NSP

Microsoft Dynamics CRM 2013

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3

Kursus 02323: Introducerende Statistik. Forelæsning 12: Forsøgsplanlægning. Peder Bacher

Installations- og. Brugervejledning. Rambøll CAREArkiv - version feb Rambøll Informatik A/S. j.nr. LLP feb.

Web Services Light. Karen Thomsen. Silkeborg Bibliotek. Karen Thomsen

Scheduling. Niels Olof Bouvin. Institut for Datalogi Aarhus Universitet

Versionsbrev. LUDUS Web version Den 4. maj J.nr V

Vejen til nemmere og mere sikker implementering af Microsoft Dynamics AX

Symantec Multi-tier Protection

APPLIKATIONSARKITEKTUR ERP INFRASTRUKTUR. EG Copyright

Transkript:

Datamaskiners ydeevne Martin Zachariasen, DIKU Litteratur: Patterson & Hennessy, kap. 2 Måling af ydeevne Simple ydelsesmål: Klokfrekvens CPI MIPS Benchmarks SPEC 1

Brugerkrav Som brugere af en datamaskine/system er vi ved løsningen af en given opgave bl.a. interesserede i følgende parametre: 1. Programmers totale køretid (og ventetider) hvor lang tid tog det at afvikle hele programmet? hvor lang tid skulle jeg vente hver gang programmet havde fået noget input? 2. Systemers totalkapacitet (throughput) hvor mange brugere kan afvikle deres applikationer samtidig? hvor længe skal de enkelte brugere i gennemsnit vente på systemet? 2

Måling af ydeevne Tid er målestokken for processorers ydeevne. Naturlig definition af tid: Sand urtid svartid forløbet tid Forløbet tid kan deles op i: CPU-tid bruger CPU-tid system CPU-tid Øvrig tid (ventetid for I/O, tid til andre prog. o.s.v.) Hvordan måles CPU-tid? 3

Almindeligt brugte ydelsesmål Klokfrekvens i MHz CPI (antal klokcykler pr. ordre) MIPS (millioner ordrer pr. sekund) MFLOPS (millioner flydende-tals ordrer pr. sekund) Benchmarks 4

Klokfrekvens i MHz Er klokfrekvensen i MHz et godt processor ydelsesmål? CPU-tid #Klokcykler Klokcyklustid Klokcyklustiden er den reciprokke værdi af klokfrekvensen: Klokcyklustid 1 / Klokfrekvens Uden viden om antallet af klokcykler kan vi ikke sige noget om computerens ydeevne! Antallet af klokcykler afhænger bl.a. af ordretypen: Multiplikation tager længere tid end addition Flydende-tals operationer tager længere tid end heltals-operationer Lagertilgang kræver længere tid end registerbanktilgang 5

Hvordan opnår vi en højere ydelse? Maskinkonstruktøren kan øge ydeevnen ved at (a) reducere klokcyklustiden (b) formindske antallet af klokcykler Oftest må (a) afvejes mod (b) Hvorfor? En kortere klokcyklustid vil normalt kræve et højere antal klokcykler mindre arbejde kan udføres pr. klokcyklus. Eksempel: Enkelt-cyklus: Få klokcykler men høj klokcyklustid Fler-cyklus: Mange klokcykler men lav klokcyklustid Pipelining: Få klokcykler og lav klokcyklustid! 6

Eksempel Der er givet et program P. Maskine A: CPU-tiden for P er 10 s Maskine B: Ønsket CPU-tid for P: 6 s Antag at det er muligt at øge klokfrekvensen, men at det kræver 20% flere klokcykler til afvikling af P: Klokfrekvens #Klokcykler CPU-tid Klokfrekvens #Klokcykler CPU-tid hvoraf Klokfrekvens #Klokcykler CPU-tid Klokfrekvens 7

Processorydelsesligningen I de foregående eksempler er ingen henvisning til antal ordrer i programmet P. CPU-tiden afhænger (også) af antallet af ordrer i P. CPU-tid #Ordrer Ordretid CPI (Cycles Per Instruction): Gennemsnitligt antal klokcykler pr. ordre for P. Heraf fås: CPU-tid #Ordrer CPI Klokcyklustid eller #Sekunder #Ordrer #Klokcykler #Sekunder Program Program Ordrer Klokcyklus 8

Hvordan bestemmer vi de tre parametre? CPU-tiden kan måles. Klokcyklustiden kan findes i maskinens dokumentation. Antal ordrer kan bestemmes via en profiler eller ved arkitektursimulering. Bestemmelse af CPI kræver detaljeret simulering af maskinen. Antal klokcykler kan beregnes ved formlen CPI hvor er antal ordrer af klassen, CPI er antal klokcykler pr. ordre for klassen, og er antallet af ordreklasser. 9

CPI-eksempel Samme ordresæt. Givet: Maskine A: Klokcyklustid = 10 ns, CPI = 2.0. Maskine B: Klokcyklustid = 20 ns, CPI = 1.2. Hvilken maskine udfører programmet hurtigst og hvor meget hurtigere? Da ordresættene er ens udføres det samme antal ordrer. CPU-tid ns ns CPU-tid ns ns Altså er A er gange hurtigere end B. 10

Oversættereksempel En oversætterkonstruktør skal vælge mellem to kodesekvenser for en bestemt maskine. Han ved følgende: Ordretype CPI for ordretypen A 1 B 2 C 3 For en bestemt højniveau ordre, der skal oversættes, betragtes to mulige maskinkodesekvenser: Antal ordrer for ordretype Kodesekvens A B C 1 2 1 2 2 4 1 1 11

Oversættereksempel (forts.) Vi betragter følgende spørgsmål: 1. Hvilken kodesekvens udfører flest ordrer? Kodesekvens 1 udfører Kodesekvens 2 udfører 2. Hvilken er hurtigst? Vi skal tælle klokcykler: ordrer ordrer #Klokcykler #Klokcykler 3. Hvad er CPI for hver sekvens? CPI CPI Her ses risikoen ved blot at bruge én parameter (ordreantallet) til vurdering af ydeevnen. Man skal se på alle tre parametre, som samlet giver CPU-tiden. 12

MIPS MIPS: Millioner ordrer pr. sek. for et givet program: MIPS #Ordrer CPU-tid Fordele: simpelt og nemt at forstå hurtigere maskiner har generelt højere MIPS Ulemper: uafhængig af ordresættet (kraftigt/svagt) på en given datamat afhænger MIPS af programmet kan variere omvendt med ydelsen! 13

MIPS-eksempel To forskellige oversættere afprøves på en 500 MHz maskine med tre forskellige ordretyper: klasse A, klasse B og klasse C, som kræver henholdvis 1, 2 og 3 klokcykler. Begge oversættere bruges til at generere kode for et stort program. Ordretype A B C Klokcykler pr. ordre 1 2 3 Oversætter 1: antal ( ) 5 1 1 Oversætter 2: antal ( ) 10 1 1 CPU-tid CPU-tid s s MIPS MIPS Konklusion: MIPS er ikke nødvendigvis et mål for den reelle CPU-tid! 14

Benchmarks Ydelse bestemmes bedst ved at køre et rigtigt brugerprogram programmer med typisk forventet belastning eller: typiske for de forventede anvendelser, f.eks. oversættere, editorer, videnskabelige beregninger, grafik o.s.v. Små benchmark tests praktiske for arkitekter og konstruktører lette at standardisere kan misbruges SPEC (Systems Performance Evaluation Cooperative) producenterne blevet enige om et sæt rigtige programmer og inddata vigtig målestok for ydeevne (og oversætterteknik) kan stadig misbruges 15

SPEC Non-profit group of computer vendors, systems integrators, universities, research organizations, publishers and consultants throughout the world Nogle aktuelle benchmark pakker: CPU2000 Evaluering af processorydelse (består af bl.a. CINT2000 og CFP2000) www.spec.org JVM98 Sammenligning af Java virtual machine (JVM) klient platforme MAIL2001 Mail-server benchmark WEB99 WWW-server benchmark 16

SPEC CINT2000 CINT2000 pakken, der er skrevet i C og C++, omfatter 12 CPU-intensive heltals-benchmarks. SPECint2000 The geometric mean of 12 normalized ratios (one for each integer benchmark) when compiled with aggressive optimization for each benchmark. SPECint base2000 The geometric mean of 12 normalized ratios when compiled with conservative optimization for each benchmark. SPECint rate2000 The geometric mean of 12 normalized throughput ratios when compiled with aggressive optimization for each benchmark. SPECint rate base2000 The geometric mean of 12 normalized throughput ratios when compiled with conservative optimization for each benchmark. www.spec.org 17

SPEC CINT2000: Individuelle benchmarks gzip Data compression utility vpr FPGA circuit placement and routing gcc C compiler mcf Minimum cost network flow solver crafty Chess program parser Natural language processing eon Ray tracing perlbmk Perl gap Computational group theory vortex Object Oriented Database bzip2 Data compression utility twolf Place and route simulator www.spec.org 18

SPEC CPU2000: CFP2000 CFP2000 pakken, der er skrevet i FORTRAN og C, indeholder 14 CPU-intensive flydende-tal benchmarks. SPECfp2000 The geometric mean of 14 normalized ratios (one for each floating point benchmark) when compiled with aggressive optimization for each benchmark. SPECfp base2000 The geometric mean of 14 normalized ratios when compiled with conservative optimization for each benchmark. SPECfp rate2000 The geometric mean of 14 normalized throughput ratios when compiled with aggressive optimization for each benchmark. SPECfp rate base2000 The geometric mean of 14 normalized throughput ratios when compiled with conservative optimization for each benchmark. www.spec.org 19

SPEC CFP2000: Individuelle benchmarks wupwise Quantum chromodynamics swim Shallow water modeling mgrid Multi-grid solver in 3D potential field applu Parabolic/elliptic partial differential equations mesa 3D Graphics library galgel Fluid dynamics: analysis of oscillatory instability art Neural network simulation; adaptive resonance theory equake Finite element simulation; earthquake modeling facerec Computer vision: recognizes faces ammp Computational chemistry lucas Number theory: primality testing fma3d Finite element crash simulation sixtrack Particle accelerator model apsi Solves problems regarding temperature, wind, velocity and distribution of pollutants www.spec.org 20

SPEC: Nogle eksempler Resultater af base test, dvs. med konservativ optimering af oversætteren. Processor CINT2000 CFP2000 AMD Athlon (2.2 GHz) 1376 873 AMD Opteron 144 (1.8 GHz) 1081 1122 Intel Xeon (2.8 GHz) 1204 774 Intel Pentium 4 (3.2 GHz) 1583 1267 Intel Itanium 2 (1.5 GHz) 1322 2119 Konklusion: Klokfrekvensen fortæller langt fra hele historien når man skal evaluere ydeevnen af en maskine. 21