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