Performance Analysis of Computer Systems

Center for Information Services and High Performance Computing (ZIH) Performance Analysis of Computer Systems Introduction Zellescher Weg 12 Willers-...
Author: Gertrud Kohl
5 downloads 0 Views 3MB Size
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])