[SOLVED] 代写 C++ C algorithm game MIPS XML compiler database graph software network Go Rechnerarchitektur (RA)

30 $

File Name: 代写_C++_C_algorithm_game_MIPS_XML_compiler_database_graph_software_network_Go_Rechnerarchitektur_(RA).zip
File Size: 979.68 KB

SKU: 9414731123 Category: Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Or Upload Your Assignment Here:


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
– Ausführungszeit von Programmen
– Reaktionszeit auf Unterbrechungen
– Verfügbarkeit von Systemsoftware, Anwendersoftware, Zusatzhardware
– …
• Die Leistungsfähigkeit (Leistung, performance) eines Computers wird meist durch folgende Parameter ausgedrückt:
– Ausführungszeit (execution time) [s]
® Wie lange braucht ein Computer für 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 Ausführungszeit:
PerformanceX ~
1 AusführungszeitX
• Relative Performance
– PerformanceA > PerformanceB ↔ AusführungszeitA < AusführungszeitB– Computer A ist n-mal schneller als Computer B:PerformanceA = AusführungszeitB = nPerformanceB AusführungszeitA• Alle diese Aussagen gelten für das konkret gemessene Programm!RA.3 2018 v1.0.04 • Elapsed time (wall-clock time, verstrichene Zeit)– Die gesamte Programmausführung wird mit einer Stoppuhr gemessen.– Diese Zeit beinhält Zeiten für Speicher- und Festplattenzugriffe, Ein/Ausgabe und Betriebssystemaktivitäten.– Betriebssysteme optimieren meist den Durchsatz, weniger die Laufzeit eines bestimmten Programmes. Daher beinhält die elapsed time auch Zeiten, in denen der Prozessor Tätigkeiten für andere Programme durchführt.• CPU time (Prozessor-Ausführungszeit)– Beinhaltet keine Ein/Ausgabe und keine Aktivitäten für andere Programme.– Oft wird die CPU time noch unterteilt in§ user CPU time Prozessorzeit für das Anwendungsprogramm§ system CPU time Prozessorzeit für die Betriebssystemaufrufe desAnwendungsprogrammsRA.3 2018 v1.0.0Zeitmessung 5 Prozessor-Performancegleichung T =I ́CPI ́T exe c Texe Prozessorausführungszeit für ein ProgrammIc Die Anzahl der Maschineninstruktionen (instruction count), die beider Programmausführung abgearbeitet wird.CPI Durchschnittliche Anzahl der benötigten Taktzyklen pro Instruktion (cycles per instruction).T Der Prozessor ist eine synchrone digitale Schaltung mit einer Taktperiode T bzw. Taktfrequenz f =1/T. BeispielIc=2·106, CPI=2, f=4GHz: Texe = 2·106·2·250·10-12 = 1 ms RA.3 2018 v1.0.06 Prozessor-Performancefaktoren• Bestimmung der Performancefaktoren Texe Prozessorausführungszeit messenIc Programmausführung und Zählen der Instruktionen durch Profiling oder Hardwarezähler, SimulatorCPI detaillierte Simulation der Prozessorimplementierung, Hardware- zähler, exakte Bestimmung ist schwierig Taus dem Datenblatt des Prozessors– Nicht immer ist die Bestimmung der Performancefaktoren am realen Prozessor möglich. Wenn zB. der Prozessor gerade erst entwickelt wird, muss auf Simulationen zurückgegriffen werden.– Im Moment wird nur die reine Prozessorleistung betrachtet. Später wird die Performancegleichung durch Hinzunahme von Cache- und Speicherzugriffen erweitert.RA.3 2018 v1.0.07•Cycles per Instruction (CPI)Verschiedene Instruktionsklassen haben oft unterschiedliche CPI-WerteCPIi Fi→CPI-Wert der Instruktionsklasse irelative Häufigkeit der Instruktionsklasse i im ausgeführten ProgrammCPI=ån (CPI×F)ii i=1Instruktionsklasse iFi [%]CPIiArithmetic, Logic501Load202Store102Branch, Jump202BeispielCPI=1,5RA.3 2018 v1.0.08 Einflussfaktoren EinflussfaktorIcCPITAlgorithmusXXProgrammierspracheXXCompilerXXInstruktionssatzXXXRechnerarchitekturXXTechnologieXRA.3 2018 v1.0.09 Performancemetriken• Nützliche 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 berücksichtigt nicht alle drei Faktoren Ic, CPI und T. • Weitere, nicht sehr nützliche Metriken:– peak-MIPS:– MOPS:– MFLOPS:MIPS-Rate einer konstruierten Codesequenz, die zum minimalen CPI-Wert führtmillion operations per secondmillion floating-point operations per secondRA.3 2018 v1.0.0T́106 10 3.2 Performancebewertung• Die beste Methode, um die Prozessorperformance eines Computer- systems zu bestimmen, ist es, die geforderten Anwendungsprogramme (workload) auszuführen und die Ausführungszeiten zu messen.– oft zu zeitaufwendig– nicht immer sind alle geforderten Anwendungen im Vorhinein bekannt• Ein Benchmark ist …– ein Programm (Menge von Programmen), das für die Bewertung verwendet wird und– eine Vorschrift, wie die Bewertung durchgeführt und das Resultat berichtet wird• Abhängig vom Computertyp und Anwendungsbereich gibt es verschiedene Benchmarks:– Desktop Computer:– Wissenschaftliches Rechnen:– Webserver, Fileserver:– Eingebettete Computer:Prozessorperformance, Performance für DVD playback, Graphikperformance, etc.Prozessorperformance Durchsatz, Antwortzeitenviele unterschiedliche Metriken, Benchmarking ist in diesem Bereich noch nicht so gut ausgeprägtRA.3 2018 v1.0.011 Benchmarkprogramme• Reale Anwendungen– stellen die beste Möglichkeit dar, Performance zu bewerten– sehr aufwendig; wenn der Prozessor noch nicht verfügbar ist, praktisch unmöglich– 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 repräsentativ für 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 für alle n Programme einesBenchmarks die Ausführungszeiten gemessen: T1,A, T2,A, …,Tn,A– Vergleicht man Computer A mit einem anderen Computer B, erhält 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!• Gesamtausführungszeit– relative Performance als Verhältnis åTder Gesamtausführungszeiteni=1 åni=1ån Ti,A i=1ni,A RA.3 2018 v1.0.0T i,B13 Zusammenfassen von Performancewerten • Arithmetisches Mittel– relative Performance als Verhältnis der arithmetischen Mittel• Gewichtetes arithmetisches Mittel – Gewichtungsfaktoren bildenden realen workload nach• Geometrisches Mittel– wenn Verhältnisse von Ausführungszeiten zusammen-gefasst werden, zB. Performance normalisiert auf eine Referenzmaschine1n nåTi,A i=1n 1×å(w×T )i i,A i=1nn åwi i=1 RA.3 2018 v1.0.0n ç i,ref ÷ ÕæT ön ç T ÷ i=1 è 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 Ausführungszeit Texe eines jeden Programms wird normalisiert auf diedie Ausführungszeit 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 für WS 2018/19– Neue Daten zur Entwicklung der Performance, Taktfrequenz und DRAM KapazitätRA.3 2018 v1.0.0Änderungen 23

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] 代写 C++ C algorithm game MIPS XML compiler database graph software network Go Rechnerarchitektur (RA)
30 $