Rechnerarchitektur (RA)
3. Leistungsbewertung Prof. Dr. Christian Plessl
RA.3 2018 v1.0.0
1
3. Leistungsbewertung
3.1 Performance,PerformancegleichungundEinflussfaktoren 3.2 Performancebewertung
3.3 Performanceverbesserungen
RA.3 2018 v1.0.0
Inhaltsverzeichnis
2
3.1 Performance
Die Bewertung von Computern kann viele Aspekte umfassen:
Kosten
Leistungsverbrauch
Ausfuhrungszeit von Programmen
Reaktionszeit auf Unterbrechungen
Verfugbarkeit von Systemsoftware, Anwendersoftware, Zusatzhardware
Die Leistungsfahigkeit (Leistung, performance) eines Computers wird meist durch folgende Parameter ausgedruckt:
Ausfuhrungszeit (execution time) [s]
Wie lange braucht ein Computer fur ein gegebenes Programm?
Durchsatz (throughput) [s-1]
Wie viele Programme (Jobs, Transaktionen, etc.) pro Zeiteinheit kann
ein Computer abarbeiten?
RA.3 2018 v1.0.0
3
Prozessorperformance
Die besten Metriken zur Beurteilung der Prozessorperformance eines Computers X sind umgekehrt proportional zur Ausfuhrungszeit:
PerformanceX ~
1 AusfuhrungszeitX
Relative Performance
PerformanceA > PerformanceB AusfuhrungszeitA < AusfuhrungszeitB Computer A ist n-mal schneller als Computer B:PerformanceA = AusfuhrungszeitB = nPerformanceB AusfuhrungszeitA Alle diese Aussagen gelten fur das konkret gemessene Programm!RA.3 2018 v1.0.04 Elapsed time (wall-clock time, verstrichene Zeit) Die gesamte Programmausfuhrung wird mit einer Stoppuhr gemessen. Diese Zeit beinhalt Zeiten fur Speicher- und Festplattenzugriffe, Ein/Ausgabe und Betriebssystemaktivitaten. Betriebssysteme optimieren meist den Durchsatz, weniger die Laufzeit eines bestimmten Programmes. Daher beinhalt die elapsed time auch Zeiten, in denen der Prozessor Tatigkeiten fur andere Programme durchfuhrt. CPU time (Prozessor-Ausfuhrungszeit) Beinhaltet keine Ein/Ausgabe und keine Aktivitaten fur andere Programme. Oft wird die CPU time noch unterteilt in user CPU time Prozessorzeit fur das Anwendungsprogramm system CPU time Prozessorzeit fur die Betriebssystemaufrufe desAnwendungsprogrammsRA.3 2018 v1.0.0Zeitmessung 5 Prozessor-Performancegleichung T =I CPI T exe c Texe Prozessorausfuhrungszeit fur ein ProgrammIc Die Anzahl der Maschineninstruktionen (instruction count), die beider Programmausfuhrung abgearbeitet wird.CPI Durchschnittliche Anzahl der benotigten Taktzyklen pro Instruktion (cycles per instruction).T Der Prozessor ist eine synchrone digitale Schaltung mit einer Taktperiode T bzw. Taktfrequenz f =1/T. BeispielIc=2106, CPI=2, f=4GHz: Texe = 2106225010-12 = 1 ms RA.3 2018 v1.0.06 Prozessor-Performancefaktoren Bestimmung der Performancefaktoren Texe Prozessorausfuhrungszeit messenIc Programmausfuhrung und Zahlen der Instruktionen durch Profiling oder Hardwarezahler, SimulatorCPI detaillierte Simulation der Prozessorimplementierung, Hardware- zahler, exakte Bestimmung ist schwierig Taus dem Datenblatt des Prozessors Nicht immer ist die Bestimmung der Performancefaktoren am realen Prozessor moglich. Wenn zB. der Prozessor gerade erst entwickelt wird, muss auf Simulationen zuruckgegriffen werden. Im Moment wird nur die reine Prozessorleistung betrachtet. Spater wird die Performancegleichung durch Hinzunahme von Cache- und Speicherzugriffen erweitert.RA.3 2018 v1.0.07Cycles per Instruction (CPI)Verschiedene Instruktionsklassen haben oft unterschiedliche CPI-WerteCPIi FiCPI-Wert der Instruktionsklasse irelative Haufigkeit der Instruktionsklasse i im ausgefuhrten ProgrammCPI=an (CPIF)ii i=1Instruktionsklasse iFi [%]CPIiArithmetic, Logic501Load202Store102Branch, Jump202BeispielCPI=1,5RA.3 2018 v1.0.08 Einflussfaktoren EinflussfaktorIcCPITAlgorithmusXXProgrammierspracheXXCompilerXXInstruktionssatzXXXRechnerarchitekturXXTechnologieXRA.3 2018 v1.0.09 Performancemetriken Nutzliche Prozessor-Performancemetriken sind umgekehrt proportional zu Texe!! MIPS-Rate (million instructions per second) (leider) oft verwendete Metrik zur Bewertung der ProzessorleistungIc MIPS – Rate =exe Problem: Die MIPS-Rate berucksichtigt nicht alle drei Faktoren Ic, CPI und T. Weitere, nicht sehr nutzliche Metriken: peak-MIPS: MOPS: MFLOPS:MIPS-Rate einer konstruierten Codesequenz, die zum minimalen CPI-Wert fuhrtmillion operations per secondmillion floating-point operations per secondRA.3 2018 v1.0.0T106 10 3.2 Performancebewertung Die beste Methode, um die Prozessorperformance eines Computer- systems zu bestimmen, ist es, die geforderten Anwendungsprogramme (workload) auszufuhren und die Ausfuhrungszeiten zu messen. oft zu zeitaufwendig nicht immer sind alle geforderten Anwendungen im Vorhinein bekannt Ein Benchmark ist … ein Programm (Menge von Programmen), das fur die Bewertung verwendet wird und eine Vorschrift, wie die Bewertung durchgefuhrt und das Resultat berichtet wird Abhangig vom Computertyp und Anwendungsbereich gibt es verschiedene Benchmarks: Desktop Computer: Wissenschaftliches Rechnen: Webserver, Fileserver: Eingebettete Computer:Prozessorperformance, Performance fur DVD playback, Graphikperformance, etc.Prozessorperformance Durchsatz, Antwortzeitenviele unterschiedliche Metriken, Benchmarking ist in diesem Bereich noch nicht so gut ausgepragtRA.3 2018 v1.0.011 Benchmarkprogramme Reale Anwendungen stellen die beste Moglichkeit dar, Performance zu bewerten sehr aufwendig; wenn der Prozessor noch nicht verfugbar ist, praktisch unmoglich empfindlich bzgl. der Eingabedaten (Datenset muss berichtet werden!) Bsp: SPEC Benchmarks Kernels Fragmente von Anwendungen (meist innere Schleifen) betonen bestimmte Aspekte der Performance, zB. Arithmetik, Prozeduraufrufe, geben kein Gesamtbild der Performance Bsp: Livermore kernels Synthetische Benchmarks Programme, die so konstruiert sind, dass sie einen bestimmten Instruktionsmixabbilden einfach zu messen, aber nicht reprasentativ fur irgendeine reale Anwendung Bsp: Dhrystone, Whetstone RA.3 2018 v1.0.012 Zusammenfassen von Performancewerten Warum Zusammenfassen von Performancewerten? An einem zu bewertenden Computer A werden fur alle n Programme einesBenchmarks die Ausfuhrungszeiten gemessen: T1,A, T2,A, …,Tn,A Vergleicht man Computer A mit einem anderen Computer B, erhalt man neinzelne relative Performancewerte:TTT 1,A , 2,A ,!, n,ATTT1,B 2,B n,B Oft besteht der Bedarf an einem Gesamtperformancewert (zB. im Marketing). Das Zusammenfassen der einzelnen Performancewerte zu einer Zahl ist immer mit einem Informationsverlust verbunden! Gesamtausfuhrungszeit relative Performance als Verhaltnis aTder Gesamtausfuhrungszeiteni=1 ani=1an Ti,A i=1ni,A RA.3 2018 v1.0.0T i,B13 Zusammenfassen von Performancewerten Arithmetisches Mittel relative Performance als Verhaltnis der arithmetischen Mittel Gewichtetes arithmetisches Mittel Gewichtungsfaktoren bildenden realen workload nach Geometrisches Mittel wenn Verhaltnisse von Ausfuhrungszeiten zusammen-gefasst werden, zB. Performance normalisiert auf eine Referenzmaschine1n naTi,A i=1n 1a(wT )i i,A i=1nn awi i=1 RA.3 2018 v1.0.0n c i,ref OT on c T i=1 e i,A 14 Beispiel: SPEC SPEC Benchmarks Standard Performance Evaluation Corporation (www.spec.org) verschiedene Benchmarks: CPU, Graphik, Fileserver, Mailserver, Webserver, etc. Beispiel: SPEC CPU2000 12 integer (CINT2000) und 14 floating-point Programme (CFP2000) gemessen wird die wall-clock time Die Ausfuhrungszeit Texe eines jeden Programms wird normalisiert auf diedie Ausfuhrungszeit Tref auf einer Referenzmaschine (Sun Ultra 5_10/300). Der resultierende Wert wird SPEC ratio genannt:SPEC ratio = Tref T Die CINT2000, CFP2000 Performancemetriken werden durch das geometrische Mittel der einzelnen SPEC ratios gebildet.RA.3 2018 v1.0.0exe15 Beispiel: SPEC CPU2000gemessen an Dell Precision Desktop SystemenRA.3 2018 v1.0.016 SPEC CINT2000Benchmark Sprachegzip C vpr C gcc C mcf C crafty C parser C eon C++ perlbmk C gap C vortex C bzip2 C twolf CKategorieCompressionFPGA Circuit Placement and RoutingC Programming Language Compiler Combinatorial OptimizationGame Playing: ChessWord ProcessingComputer VisualizationPERL Programming LanguageGroup Theory, Interpreter Object-oriented Database CompressionPlace and Route SimulatorRA.3 2018 v1.0.017 SPEC CFP2000Benchmarkwupwise swim mgrid applu mesa galgel art equake facerec ammp lucas fma3d sixtrack apsiSpracheFortran 77 Fortran 77 Fortran 77 Fortran 77 CFortran 90 CCFortran 90 CFortran 90 Fortran 90 Fortran 77 Fortran 77KategoriePhysics / Quantum ChromodynamicsShallow Water ModelingMulti-grid Solver: 3D Potential FieldParabolic / Elliptic Partial Differential Equations3-D Graphics LibraryComputational Fluid DynamicsImage Recognition / Neural Networks Seismic Wave Propagation Simulation Image Processing: Face RecognitionComputational ChemistryNumber Theory / Primality Testing Finite-element Crash SimulationHigh Energy Nuclear Physics Accelerator Design Meteorology: Pollutant DistributionRA.3 2018 v1.0.018 SPEC CINT2006Benchmark Spracheperlbench C bzip2 C gcc C mcf C gombk C hmmer C sjeng C libquantum C h264ref C omnetpp C++ astar C++ xalancbmk C++KategoriePERL Programming Language CompressionC Programming Language Compiler Combinatorial OptimizationArtificial Intelligence: Playing Go Search Gene SequenceArtificial Intelligence: Playing Chess Physics: Quantum ComputingVideo Compression Discrete Event Simulation Path-finding Algorithms XML ProcessingRA.3 2018 v1.0.019 Benchmark SpracheKategorieFluid DynamicsQuantum ChemistryPhysics / Quantum Chromodynamics Physics / CFDBiochemistry / Molecular Dynamics Physics / General RelativityFluid DynamicsBiology / Molecular DynamicsFinite Element AnalysisLinear Programming, Optimization Image Ray-tracingStructural Mechanics Computational Electromagnetics Quantum ChemistryFluid DynamicsWeather PredictionSpeech Recognitionbwaves gamess milc zeusmp gromacs cactusADM leslie3d namddealII soplex povray calculix GemsFDTD tontolbmwrf sphinx3Fortran FortranCFortran C/Fortran C/Fortran Fortran C++C++C++C++ C/Fortran Fortran FortranC C/Fortran CRA.3 2018 v1.0.0SPEC CFP200620 3.3 Performanceverbesserungen Wenn Algorithmus, Programmiersprache und Instruktionssatz gegeben sind, woher kommen Verbesserungen in der Prozessor-Performance? modernere Technologie: verbesserte Rechnerarchitektur:kleinere Taktperiode T kleinerer CPI Wert, kleineres T verbesserter Compiler:kleineres IC, vermehrte Nutzung von Befehlen mit kleinerem CPI Wert Die Performanceverbesserung wird durch den Speedup gemessen:Speedup =Texe ohne Verbesserung Texe mit Verbesserung RA.3 2018 v1.0.021 Performanceverbesserungen Amdahls Gesetz ohne Verbesserungmit VerbesserungF’ Verbesserungsfaktor S = F F’ TexeFwenn F in % von Texe gegeben ist (in [0,1]) :Speedup = 1( 1 – F ) + FSRA.3 2018 v1.0.022 v1.0.0 Aktualisierung fur WS 2018/19 Neue Daten zur Entwicklung der Performance, Taktfrequenz und DRAM KapazitatRA.3 2018 v1.0.0Anderungen 23
Reviews
There are no reviews yet.