Center for Information Services and High Performance Computing (ZIH)
Performance Analysis of Computer Systems Introduction Zellescher Weg 12 Willers-Bau A113 Tel. +49 351 - 463 - 39835
Matthias S. Mueller (
[email protected]) Holger Brunst (
[email protected])
Organization Lecture: Every Wednesday in INF E02 from 13:00 to 14:30 Exercise: Every Thursday , 13:00-14:30 – INF E46 for labs First Exercise: October 22th, guided tour through all new machine rooms at ZIH All slides will be in English Ten minute summary of last lecture at the beginning of each lecture.
Matthias Mueller, Holger Brunst: Leistungsanalyse
Class Material on the Web Slides will be put on the web (hopefully) prior or shortly after each class Currently the slides from last year are online. Be aware of upgrades ZIH web pages – http://tu-dresden.de/die_tu_dresden/zentrale_einrichtungen/zih/lehre/ws0910/lars
Matthias Mueller, Holger Brunst: Leistungsanalyse
Lecture Script Not yet available :-( We would like to provide one First draft is ready internally
Matthias Mueller, Holger Brunst: Leistungsanalyse
Class Outline 14 lectures with 12 corresponding exercises Class structure – Introduction and motivation – Performance requirements and common evaluation mistakes – Performance metrics and evaluation techniques – Workload types, selection, and characterization – Commonly used benchmarks – Benchmarks specialized on I/O – Monitoring techniques – Capacity planning for future systems – Performance data presentation – Comparing system using sample data – Regression models – Experimental design – Performance simulation and prediction – Introduction to queuing theory
Matthias Mueller, Holger Brunst: Leistungsanalyse
Literature Raj Jain: The Art of Computer Systems Performance Analysis John Wiley & Sons, Inc., 1991 (ISBN: 0-471-50336-3) Rainer Klar, Peter Dauphin, Fran Hartleb, Richard Hofmann, Bernd Mohr, Andreas Quick, Markus Siegle Messung und Modellierung paralleler und verteilter Rechensysteme B.G. Teubner Verlag, Stuttgart, 1995 (ISBN:3-519-02144-7) Dongarra, Gentzsch, Eds.: Computer Benchmarks, Advances in Parallel Computing 8, North Holland, 1993 (ISBN: 0-444-81518-x)
Matthias Mueller, Holger Brunst: Leistungsanalyse
Introduction and Motivation Why is Parallelism important? Zellescher Weg 12 Willers-Bau A113 Tel. +49 351 - 463 - 39835
Matthias S. Mueller (
[email protected]) Holger Brunst (
[email protected])
Moore’s Law: 2X transistors / “year”
“Cramming More Components onto Integrated Circuits” Gordon Moore, Electronics, 1965 # on transistors / cost-effective integrated circuit double every N months (12 N 24)
CS252-s06, Lec 02-intro 11/5/09
8
John Shalf (NERSC, LBNL) at ISC2007
Performance development in TOP500
Dez 08
Jun 08
Dez 07
Jun 07
Dez 06
Jun 06
Dez 05
Jun 05
Dez 04
Jun 04
Dez 03
Jun 03
Dez 02
Jun 02
Dez 01
Jun 01
Dez 00
Jun 00
Dez 99
Jun 99
Dez 98
Jun 98
Dez 97
Jun 97
Dez 96
Jun 96
Dez 95
Jun 95
Dez 94
Jun 94
Dez 93
Jun 93
Processors
Number of Cores per System is increasing rapidly Tota l # of Core s in Top15
1200000
1000000
800000
600000
400000
200000
0
Number of Cores per System is increasing rapidly
IBM BlueGene/L at LLNL
Cray XT5 (Jaguar) at Oak Ridge National Laboratory
IBM Roadrunner First computer to surpass the 1 Petaflop (250 FLOPS ) barrier Installed at Los Alamos National Laboratories Hybrid Architecture 13,824 AMD Opteron cores 116,640 IBM PowerXCell 8i cores Costs: $120 Mio.
What kind of know-how is required for HPC? Algorithms and methods Performance Programming (Paradigms and details of implementations) Operation of supercomputers (network, infrastructure, service, support)
Challenges Languages – Fortran95, C/C++, Java Parallelization: – MPI, OpenMP Network – Ethernet, Infiniband, Myrinet Scheduling – Distributed components, job scheduling, process scheduling System architecture – Processors, memory hierarchy What is the best programming model for clustered SMPs with a deep memory hierarchy?
Matthias Mueller, Holger Brunst: Leistungsanalyse
Application Performance
Zellescher Weg 12 Willers-Bau A113 Tel. +49 351 - 463 - 39835
Matthias S. Mueller (
[email protected]) Holger Brunst (
[email protected])
From Modeling to Execution
Short History of X86 CPUs CPU
Year
Bit Width
#Transistors Clock
Structure
4004
1971
4
2300
740 kHz
10 micro
8008
1972
8
3500
500 kHz
10 micro
8086
1978
16
29.000
10 Mhz
3 micro
80286
1982
16
134.000
25 MHz
1.5 micro
80386
1985
32
275.000
33 Mhz
1 micro
80486
1989
32
1.200.000
50 MHz
0.8 micro
8K
Pentium I
1994
32
3.100.000
66 MHz
0.8 micro
8K
Pentium II
1997
32
7.500.000
300 MHz
0.35 micro
16K/512K*
Pentium III
1999
32
9.500.000
600 MHz
0.25 micro
16K/512K*
Pentium IV
2000
32
42.000.000
1.5 GHz
0.18 micro
8K/256K
P IV F
2005
64
2.8- 3.8 GHz
90 nm
16K/2MB
Core i7
2008
64
3.2 GHz
45 nm
32K/256K/8 MB
781.000.000
Matthias S. Müller
L1 / L2 /L3
Intel Nehalem Released 2008 4 cores 781.000.000 transistors 45nm technology 32 K L1Data, 32K L1Instruction 256 K L2 8 MB shared L3 cache Source: Steve Gunter, Ronak Singhal, IDF San Francisco 2008
Hyperthreading 3.2 GHz*4 cores*4 FLOPS/cycle= 51.2 Gflop/s peak Integrated memory controller QPI between processors
Matthias S. Müller
Nehalem Core
L1 Data Cache Execution Units
Out-of-Order Scheduling & Retirement
Memory Ordering & Execution
Instruction Decode & Microcode
L2 Cache & Interrupt Servicing Paging Branch Prediction Instruction Fetch & L1 Cache
Potential factors limiting application performance “Peak performance” Floating point units Integer units … any other feature of microarchitecture Bandwidth (L1,L2,L3, main memory, other cores, other nodes) Latency (L1,L2,L3, main memory, other cores, other nodes)
Performance development in TOP500
Is the rest of the system developing at CPU speed? Processor-DRAM Memory Gap (latency)
1000
CPU
Performance
“Moore’s Law” 100
μProc 60%/yr. (2X/1.5yr)
Processor-Memory Performance Gap: (grows 50% / year)
10 DRA M
1
2000 1999 1998 1997 1996 1995 1994 1993 1992 1991 1990 1989 1988 1987 1986 1985 1984 1983 1982 1981 1980
Time Guido Juckeland – Slide 25
DRAM 9%/yr. (2X/10 yrs)
Performance Trends measured by SPECint
Source: Hennessy, Patterson: „Computer Architecture, a quantitative approach“.
CPUint2006 development between 2005 and 2009
Performance Trends measured by SPECint
23%
2009
CPUfp2006 development between 1991 and 2009
42%
CPU 95 Released 1995 602 results between 3/1991 and 1/2001
CPUfp2000
33%
Released 2000 1385 results between 10/1996 and 2/2007
CPUfp2006
30%
Released 2006 1217 results between 4/1997 and 4/2009
Performance Trends over 20 years of code life cycle
Performance Trends over 20 years of code life cycle
Where is your application?
Center of Information Services and HPC A short introduction Zellescher Weg 12 Willers-Bau A113 Tel. +49 351 - 463 - 39835
Matthias S. Mueller (
[email protected]) Holger Brunst (
[email protected])
HPC in Germany
Matthias Mueller, Holger Brunst: Leistungsanalyse
Responsibilities of ZIH •
Providing infrastructure and qualified service for TU Dresden and Saxony
•
Research topics Architecture and performance analysis of High Performance Computers Programming methods and techniques for HPC systems Software tools to support programming and optimization Modeling algorithms of biological processes Mathematical models, algorithms, and efficient implementations
•
Role of mediator between vendors, developers, and users
•
Pick up and preparation of new concepts, methods, and techniques
•
Teaching and Education
Matthias Mueller, Holger Brunst: Leistungsanalyse
Concept of Installation HPC-Server
PC-Farm
Main memory :
6 TB
8 GB/s
4 GB/s
4 GB/s
HPC-SAN
PC-SAN
Capacity:
Capacity:
68 TB
HPC-Component SGI® Altix® 4700 2048 of MonteCito Cores 6.5 TByte main memory
68 TB 1,8 GB/s
PC-Farm PetaByte Tape Silo Capacity: 1 PB
System from Linux Networx AMD opteron CPUs (dual core, 2.6 GHz) 728 boards with 2592 cores Infiniband networks between the nodes
Matthias Mueller, Holger Brunst: Leistungsanalyse
HPC-System: SGI Altix 4700 32 x 42U Racks 1024 x Sockets with Itanium2 Montecito DualCore CPUs (1.6 GHz/9MB L3 Cache) 13 TFlop/s peak performance 11.9 TFlop/s linpack 6.5 TB shared memory
Matthias Mueller, Holger Brunst: Leistungsanalyse
Linux Networx PC-Farm (Deimos) 26 water cooled racks (Knürr) 1296 AMD Opteron x85 Dual-Core CPUs (2,6 GHz) 728 compute nodes with 2 (384), 4 (232) or 8 (112) cores 2 Master- und 11 Lustre-Server 2 GB memory per core 68 TB SAN disc (RAID 6) Local scratch discs (70, 150, 290 GB) 2 4x-Infiniband Fabrics (MPI + I/O) OS: SuSE SLES 10 Batch system: LSF Compiler: Pathscale, PGI, Intel, Gnu ISV-Codes: Ansys100, CFX, Fluent, Gaussian, LS-DYNA, Matlab, MSC
Matthias Mueller, Holger Brunst: Leistungsanalyse
Storage Technology DDN discs SGI InfiniteStorage 6700 (DDN S2A9500) 4 GBit/s FC technology HPC-SAN: – 68 TB capacity – 8 GB/s performance PC-SAN: – 68 TB capacity – 4 GB/s performance
Matthias Mueller, Holger Brunst: Leistungsanalyse
Petabyte Tape Archive SUN STK SL8500 2500 Slots 30 LTO-3 tape drives 2500 LTO-3 tapes 1.8 GB/s performance 1 PB capacity (2500*400 GB)
Matthias Mueller, Holger Brunst: Leistungsanalyse
Realization of the concept
HPC-Komponente
PC-Farm
Hauptspeicher 6,5 TB
8 GB/s
4 GB/s
4 GB/s
HPC-SAN
PC-SAN
Festplattenkapazität: 68 TB
Festplattenkapazität: 68 TB 1,8 GB/s PetaByteBandarchiv Kapazität: 1 PB
Matthias Mueller, Holger Brunst: Leistungsanalyse
Computer Rooms – Extension to the Building
Matthias Mueller, Holger Brunst: Leistungsanalyse
HRSK-Building Status in March 2006
Matthias Mueller, Holger Brunst: Leistungsanalyse
Configuration of overall system: SAN Overview
Matthias Mueller, Holger Brunst: Leistungsanalyse
Beschreibung der Lösung von SGI HPC-SAN
• Gesamtkapazität: 68 TB • durchgängig 4 Gb/s FC • 4 x DDN S2A 9500 je 17 TB • 584 Festplatten 146 GB
• CXFS/DMF auf Altix 350 (24 Itanium) • TP 9300 (MDS Storage Subsystem) 14 x 73 GB für Metadaten
• Zugang von PC-Farm: NFS-Server auf 12 x Altix 350 mit je 2 CPUs oder Opteron (für RDMA-Zugriff)
Matthias Mueller, Holger Brunst: Leistungsanalyse
Beschreibung der Lösung von SGI HPC-Komponente • 1024 dual-core Itanium-2 (Montecito) CPUs • 1,6 GHz, 18 MB L3 (pro core 9 MB) • 12,8 GFlops Peak • 1…8 GB RAM (DDR2)
S = 6.5 TB
• verbunden über SGI NumaLink 4 • Bandbreite: 3,2 GB/s pro Knoten und Richtung • Fat-Tree-Topologie
• Grafik-Pipes + Grafik-Compositor • RASC Blade mit zwei FPGAs (RASClib)
Matthias Mueller, Holger Brunst: Leistungsanalyse
Beschreibung der Lösung von SGI PC-Farm
• mehr als 700 Boards • Prozessoren: AMD Opteron • Verbindungsnetzwerk: IB X4 • Compute-Knoten verbunden über drei Switche (288 ports) • Anbindung an HPC-SAN über 12 NFS-Server (CXFS-Clients)
Matthias Mueller, Holger Brunst: Leistungsanalyse
Beschreibung der Lösung von SGI PC-SAN • Lustre FS • 2 x DDN S2A 9500 • Kapazität: 50,9 TB • 440 Festplatten 146 GB
Matthias Mueller, Holger Brunst: Leistungsanalyse
Tape Silo - Details • CXFS/DMF-Server on Altix 350 (24 CPUs, 48 GB) • Data Migration Facility (Licence for 1 bzw. 2 PB) • 2 x FC-Switches (24 ports)
• StorageTek SL 8500 (SUN) ACSLS-Lizenz for 2500 Slots
Matthias Mueller, Holger Brunst: Leistungsanalyse
Performance of supercomputers at ZIH SGI Altix: 12,07 TFlops
SGI Altix: 11,9 TFlops
1000000
100000 49
73
112 289
10000 106
79
125
333
1000
PC-Farm: 6,2 TFlops
351 100 237
SGI Origin 3800: 85,4GFlops
236 10
1
Cray T3E: 28 GFlops 500
VP200-EX: 472 MFlops
PC-Farm: 10,88 TFlops
SGI Origin 2000: 16 5 GFlops
Rang 1 Rang 10 Rang 500
0,1
1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008
Matthias Mueller, Holger Brunst: Leistungsanalyse
Research at ZIH Selected Projects and Activities Zellescher Weg 12 Willers-Bau A113 Tel. +49 351 - 463 - 39835
Matthias S. Mueller (
[email protected]) Holger Brunst (
[email protected])
Forschungsbereiche am ZIH Software-Werkzeuge zur Unterstützung von Programmierung und Optimierung Programmiermethoden und Techniken für Hochleistungsrechner Grid-Computing Mathematische Methoden, Algorithmen und effiziente Implementierungen Architektur und Leistungsanalyse von Hochleistungsrechnern Algorithmen und Methoden zur Modellierung biologischer Prozesse
Matthias Mueller, Holger Brunst: Leistungsanalyse
Software-Werkzeuge … Vampir Visualisierung und Analyse von parallelen Anwendungen
Marmot Erkennung von fehlerhafter Nutzung der Kommunikationsbibliothek MPI in parallelen Anwendungen
Screenshots: Marmot for Windows
Matthias Mueller, Holger Brunst: Leistungsanalyse
Some Performance Analysis Activities
Zellescher Weg 12 Willers-Bau A113 Tel. +49 351 - 463 - 39835
Matthias S. Mueller (
[email protected]) Holger Brunst (
[email protected])
Vampir: Technical Components
Trace 1 Trace 2 Trace 3 Trace N
Tools
Server Worker 1 Worker 2
Worker m
1.
Trace generator
2.
Classical Vampir viewer and analyzer
3.
Vampir client viewer
4.
Parallel server engine
5.
Conversion and analysis tools
Master
Matthias Mueller, Holger Brunst: Leistungsanalyse
Vampir: Timeline
Matthias Mueller, Holger Brunst: Leistungsanalyse
Vampir: Scalability sPPM ASCI Benchmark 3D Gas Dynamic Data to be analyzed 16 Processes 200 MByte Volume
Number of Workers Load Time Timeline Summary Profile Process Profile Com. Matrix Stack Tree
1 47,33 0,10 1,59 1,32 0,06 2,57
2 22,48 0,09 0,87 0,70 0,07 1,39
4 10,80 0,06 0,47 0,38 0,08 0,70
8 5,43 0,08 0,30 0,26 0,09 0,44
16 3,01 0,09 0,28 0,17 0,09 0,25
Matthias Mueller, Holger Brunst: Leistungsanalyse
32 3,16 0,09 0,25 0,17 0,09 0,25
BenchIT: Key Components 1 BenchIT measurement core
– Measurement kernels – Exact timer – Running kernels with variable problem sizes – Generating result files
Matthias Mueller, Holger Brunst: Leistungsanalyse
BenchIT: Key Components 2 BenchIT measurement core Command line interface
Matthias Mueller, Holger Brunst: Leistungsanalyse
BenchIT: Key Components 3 BenchIT measurement core Command line interface GUI
Matthias Mueller, Holger Brunst: Leistungsanalyse
BenchIT: Key Components 4 BenchIT measurement core Command line interface GUI Website
Matthias Mueller, Holger Brunst: Leistungsanalyse
ParBench: Rechenleistung und Speichertransfer aller seq. KVs
bdm_rates_series-none_x-FLOPS_pT_y1_Mem_Transfer_pT_y2-none.png
Matthias Mueller, Holger Brunst: Leistungsanalyse
Multiprogramming Test_7_0
bdm_rates_series-stride_x-stride_y1_FLOPS_pT_y2-none.png
Matthias Mueller, Holger Brunst: Leistungsanalyse
Multiprogramming Test_7_2
bdm_rates_series-stride_x-stride_y1_FLOPS_pT_y2-none.png
Matthias Mueller, Holger Brunst: Leistungsanalyse
Multiprogramming Test_7_13
bdm_rates_series-stride_x-stride_y1_FLOPS_pT_y2-none.png
Matthias Mueller, Holger Brunst: Leistungsanalyse
Cluster Challenge 2008 Herausforderung: – 6 Studenten – 44 Stunden – 1 (selbst zusammengestellter) Cluster mit max. 3,1 kW Leistungsaufnahme – 5 wissenschaftliche Anwendungen
Ziel: – Maximaler Durchsatz an Jobs innerhalb der Wettkampfzeit
Cluster Challenge Stand
Cluster Challenge 2008 Hardware-Optimierungen – 10G Myrinet Interconnect (~120W für Switch + Host Adapter) – Optimale DIMM Konfiguration für die Anwendungen (16 GB pro Knoten) – Booten von USB-Sticks und Nutzen der lokalen Platten nur wenn nötig – Bestimmen der Stromverbrauchsprofile der Anwendungen, um die “richtige” Gesamtknotenzahl zu wählen
Software-Optimierungen – Wo sinnvoll, Einsatz kommerzieller Compiler (signifikanter Aufwand) – Tracing der Anwendungen, um Kommunikation zu verstehen und zu optimieren
Durchsatz-Optimierungen – Nutzen der Stromverbrauchs- und Laufzeitabschätzungen zur optimalten Auslastung des Clusters
Ergebnis: 1. Platz
Das ZIH als Arbeitgeber
Zellescher Weg 12 Willers-Bau A113 Tel. +49 351 - 463 - 39835
Matthias S. Mueller (
[email protected]) Holger Brunst (
[email protected])
Infrastruktur Hochleistungsrechner:
Arbeitsplätze:
Matthias Mueller, Holger Brunst: Leistungsanalyse
Internationale Zusammenarbeit Tracing VI HPS ParMA Open MPI
Matthias Mueller, Holger Brunst: Leistungsanalyse
Zukunftsaussichten In der Many-Core Ära wird paralleles Rechnen immer wichtiger Kontakte zu internationalen Partnern Industriekontakte: IBM, SUN, Cray, SGI, NEC; Intel, AMD, … Mögliche Auslandsaufenthalte oder Industrieinternships – Beispiele für Auslandsaufenthalte • LLNL, CA, U.S.A. • BSC, Barcelona, Spain • Eugene, OR, U.S.A. – Beispiele für Internships: • Cray • IBM
Matthias Mueller, Holger Brunst: Leistungsanalyse
Diplomarbeiten am ZIH
Zellescher Weg 12 Willers-Bau A113 Tel. +49 351 - 463 - 39835
Matthias Müller (
[email protected])
Energieeffizientes Paralleles Rechnen Thema: Energieeffizienz und parallele Anwendungen Fragestellung: – Messung des Energieverbrauchs paralleler Anwendungen – Entwicklung von Standard Benchmarks für Energieverbrauch (SPEC) – Analyse der prinzipiellen Eigenschaften – Entwurf von Metriken für Energieeffizienz – Entwicklung von Strategien zur Energieeinsparung Betreuer: Dr. Matthias Müller (
[email protected]) SPECpowe r_ssj2008 - Powe r a nd Proce ssor %
watts
360 320
110 100 90 80 70 60 50 40 30 20 10 0
280 240 200 160 120 80 40 0 1
201
401
601
801
1001 1201
1401
1601
1801
2001
2201
2401
2601
2801
3001
3201
s ec onds
Matthias S. Müller
3401
3601
3801
4001
4201
CPU %
SPECpower_ssj2008 Power Processor Woodcre st 3.0, 4x 1GB,–1x HDD, and Pwr Mgm t On % Dual-Core Intel Xeon 3.0, 4x1GB,CPU 1x%HDD, Pwr Mgmt On w atts PM On PM On
Verbesserung von Performance-Analyse-Möglichkeiten Thema: “Verbesserung der Performance-Analyse für MulticoreArchitekturen und Systeme mit Speedstep-Fähigkeiten” Fragestellung: – Untersuchung der Möglichkeiten unter Linux, den ausführenden CPU-Kern für einen Prozess zu bestimmen – Integration der Information in Programmspuren – Suche einer portablen und nichtintrusiven Lösung, Taktfrequenzänderungen von CPU-Kernen aufzuzeichnen – Darauf basierend, Normierung von Zeitintervallen in Programmspuren Betreuer: Holger Mickler (
[email protected]) Jens Doleschal (
[email protected])
Holger Mickler/Jens Doleschal
Performance Analyse und Softwareentwicklung Thema: Performance Analyse als Integraler Bestandteil der Softwarentwicklung Fragestellung: – Integration von Performance Analyse (VAMPIR) in IDE (Eclipse) – Geeignete Abstraktion und Darstellung von “Performance Summaries” – Integration von paralleler Performance Analyse in den Softwareentwicklungsprozess Betreuer: Matthias Mueller, Andreas Knüpfer
Thank you! Hope to see you next time… Zellescher Weg 12 Willers-Bau A113 Tel. +49 351 - 463 - 39835
Matthias S. Mueller (
[email protected]) Holger Brunst (
[email protected])