Beispiele für synthetische Benchmarks

Transcription

Beispiele für synthetische Benchmarks
Parallele Algorithmen
Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm
Hochschule Harz
FB Automatisierung und Informatik
[email protected]
Raum 2.202
Tel. 03943 / 659 338
FB Automatisierung und Informatik: Parallele Algorithmen
1
Inhalt
1.
2.
3.
4.
5.
6.
7.
8.
Einführung, Literatur, Motivation
Architektur paralleler Rechner
Software
Open MP
MIMD
Algorithmen
Computernumerik
PS/3
FB Automatisierung und Informatik: Parallele Algorithmen
2
Literatur
Rauber, Runger, Multicore: Parallele Programmierung, Springer
Verlag
Timothy G. Mattson, Beverly A. Sanders, Berna L. Massingill:
Patterns for Parallel Programming (Software Patterns) von
Akhter, Roberts: Multicore-Programmierung,
Zhou: Parallel Computing in .NET
Rauber, Rünger: Parallele und verteilte Programmierung,Springer
Verlag, 2000, ISBN 978-3-540-46549-2, 2. Auflage
W. Huber, Paralleles Rechnen, R. Oldenbourg Verlag, 1997, ISBN
3-486-24383-7
Theo Ungerer, Parallelrechner und parallele Programmierung,
Spektrum Akademischer Verlag, 1997, 3-8274-0231-X
Ananth Gama, Anshul Gupta: Introduktion to Parallel
Computing; ISBN: 0-201-64865-2
FB Automatisierung und Informatik: Parallele Algorithmen
3
Literatur
Bräunl, Thomas.: Parallele Programmierung, Vieweg:
Braunschweig, 1993., ISBN 3-528-05142-6
Klaus Schmidt, Programmieren von Vektorrechnern und
Parallelrechnern, Verlag Harri Deutsch, 1994, 3-8171-1360-9
FB Automatisierung und Informatik: Parallele Algorithmen
4
Literatur
Shared Memory Parallel Programming with Open MP
5th International Workshop on Open MP Application and
Tools, WOMPAT 2004, Houston, TX, USA, May 17-18, 2004
Reihe: Lecture Notes in Computer Science, Band 3349
Chapman, Barbara M. (Hrsg.) 2005, X, 149 p. ISBN: 3-54024560-X
http://www.springerlink.com/content/t74brpc87u5q/
A. S. Tanenbaum: Moderne Betriebssysteme
Kredel, Yoshida: Thread- und Netzwerkprogammierung mit Java,
dPunkt Verlag, ISBN 3-932588-28-2
Lea, Doug.: Concurrent Programming in Java, Entwurfsprinzipien
und Muster, Addison-Wesley: Bonn, 1997, java.sun.com/Series.
ISBN 3-8273-1243-4
Horstmann, C.S.: Core Java, Vol. II - Advanced Features, Prentice
Hall: Palo Alto, 1998, S. 76-131.
FB Automatisierung und Informatik: Parallele Algorithmen
5
Lernziele
Grundlegende Kenntnisse in parallelen Rechnerarchitekturen
–
–
–
Multi-Core-Rechner (Threads, Open MP)
Vektorrechner (SIMD, Parallaxis)
Multiprozessingrechner (MIMD, MPI, PVM)
Konzepte der parallelen Programmierung
–
–
–
Synchronisation (Semaphore, Monitore)
Kommunikation
Threads
Parallelrechner mit verteilten Speichern
–
–
Message Passing Interface (MPI)
Parallel Virtuell Machine (PVM)
Algorithmen
–
–
Sortieralgorithmen
Systolische Matrixmultipikation
Numerik
FB Automatisierung und Informatik: Parallele Algorithmen
6
Motivation
PC-Software:
–
–
–
–
–
Textverarbeitung (Starwriter, WinWord, Tex, LaTex)
Bildverarbeitung (PhotoShop, Corel Draw, 3D StudioMax)
CAD (AutoCAD, Microstation, Caddy)
Mathematik Tools (MathLab, MathCad)
Steuerung einer Fabrik (Hasseröder)
Geschwindigkeit ausreichend, Dauer der Berechnung 0,1 bis 10 min
PC-Software:
Statikprogramme (Finite Element Methoden, Gleichungen 3000×3000,
– Bildverarbeitung (Trickfilme, König von Narnia)
– Spezialsoftware (Eagle)
Geschwindigkeit nicht ausreichend, Dauer der Berechnung 1-14 Tage, Jahre
–
FB Automatisierung und Informatik: Parallele Algorithmen
7
Motivation
Probleme:
–
–
–
–
–
–
–
Simulation der Wechselwirkung zwischen Atomen
Gravitation zwischen Himmelskörpern (2 bis n Körper)
Wettersimulation (Quadrat 50 km × 50 km, kaum 3D)
Hydromechanische Simulation (Großstadt Berlin, New York etc.)
Schach (Deep Blue)
Erdbebensimulation
Atomwaffen-Simulation
Lösungen / Abhilfe:
–
–
–
Erhöhung der Taktfrequenz ?
Parallelität in der CPU (Pipelines)
Parallelbetrieb mit 10, 100 oder mehr CPU
FB Automatisierung und Informatik: Parallele Algorithmen
8
Beispiel Entwicklung von Medikamenten
Problem:
Wie bindet sich ein hypothetischer medizinischer Wirkstoff an einem
biologischen Rezeptor (Spektrum der Wissenschaft, März, 1994)
8000 Atomen im Wirkstoffmolekül, Lösungsmittel und biologischer
Zielsubstanz
Pro Atom drei Unbekannte (drei Koordinaten)
Gleichungssystem mit 24000 Unbekannten
teilweise ein nichtlineares Gleichungssystem
FB Automatisierung und Informatik: Parallele Algorithmen
9
Beispiel Integration
Problem:
Integration einer mehrdimensionalen Funktion
Berechnung eines „Gebirges“
hohe Anzahl der Variablen
Numerische Komplexität: 1 / εd
Beispiel:
–
drei Variablen
–
acht Stellen Genauigkeit
–
Komplexität: 1024
–
Rechenzeit eines Teraflop-Computers: eine Billion Sekunden
FB Automatisierung und Informatik: Parallele Algorithmen
10
Beispiel Faktorisierung einer Zahl
Problem:
Ermittlung aller Faktoren einer beliebigen Zahl
Beispiel:
–
3×3 ×3803 ×3607 = 123 456 789
–
Aufwand soll minimal sein
Aufwand bei einer 200-stelligen Zahl ?
Komplexität: vermutlich mit nicht polynomialer Rechenzeit lösbar
Verwendung in Kryptographie
FB Automatisierung und Informatik: Parallele Algorithmen
11
Beispiel Primzahlbestimmung
Problem:
Ist eine Zahl eine Primzahl?
Verwendung in der Kryptographie
Vor dem Computerzeitalter war 2127-1 die höchste bekannte Primzahl
FB Automatisierung und Informatik: Parallele Algorithmen
12
Umstieg auf einen Parallelrechner:
Wie viele Prozessoren?
Wie werden sie miteinander verbunden?
Welcher Komplexitätsgrad hat jede CPU?
Sind alle Prozessoren identisch?
Lösung des Synchronisationsproblem?
BUS-Systeme (Anzahl, Unabhängigkeit)
Speicher (lokal, global, Messages)
Synchrone Parallelität
Asynchrone Parallelität
Koordination des Programms
Parallele Programmiersprache
Paralleles Betriebssystem
FB Automatisierung und Informatik: Parallele Algorithmen
13
Parallelität:
Parallele Tätigkeiten bei einer Rechenaufgabe:
Simultane Eingabe an mehreren PC´s
Mehrere Programme gleichzeitig starten (1 CPU) ?
Mehrere Programme gleichzeitig starten (n CPU) ?
Ein Programm besitzt mehrere Teilaufgaben (Tasks)
Parallelität in der CPU (Pipeline, IU, FPU, Cache)
FB Automatisierung und Informatik: Parallele Algorithmen
14
Parallelität:
Parallele Software erfordert:
Parallelen Rechner (mindestens 2 CPU)
Betriebssystem mit parallelen Tasks
Parallele Programmiersprache
FB Automatisierung und Informatik: Parallele Algorithmen
15
Parallelität:
Probleme:
Aufteilung der Aufgaben
Synchronisation zwischen den Prozessen
Datenzugriff der Prozessen (Gemeinsamer Speicher etc).
Lineare Algorithmen
Parallele Algorithmen
Alter Quellcode mit linearen Algorithmen (OpenMP)
Neuer Quellcode mit parallelen Algorithmen (MPI, PVM)
FB Automatisierung und Informatik: Parallele Algorithmen
16
Beispiele für Rechnersysteme
Dual-Core-Rechner (Intel, AMD):
Threads, Open MP, MPI, C / Fortran
Multi-Core-Rechner:
Open MP, MPI, Unified Parallel C, Fortran
Grafikkarten:
OpenCL, Direct X
Clusterrechner:
MPI, PVM
Vektorrechner:
Parallaxis
FB Automatisierung und Informatik: Parallele Algorithmen
17
Beispielprojekte:
Open MP-Projekt:
Open Multiprozessing
Standardisiert
Verwendung beim Multi-Core-Computern
Kommunikation über Bus
Neuprogrammierung teilweise notwendig, siehe 1. Labor
FB Automatisierung und Informatik: Parallele Algorithmen
18
Beispielprojekte:
PVM-Projekt
Parallel Virtual Machine
Plattform übergreifender Standard
Oak Ridge National Laboratory,1989
Jeder Rechner hat einen „Daemon“ mit der Library „libpvm“
Kommunikation über UDP,TCP, Sockets
Neuprogrammierung notwendig
http://freshmeat.net/releases/80892
FB Automatisierung und Informatik: Parallele Algorithmen
19
Beispielprojekte:
MPI-Projekt:
Messing Passing Interface
Plattform übergreifender Standard
Kommunikation über UDP,TCP, Sockets
Neuprogrammierung notwendig, siehe 2. Labor
http://www.unix.mcs.anl.gov/mpi
FB Automatisierung und Informatik: Parallele Algorithmen
20
Sapphire HD5870: 355.00 €
■
■
■
■
Die Sapphire HD5870 basiert auf AMDs aktueller High-End GPU Radeon
HD5870.
Die in 40nm gefertigte GPU taktet mit 850 MHz und verfügt über satte 1600
Streamprozessoren, was für eine Rechenleistung von 2,77 TeraFLOPs einfacher
Genauigkeit ausreicht.
Die Karte ist mit 1024 Mbyte GDDR5-Speicher bestückt (effektiver Takt 4800
MHz), der über ein 256-Bit-Interface angebunden ist.
Weitere Eigenschaften: DirectX 11, OpenGL 3.2, ATI Avivo HD Video, ATI
Stream (Unterstützung von OpenCL 1.0 und DirectCompute 11), CrossFireX
für bis zu vier GPUs und die Multi-Display-Technologie ATI Eyefinity.
FB Automatisierung und Informatik: Parallele Algorithmen
21
PCEe-ATI: Asus EAH5970/G/2DIS: 600,00 €
■
■
■
■
Die Asus EAH5970/G/2DIS ist eine Dual-GPU-Karte auf Basis
von zwei AMD Radeon HD5870 Chips.
Die beiden GPUs auf der EAH5970/G/2DIS arbeiten mit 725
MHz und verfügen zusammen über 3200 Streamprozessoren
und 160 Textureinheiten für unglaubliche Rechenpower in
GPGPU-Anwendungen und Spielen.
Jeder GPU stehen 2 GByte GDDR5-Speicher zur Verfügung,
der mit 256-Bit angebunden ist und mit 1 GHz taktet (effektive
Datenrate 4000 MHz).
Dazu bietet die Asus EAH5970/G/2DIS aktuelle Features wie
DirectX 11, OpenGL 3.2, ATI Avivo HD Video, ATI Stream
(Unterstützung von OpenCL 1.0 und DirectCompute 11) und
die Multi-Display-Technologie ATI Eyefinity.
FB Automatisierung und Informatik: Parallele Algorithmen
22
Beispielprojekte:
Projekt Search for Extraterrestrial Intelligence: SETI
Daten von Radioteleskopen werden in 107 Sekunden Pakete aufgeteilt
(Bandbreite 10 kHz, 350 kByte Größe).
4 Millionen Nutzer, weltweit größter Cluster
Quelle:
htpp://setiathome.ssl.berkerley.edu
Allgemeine Liste:
http://www.aspenleaf.com/distributed
www.seti.org
FB Automatisierung und Informatik: Parallele Algorithmen
23
FB Automatisierung und Informatik: Parallele Algorithmen
24
Sun SPARC Enterprise M9000 Server
CPU
Cache per SPARC64 Level 1
Cache per SPARC64 Level 2
Clock speed
System bus
CPU: Main memory
CPU: I/O
System bus bandwidth (memory)
System bus bandwidth (I/O)
Choice of as many as 32 SPARC64 VII quad-core
or 32 SPARC64 VI dual-core processors (up to 64
processors with expansion cabinet)
• SPARC64 VII: 64 KB D-cache and 64 KB ICache
• SPARC64 VI: 128 KB D-cache and 128 KB ICache
• SPARC64 VII: 6 MB on chip
• SPARC64 VI: 5 MB – 6 MB on chip
• SPARC64 VII: 2.88 GHz
• SPARC64 VI: 2.28 GHz – 2.4 GHz System
High-speed, low-latency interconnect with
redundant data, address, and response crossbar
Up to 2 TB
As many as 8 I/O units (IOUs) with 8 PCIe slots
each/64 PCIe slots per system; up to 224 PCIe and
PCI-X slots with the optional External I/O
Expansion Unit
368 GB/sec peak, 114,9 GB/sec stream (copy)
122 GB/sec peak
PC : RAM-Durchsatz peak:6 GB/s
FB Automatisierung und Informatik: Parallele Algorithmen
25
The Sun SPARC Enterprise M9000 server features the option to mix and match up to 64
quad-core SPARC64 VII processors or dual-core SPARC64 VI processors, with up to 256
cores, and 512 threads all in the same system. It comes preinstalled with Solaris 10, the
worlds most advanced OS.
FB Automatisierung und Informatik: Parallele Algorithmen
26
An all-new, faster backplane interconnect gives you 368 GB/second speeds and acts as a
common interconnect between all chips, maximizing address and data bandwidth on one
interconnect.
FB Automatisierung und Informatik: Parallele Algorithmen
27
IBM SystemsLab Europe, Mainz
FB Automatisierung und Informatik: Parallele Algorithmen
28
IBM SystemsLab Europe, Mainz
FB Automatisierung und Informatik: Parallele Algorithmen
29
IBM SystemsLab Europe, Mainz
FB Automatisierung und Informatik: Parallele Algorithmen
30
Mainz, IBM Storage Center
9 KW
320 kW
80 km Länge des Netzwerkkabels
1500 Rechner
100 Racks
Stromkosten: 45000,00 € pro Monat
FB Automatisierung und Informatik: Parallele Algorithmen
31
Beispiele für synthetische Benchmarks
Dhrystone:
Nur Integerbefehle. Geeignet für Messungen der
Betriebssystem-Performance kleiner und mittlerer Rechner
Whetstone:
Standard-Arithmetik. Geeignet für kleine und mittlere Rechner
Livermore Loops:
24 For-Schleifen von häufig benutzten Programmen im
Lawrence Livermore National Laboratory
FB Automatisierung und Informatik: Parallele Algorithmen
32
Beispiele für synthetische Benchmarks
SPECS-Marks:
Von der Systems Performance Evaluation Cooperative
zusammengestellte Programmsammlung, bestehend aus 6
Fortran und 4 C-Programmen, die Integer- und FloatingpointOperationen beinhalten. Die SPEC wurde 1988 von Apollo, HP,
MIPS und SUN gegründet. Hauptsächlich für Workstations
geeignet.
Slalom-Benchmark:
Eine weitere Programmsammlung, die so geschrieben ist, dass
der Benchmark auf jedem Rechner ungefähr gleich lange
dauert. Er ist somit geeignet auch kleinere Rechner zu testen.
FB Automatisierung und Informatik: Parallele Algorithmen
33
Beispiele für synthetische Benchmarks
Perfect-Benchmark:
Sammlung aus verschiedenen Anwendungsprogrammen für
Supercomputer. Perfect steht für „Performance Evaluation für
Cost-Effective Transformations“. Die Normierung der Version
wurde mit der Cray XMP durchgeführt. Es gibt zwei
Disziplinen: Bei der „baseline“ wurde der Code eingefroren,
und neue Compilerversionen können ihre Leistungsfähigkeit
unter Beweis stellen. In der zweiten Disziplin darf der
Quellcode beliebig verändert werden, nur die Ergebnisse
müssen übereinstimmen.
FB Automatisierung und Informatik: Parallele Algorithmen
34
Beispiele für synthetische Benchmarks
Linpack:
Der Ur-Benchmark für Supercomputer von Jack Dongerra. Er
besteht aus 2 Disziplinen:
Lösen eines 100x100 Gleichungssystems bei vorgegebenen
Fortransource
Lösen eines 1000x1000 Gleichungssystems, wobei beliebige
Optimierungen erlaubt sind. Er bestimmt die aktuelle
„Hitliste“ von Rechnern. Er ist sehr gut vektorrisierbar, führt
keine I/O-Operationen aus und verbraucht wenig Speicher.
FB Automatisierung und Informatik: Parallele Algorithmen
35
Beispiele für synthetische Benchmarks
NASA-Benchmark
NAS (Numerical Aerodynamic Simulation)
Euro-Ben-Benchmark
Genesis
PAR-Benchmark
FB Automatisierung und Informatik: Parallele Algorithmen
36
Kriterien für Rechnerarchitekturen
Mips:
Millions instruction per second.
Mips bezeichnet hierbei die pro Sekunde von einem Rechner
verarbeitbare Anzahl an Befehlen.
Die maximale Mips-Rate (Mips-peak) ergibt sich in
Abhängigkeit der Taktfrequenz tc und der Anzahl nm an
erforderlichen Taktzyklen pro Befehl zu:
tc
Mips peak =
nm ·106
Mips =
Anzahl der Instruktionen in einem Programm
Ausführungszeit ·106
FB Automatisierung und Informatik: Parallele Algorithmen
37
Kriterien für Rechnerarchitekturen
Mflops-Rate:
Die maximale Mflop-Rate ergibt sich damit für eine
notwendige Anzahl an Taktzyklen nf pro Gleitpunktoperation:
tc
Mflops peak =
n f ·10 6
Anzahl Gleitpunktoperationen in einem Programm
Mflops =
Ausführungszeit ·106
FB Automatisierung und Informatik: Parallele Algorithmen
38
Top-500
Adresse
www.top500.org
www.top500.org/lists/linpack.php
http://www.top500.org/lists/2004/06/1/
FB Automatisierung und Informatik: Parallele Algorithmen
39
Top-500: Japan’s K Computer Top
FB Automatisierung und Informatik: Parallele Algorithmen
40
•
•
•
•
•
System Name
Firma
CPU´s
Power
Main Memory
K computer SPARC64
Fujitsu
705 024 Kerne
12 629 Kw
1 411 148 GB
•
•
•
Operating System Linux
Processor
SPARC64 VIIIfx 2.0GH
FB Automatisierung und Informatik: Parallele Algorithmen
41
Multi-core GPU Programming
Intel 48 / 80 Core
•http://news.preisgenau.de/intel-cpu-mit-48-cores-10-bis-20-mal-schneller-als-herkommliche-chips-3902.html
•http://news.cnet.com/Intel-shows-off-80-core-processor/2100-1006_3-6158181.html
FB Automatisierung und Informatik: Parallele Algorithmen
42
FB Automatisierung und Informatik: Parallele Algorithmen