Multikern-Rechner und Rechnerbündel

Ähnliche Dokumente
Universität Karlsruhe (TH)

Kapitel 4 Grundlagen zur Parallelverarbeitung

Kapitel Grundlagen zur Parallelverarbeitung

Mehrprozessorarchitekturen

2 Rechnerarchitekturen

Di 7.4. Herausforderung Mehrkern-Systeme. Walter Tichy. January 26-30, 2009, Munich, Germany ICM - International Congress Centre Munich

Proseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme

Architektur paralleler Plattformen

Universität Karlsruhe (TH)

Systeme 1: Architektur

Distributed Memory Computer (DMC)

Hardware-Architekturen

Intel 80x86 symmetrische Multiprozessorsysteme. Eine Präsentation im Rahmen des Seminars Parallele Rechnerarchitekturen von Bernhard Witte

Spielst du noch oder rechnest du schon?

Technische Grundlagen der Informatik 2 SS Einleitung. R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt E-1

Kapitel 1 Parallele Modelle Wie rechnet man parallel?

Herausforderung Multikern-Systeme

Herausforderung Multikern-Systeme

Projektseminar Parallele Programmierung

2.7. REALE PARALLELRECHNER UND DIE TOP500-LISTE

Enterprise Computing

Parallele und verteilte Programmierung

Orientierungsveranstaltungen 2009 Informatikstudien der Universität Wien

Parallelrechner (1) Anwendungen: Simulation von komplexen physikalischen oder biochemischen Vorgängen Entwurfsunterstützung virtuelle Realität

Überblick. Einleitung. Befehlsschnittstelle Mikroarchitektur Speicherarchitektur Ein-/Ausgabe Multiprozessorsysteme,...

Multicore Architektur vs. Amdahl`s Gesetz

Sun HPC Agenda

Vorstellung der SUN Rock-Architektur

Johann Wolfgang Goethe-Universität

Software Engineering für moderne, parallele Plattformen

Georg Hager Regionales Rechenzentrum Erlangen (RRZE)

moderne Prozessoren Jan Krüger

3 Technikarchitekturen

Beispiele von Branch Delay Slot Schedules

Rechnerarchitektur SS 2012

DOAG Konferenz 2007 in Nürnberg

Ein kleiner Einblick in die Welt der Supercomputer. Christian Krohn

IT für Führungskräfte. Zentraleinheiten Gruppe 2 - CPU 1

Multicore Herausforderungen an das Software-Engineering. Prof. Dr.-Ing. Michael Uelschen Hochschule Osnabrück

Mehrprozessorarchitekturen (SMP, Cluster, UMA/NUMA)

Verteilte Betriebssysteme

Gregor Michalicek, Marcus Schüler. Multiprozessoren

High Performance Computing

Software Engineering für moderne, parallele Plattformen

Parallele Programmiermodelle

Parallele Rechnerarchitekturen

Maik Zemann. Flynn s Taxonomie. Parallele Rechnerarchitekturen SS 2004 Technische Fakultät Universität Bielefeld. 3. Mai 2004 Flynn's Taxonomie 1

Games with Cellular Automata auf Parallelen Rechnerarchitekturen

Das HLRN-System. Peter Endebrock, RRZN Hannover

RST-Labor WS06/07 GPGPU. General Purpose Computation On Graphics Processing Units. (Grafikkarten-Programmierung) Von: Marc Blunck

MULTICORE- UND GPGPU- ARCHITEKTUREN

Symmetrischer Multiprozessor (SMP)

Herausforderung Multikern-Systeme

Multicore-Architekturen

Rechnerarchitektur und Betriebssysteme (CS201): Multiprogramming und -Tasking Flynn-Klassifikation, ILP, VLIW

OpenMP am Beispiel der Matrizenmultiplikation

Opteron und I/O. Toni Schmidbauer. 11. Mai Zusammenfassung. Eine kurze Beschreibung der AMD Opteron Architektur.

Kommunikationsmodelle

Parallelverarbeitung. Parallelverarbeitung. 2. Grundlagen. 2. Grundlagen. 2.1 Parallelität

Inhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9

Grundlagen der Parallelisierung

Implementierungsansätze für ein FPGA basiertes Multiprozessor. Marco Kirschke INF-M1 Anwendung 1 - Wintersemester 2009/

Konzepte der parallelen Programmierung

Computational Biology: Bioelektromagnetismus und Biomechanik

Grafikkarten-Architektur

Universität Karlsruhe (TH)

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).

Rechnerarchitektur SS 2014

Multiprozessor System on Chip

Seminar Multicore-Programmierung

Hugepages, NUMA or nothing on Linux?

LEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610

Universität Karlsruhe (TH)

The world we live in and Supercomputing in general

Software Distributed Shared Memory. Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik Sarah Neuwirth, 05.

CLAIX Vorstellung und Technik Christian Terboven

Hochleistungsrechnen Hybride Parallele Programmierung. Prof. Dr. Thomas Ludwig Universität Hamburg Informatik Wissenschaftliches Rechnen

IT-Infrastruktur, WS 2014/15, Hans-Georg Eßer

Neue Dual-CPU Server mit Intel Xeon Scalable Performance (Codename Purley/Skylake-SP)

Der neue Hessische Hochleistungsrechner HHLR

Codesigned Virtual Machines

Virtueller Speicher und Memory Management

Technische Informatik 1

Teil Rechnerarchitekturen M07. Multiprogramming und Tasking, Flynn-Klassifikation, Parallelismus. Corinna Schmitt

Seminar Parallele Rechnerarchitekturen SS04 \ SIMD Implementierung aktueller Prozessoren 2 (Dominik Tamm) \ Inhalt. Seite 1

Protected User-Level DMA in SCI Shared Memory Umgebungen

Paralleles Rechnen. (Architektur verteilter Systeme) von Thomas Offermann Philipp Tommek Dominik Pich

Beispielvortrag: HPCG auf Intel Haswell-EP

Netzwerke Teil 2. Dr. Victor Pankratius David J. Meder. IPD Tichy Lehrstuhl für Programmiersysteme

Supercomputer Blue Gene/L

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

Übersicht. Einleitung. Übersicht. Architektur. Dr.-Ing. Volkmar Sieh WS 2008/2009

Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.

Beispiel Parallelisierung 2D Laplace. Lagrange Formulierung/Hyperelastisches Material. Finite Differenzen Diskretisierung

1 Konzepte der Parallelverarbeitung

High Performance Embedded Processors

Fachbereich Medienproduktion

Trend der letzten Jahre in der Parallelrechentechnik

Konzepte von Betriebssystem-Komponenten: Effiziente Manycore-Systeme

Transkript:

Multikern-Rechner und Rechnerbündel Dr. Victor Pankratius David J. Meder IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH)

Inhalt der Vorlesung Rechnerbündel Architektur von Multikernrechnern und Rechnerbündeln Hochgeschwindigkeitsnetzwerke Hochgeschwindigkeitskommunikation Betrieb von Rechnerbündeln Administration Ablaufplanung Platzierung Programmierung von Multikernrechnern und Rechnerbündeln MPI, BSP DSM OpenMP, Fäden Parallele Algorithmen 2

Organisatorisches (1) Aktuelle Termine bitte regelmäßig im Web überprüfen : http://www.ipd.uka.de/tichy/ teaching.php?id=166 Keine Vorlesung am: 22. Dezember 2009 26. Januar 2010 stattdessen: 20.11. + 27.11. HS -101, Geb. 50.34 Dienstag, 15:45 17:15 1 20.10.09 2 27.10.09 3 03.11.09 4 10.11.09 HS -101, Geb. 50.34 Freitag, 14:00 15:30 5 17.11.09 6 20.11.09 7 24.11.09 8 27.11.09 9 01.12.09 10 08.12.09 11 15.12.09 12 12.01.10 13 19.01.10 14 02.02.10 15 09.02.10 3

Organisatorisches (2) Prüfbar nur in den Diplom- oder Masterstudiengängen Informatik bzw. Informationswirtschaft, jedoch nicht im Bachelorstudiengang. Mastermodule: Software-Systeme [IN4INSWS] Parallelverarbeitung [IN4INPV] Prüfung kann ggf. am Ende der Vorlesung schriftlich stattfinden. 4

Literatur Parallel Programming Barry Wilkinson, Michael Allen Prentice Hall, 2004 ISBN 978-0131405639 Cluster Computing Heiko Bauke, Stephan Mertens Springer Verlag, 2005 ISBN: 3-540-42299-4 Parallele Programmierung, Thomas Rauber, Gudula Rünger, Springer Verlag, 2007 ISBN 978-3540465492 Modern Multithreading Richard H. Carver, Kuo-Chung Tai Wiley, 2006 ISBN 978-0471725046 Parallel Programming in OpenMP, Rohit Chandra et al., Morgan Kaufmann, 2000 ISBN 978-1558606715 Quelle (Bilder) : Amazon.de 5

Hilfe Vorlesungsfolien, Literaturhinweise: http://www.ipd.uni-karlsruhe.de/tichy/ Victor Pankratius Infobau, Geb. 50.34, 3. OG, Zimmer 372 E-Mail: pankratius@ipd.uni-karlsruhe.de Tel: 608-7333, Sprechstunde: über E-Post vereinbaren David Meder Infobau, Geb. 50.34, 3. OG, Zimmer 345 E-Mail: meder@ipd.uni-karlsruhe.de Tel: 608-3972, Sprechstunde: über E-Post vereinbaren 6

Danksagung Die erste Rechnerbündel-Vorlesung entstand im WS 2001/02 an der Univ. Karlsruhe (Tichy und Moschny) Sie wurde ergänzt mit Beiträgen von Prof. Dr. Philippsen, Uni Erlangen-Nürnberg Prof. Dr. Christian Lengauer, Uni Passau Prof. Dr. Michael Gerndt, TUM München Beiträge von Institutsmitarbeitern F. Isaila, J. Reuter, B. Haumacher, V. Pankratius 7

Warum Parallelverarbeitung? Anwendungen brauchen mehr Leistung oder mehr Ressourcen als Ein-Prozessorsysteme bieten können. Warten auf nächste Hardware-Generation hilft nicht mehr Taktfrequenzen steigen kaum noch. "Grand-Challenge" Applikationen aus Chemie, Astronomie, Bioinformatik, CAD/CAM, [physorg.com] Simulationen, wenn Experimente unmöglich sind "Der Appetit kommt beim Essen" [IBM] [Linux-Magazin.com] 8

Ansätze zur Leistungssteigerung Härter arbeiten Schnellere Hardware verwenden, mehr Speicher einbauen, Schlauer arbeiten Effizientere Algorithmen, Optimierungen Hilfe holen Parallelverarbeitung 9

Ziele der Leistungssteigerung Hätte man alle Ressourcen n-fach, Durchsatz: Berechne (hoffentlich) n Probleme simultan Antwortzeit: Berechne 1 Problem in (hoffentlich) einem n-tel der Zeit Problemgröße: Berechne 1 Problem mit (hoffentlich) einem n-fach vergrößertem Datensatz 10

Parallelität zur Durchsatzsteigerung Ausführung von n Instanzen eines sequentiellen Programms mit unterschiedlichen Datensätzen auf n > 1 Prozessoren Z.B. Berechnung eines Films: Jeder Prozessor berechnet ein anderes Bild, verwendet aber dasselbe (sequentielle) Programm Problem: Ressourcen der einzelnen Prozessoren beschränkt Begrenzte CPU-Leistung Begrenzte Hauptspeichergröße Peinlich einfacher Parallelismus (engl. embarassing parallelism) tritt nicht häufig auf (z.b. Seti@home, Faktorisierung großer Zahlen, Datenanalyse der Hochenergiephysik) 11

Parallelität zur Beschleunigung Ausführung einer einzelnen Instanz eines parallelen Programms auf n > 1 Prozessoren, wobei die CPUs dazu dienen, die Aufgabe gemeinsam schneller zu lösen. Z.B. Schnelles Darstellen von sehr großen (komplexen) Bildern: Jeder Knoten berechnet einen Teil des Bildes, um so die Programmausführung zu beschleunigen. Problem: Paralleles Programm erforderlich (Hohe) Anforderungen an die Kommunikationsleistung 12

Parallelität zur Problemgrößensteigerung Ausführung einer einzelnen Instanz eines parallelen Programms auf n > 1 Prozessoren, wobei die Summe der lokalen Speicher dazu genutzt wird, größere Probleme zu berechnen. Z.B. Darstellen von sehr großen (komplexen) Bildern: Jeder Prozessor berechnet einen Teil des Bildes unter Verwendung seines lokalen Speichers. Problem: Paralleles Programm erforderlich (Geringe bis mittlere) Anforderungen an Kommunikationsleistung 13

David Patterson, Präsident ACM: In case you weren't paying attention, the era of doubling performance every 18 months ended in 2002. SpecInt President s Letter, Comm of ACM, März 2006 14

Warum flachen die Kurven ab? Power Wall Chips werden zu heiß (Energiedichte eines Nuklear- Brennstabes); Memory Wall Keine ausreichende Verbesserung der Speicherlatenz. ILP Wall Parallelismus auf Instruktionsebene ist ausgeschöpft; Die Zeit der Gratis-Beschleunigung geht zu Ende. 16

Strategische Änderung: Multiprozessoren auf einem Chip Hersteller #Kerne/Chip etwa seit IBM 2 2004 IBM 9 2005 AMD 2 2005 AMD 4 2007 Intel 2 2006 Intel 4 2007 Intel 6 2008 SUN 8 2005 Hersteller haben eine kritische Schwelle überschritten: Mehrere Prozessorkerne pro Chip sind möglich und preiswert: Wachsende Anzahl von Prozessorkernen pro Chip sind prognostiziert (wegen weiterem Schrumpfen der Abmessungen der Transistoren, Leitungen, etc.) Intel stellt 2006 einen Prototypen mit 80 Prozessoren auf einem Chip vor. 17

Ihr Laptop ein Parallelrechner? 2007 2008 2009 Quelle: Dell 2007, 2008 und 2009 18

Intel Core Duo Doppelprozessor Core1 Core2 Bus 2 MB L2 Cache Prozessoren: 2 Ghz 32KB Datencache und 32 KB Instruktions-Cache pro Kern 2MB gemeinsamer L2 Cache Bus: 667 MHz; 5,3 GB/s Quelle: Intel 2007 Data Prefetch Logic 19

Intel 6-Kern Prozessor Dunnington Taktfrequenz: 2,1 GHZ bis 2.66 GHz Cache: L1: 32 + 32 KByte (pro Kern) L2: 3x 3 MByte L3: 12 16 Mbyte Bustakt: 1066 MHz Fertigungstechnik: 45nm Quelle: Intel 2008 20

SUN Niagara 8-Kerne Chip (1) Niagara 1 1.2 GHz ~ 279 Mio. Transistoren L1 Cache: 16KB (Instruction) + 8KB (Data) / Kern L2 Cache: 3MB (shared) 4 Threads / Kern 1 FPU Niagara 2 1.4 GHz ~ 500 Mio. Transistoren L1 Cache: 16KB (Instruction) + 8KB (Data) / Kern L2 Cache: 4MB (shared) 8 Threads / Kern 8 FPUs Quelle: Sun 2005 (oben), Sun 2007 (unten) 21

Thread1 Thread2 Thread3 Thread4 Thread1 Thread2 Thread3 Thread4 SUN Niagara 8-Kerne Chip (2) Core 1 Core 8 Niagara 1: 4 Fäden/Kern Instruction Cache Data Cache Instruction Cache Data Cache MMU MMU Level 2 Cache Memory Niagara 2: analog mit 8 Fäden/Kern 22

Cisco Metro 2005: 192 Prozessoren auf 3,24 cm2 0,5 mm 2 pro Prozessor< 16 Gruppen zu je 12 Prozessoren (192 insgesamt) 192 Tenselica Prozessoren 10 Gips 250 MHz 35W 130nm Technik (2005) Quelle: http://www.gigascale.org/mescal/maw/index.html Bei aktueller 45 nm Technik wäre Raum für das Achtfache an Prozessoren. 23

Was sind die Folgen? Hauptproduktlinie der Prozessor-Hersteller sind Multikern- Chips. Server werden bereits seit 2005 mit Multikern-Chips ausgeliefert. Sogar Laptops werden seit 2006 mit Doppelprozessor- Chips ausgestattet (Dell, Apple, u.s.w.) 24

Was ist hier neu? Multiprozessor-Betriebssysteme (für SMPs) sind gut entwickelt Genügend Prozessparallelität, um auf Dienstgebern und selbst auf PCs moderate Mehrkern-Parallelität zu nutzen. Datenbanken und Transaktionsmanager haben schon lange mit Parallelismus gearbeitet. Web-Dienstgeber sind trivial-parallel (viele parallele Fäden). Numerische Anwendungen sind oft bereits parallel. Alltäglich genutzte Anwendungen sind (noch) nicht parallelisiert (z.b. Büroanwendungen, eingebettete Systeme, etc.) Beherrschbarkeit der Parallelisierung für diese kritisch 25

Was sind die Folgen? (2) Leistungssteigerungen von alltäglich genutzten Anwendungen wird durch Parallelisierung erreicht. Parallelismus wird zum Normalfall. Informatiker müssen Parallelismus beherrschen lernen. Fundamentaler Übergang vom sequentiellen zum parallelen Rechnen auf breiter Front mit dramatischen Auswirkungen auf Anwendungen, Forschung, und Lehre. 26

Was sind die Folgen? (3) Beispiel für Preisentwicklung für Intel Core 2 Quad Q6600 innerhalb von ca. 1,5 Jahren Quelle: geizhals.at/deutschland 4-Kern-Prozessoren gibt es heute schon für weniger als 100 zu kaufen; bspw. den AMD Phenom II X4 620 (~ 75 ) 27

Was sind die Folgen? (4) Die Softwarehersteller und die Informatikausbildung müssen rasch auf Parallelverarbeitung umstellen, um Wettbewerbsfähigkeit zu erhalten. Umstellung von existierenden Anwendungen Erstellung neuer, paralleler Anwendungen 28

Parallelität im Prozessor Wortbreite Fließbandverarbeitung Superskalare Prozessoren dynamische Ablaufplanung (Scheduling) für die Instruktionen (Datenabhängigkeiten zw. Instruktionen werden berücksichtigt) VLIW-Prozessoren mehrere Instruktionen gleichzeitig, statische Ablaufplanung Diese Parallelität wird implizit durch Übersetzer und den Prozessor ausgenützt, kann aber nicht direkt programmiert werden. 29

Und wenn das alles noch nicht reicht? Dann Bündel bilden! Rechnerbündel bestehen aus mehreren Einzelrechnern (evtl. aus SMP und Multikernrechnern) und einem Verbindungsnetz. Damit kann die jeweils verfügbare Spitzenleistung eines einzelnen Rechners fast beliebig vervielfältigt werden. 30

Parallelrechnerklassifikation nach Flynn (1) globale Daten- u. Steuerungsflüsse als Kriterium SISD: Single Instruction, Single Data eine Verarbeitungseinheit, die Zugriff auf einen Datenspeicher und einen Programmspeicher hat. Klassischer sequentieller von-neumann-rechner Datenspeicher Prozessor Programmspeicher MISD: Multiple Instruction, Single Data Sog. Systolische Rechner: ein Datenstrom wird durch ein Fließband hindurch verarbeitet, wobei die Knoten im Fließband unterschiedliche Instruktionen ausführen. Keine praktische Bedeutung. 31

Parallelrechnerklassifikation nach Flynn (2) SIMD: Single Instruction, Multiple Data Mehrere Verarbeitungseinheiten; jede hat separaten Zugriff auf (gemeinsamen oder verteilten) Datenspeicher; ein Programmspeicher Synchrone Instruktionsabarbeitung Datenspeicher Prozessor Programmspeicher Datenspeicher Prozessor 32

SIMD-Beispiele Connection Machine CM-1, CM-2 von Thinking Machines MasPar MP-1, MP-2 DAP, Distributed Array Processor Vorteile: Leichte Programmierung durch einen Kontrollfluss mit streng synchron-paralleler Abarbeitung aller Instruktionen Nachteile: Spezial-Hardware wurde vom Massenmarkt überholt Bedingte Anweisungen können zu ineffizienter Maschinennutzung führen 33

SIMD: if-anweisung Anweisung1 if (lokale-bedingung) then { then-teil } else { else-teil } Anweisung3 Alle Proz. führen Anweisung1 aus. Alle Proz. werten Bedingung mit lokalen Daten aus. Nur diejenigen Proz., bei denen lokale Bedingung erfüllt ist, führen then-teil aus. Andere Proz. machen Pause. Wechsel. Nun arbeiten die anderen Prozessoren. Synchronisationspunkt Alle Prozessoren führen Anweisung3 aus. 34

Parallelrechnerklassifikation nach Flynn (3) MIMD: Multiple Instruction, Multiple Data Mehrere Verarbeitungseinheiten; jede hat separaten Zugriff auf (gemeinsamen oder verteilten) Datenspeicher; mehrere Programmspeicher Datenspeicher Prozessor Programmspeicher Datenspeicher Prozessor Programmspeicher 35

Speicherorganisation von Parallelrechnern Gliederung nach physikalischer Speicherorganisation Gemeinsamer Speicher/globaler Speicher "Multi-Prozessorsystem" SMM Shared Memory Machine Verteilter Speicher "Multi-Computersystem" DMM Distributed Memory Machine Gliederung nach Sichtweise für Programmierer Gemeinsamer Adressraum (auf SMM und DMM) Verteilter Adressraum (auf DMM) 36

Gemeinsamer Speicher Konzept: M M M Verbindungsnetzwerk P P P Jeder Prozessor (P) kann über das Verbindungsnetzwerk direkt auf jeden Speicherbaustein (M) zugreifen. Das übliche Programmiermodell kann verwendet werden; kein explizites Senden und Empfangen von Nachrichten erforderlich Inkonsistenzen beim gleichzeitigen Schreibzugriff auf die selbe Speicherstelle (Schreibkonflikt) müssen in der Regel vom Programmierer verhindert werden. Unterscheidung: Zugriffszeit für "nahen"/"fernen" Speicher UMA oder NUMA: (Non-)Uniform Memory Access 37

Gemeinsamer Speicher: SMP Symmetric Multiprocessor M C P C P C P Wenige Prozessoren, meist zentraler Bus, schlecht skalierbar Ein Adressraum, konzeptuell UMA Uniform Memory Access In realen SMP ist aber ein lokaler Cache (C) pro Prozessor üblich Cache-Kohärenz in Hardware (Lesezugriff liefert immer den Wert des zeitlich letzten Schreibzugriffs. Später: Konsistenzmodelle) Ideal zur Programmierung mit parallelen Kontrollfäden (Threads) Bsp.: Multikernrechner, Doppelprozessorplatinen, SUN Enterprise, SGI Challenge 38

Gemeinsamer Speicher: NUMA - Non Uniform Memory Access Verbindungsnetzwerk P M P M Ein Adressraum, aber lokale Adressen sind schneller zu erreichen als entfernte Adressen Laufzeitunterschiede sind im Programm sichtbar Prozessoren sind schneller als Speicher, daher ist NUMA ohne Cache nicht sinnvoll. Wenn Cache vorhanden ist, dann nur für Daten aus dem lokalem Speicher eines Knotens. Bsp.: Cray T3D, T3E 39

Gemeinsamer Speicher: CC-NUMA cache-coherent NUMA Verbindungsnetzwerk C M C M P P Cache für lokale und entfernte Adressen Hardware sorgt für Cache-Kohärenz über den gesamten gemeinsamen Speicher. Skalierung problematisch, wegen Aktualisierungsdruck auf Caches (snoopy caching oder Rundruf von Schreibzugriffen) Bsp.: Stanford DASH, SGI Origin 2000 40

Gemeinsamer Speicher: COMA Cache Only Memory Access Verbindungsnetzwerk C C P P Es gibt pro Knoten nur noch Cache-Speicher. Verteilte Cache-Speicher bilden gemeinsamen Speicher Hardware sorgt für Cache-Kohärenz Bsp.: Kendall Square Research KSR-1, KSR-2 41

Verteilter Speicher Verbindungsnetzwerk P M P M P M P M D M A Nur der zugehöriger Prozessor (P) kann auf seinen privaten Speicher (M) direkt zugreifen. Zugriff auf entfernten Speicher nur über explizit programmierten Nachrichtenaustausch (komplementäre Sende- und Empfangsbefehle) möglich Lokaler Speicherzugriff (viel) schneller als Fernzugriff DMA (Direct Memory Access) für nebenläufigen Datentransfer zw. Speicher und Verbindungsnetz Bsp.: ipsc/860, CM-5, IBM SP2, ASCI Red/Blue/White etc. 42

Rechnerarchitekturen von 1993 bis 2009 Quelle: www.top500.org Stand: 06/2009 43

Verbindungsarten von 1993 bis 2009 Quelle: www.top500.org Stand: 06/2009 44

Cluster/Rechnerbündel Rechnerbündel = Parallelrechner mit verteiltem Speicher (+ Verbindungsnetz) Knoten sind handelsübliche, vollwertige PCs oder Arbeitsplatzrechner (meist ohne Monitor, Tastatur, Maus, aber auch Multikern oder SMP-Knoten) wegen Massenproduktion kosteneffizient an vorderster Technologiefront nach verfügbarem Budget vergrößer-/modernisierbar Stichwort COTS Commodity of the Shelf Oft: Linux auf jedem Knoten Hochleistungsverbindungsnetz Preiswerte, leistungsfähige Alternative zu traditionellen Supercomputern 45

Ursachen für Durchsetzung Prozessoren Prozessorleistung verdoppelt sich alle 18-24 Monate Die Rechner werden immer billiger (siehe Aldi-PC) Standards machen Rechnertausch möglich Netzwerke Immer schnellere/breitere Netze (Myrinet, switched Gigabit- Ethernet, Infiniband) Unbenutzte Zyklen auf Arbeitsplatzrechnern Software Programmierbibliotheken für die Massen, public domain 46

Top500 Die schnellsten Computersysteme Die Top500 enthält die 500 schnellsten Computersysteme und ihre Kenndaten. Verwendet den Linpack-Benchmark zur Ermittlung der Rechengeschwindigkeit. Seit 2008 wird in der Top500-Liste auch der Energieverbrauch ermittelt. Wird zweimal jährlich aktualisiert. http://www.top500.org Seit 2007 werden in der Green500-Liste die Computersysteme nach ihrer Energieeffizienz bewertet. http://www.green500.org 47

Top500 Entwicklung der Rechengeschwindigkeit Zur Erinnerung Peta: 10 15 Tera: 10 12 Giga: 10 9 Mega: 10 6 Quelle: http://www.top500.org/lists/2009/06/performance_development, Stand 06/2009 48

Top500 Top3: RoadRunner Quelle: http://www.lanl.gov/orgs/hpc/roadrunner/rrfullimages2/index.htm Platz 1 der Top500 Platz 4 der Green500 12.960 PowerXCell 8i (Single Core 3200Mhz) + 6.948 Opteron Dual-Core (1800Mhz) Linpack-Benchmark (R max ): 1.105TFlops Theoretische Spitzenleistung (R peak ) 1.456 TFlops Standort: Los Alamos (NM) Betreiber: DOE, NNSA, LANL Betriebssystem: Linux 49

Top500 Top3: RoadRunner Architektur Cluster aus 18 Connected Units (CU) Jede CU besteht aus 180 TriBlades Jedes TriBlade besteht aus 2 Opterons sowie 4 Cell CPUs Je 8 GByte RAM pro Opteron CPU sowie 4 Gbyte pro Cell CPU Kommunikation FatTree mit 2 Ebenen Volle Bisektion-Bandbreite innerhalb einer CU: 384GB/s (bidirektional) Halbe Bisektions- Bandbreite zwischen CUs: 3,45TB/s (bidirektional) Verwaltung über systemweites GigEnet Netzwerk Energiebedarf: 2,48MW (444,9 MFLOPS/W) 50

Top500 Top3: Jaguar (Cray XT5 + XT4) Quelle: http://www.ornl.gov/ornlhome/photos.shtml 51 Platz 2 der Top500 Platz 90 der Green500 4-Kern Opterons: XT5: 37.378 Prozessoren XT4: 7.832 Prozessoren Linpack-Benchmark (R max ): 1.059TFlops Theoretische Spitzenleistung (R peak ) 1.381 TFlops Standort: Oak Ridge Betreiber: NCCS/Oak Ridge, NL Betriebssystem: Linux Energiebedarf: 6,95MW (152,3MFLOPS/W)

Top500 Top3: JUGENE Platz 3 der Top500 Platz 18 der Green500 73728 Knoten mit je 2GByte RAM (insgesamt 144TByte) 294912 PowerPC 450 mit 850MHz (4 Prozessoren pro Knoten) Linpack-Benchmark (R max ): 0.825TFlops Theoretische Spitzenleistung (R peak ) 1.002 TFlops Standort: Jülich, DE Betreiber: FZ Jülich Betriebssystem: Linux Energiebedarf: 2,27MW (363,9 MFLOPS/W) Quelle: http://www.fz-juelich.de/jsc/service/sco_ibmbgp 52

Earth-Simulator Quellen: - http://ccse.jaea.go.jp/eng/section/sec8.html (oben) - http://www.jamstec.go.jp/esc/gallery/index.en.html (unten) Top500: Platz 1 (06/2002 bis 06/2004) Platz 4 (06/2005) Platz 10 (06/2006) Platz 20 (06/2007) Platz 49 (06/2008) Platz 22 (06/2009) Yokohama (Japan) 40TFLOPS Spitzenleistung 35,8 TFLOPS Linpack 5120 Arithmetik-Prozessoren, 500MHz 1GHz, 8GF 640 Rechenknoten mit je 8 Prozessoren 16 GB RAM 640x640, 12.3GB/s x 2 Kreuzschienenverteiler 8TB/s gesamte Bandbreite Hersteller: NEC MPI / HPF Klimaforschung, Erdbebenforschung 53

Weitere Beispiele für Rechnerbündel BEOWULF: NASA Avalon Cluster 140 Alpha 21164A, Fast Ethernet (1998) Cluster im PC2 Paderborn (200 x Dual Intel Xeon; 2005) Quelle: http://www.csa.ru/csa/micro/soderj.htmr 54

Sun Niagara T2000 Sun Niagara (oben): Ultra Sparc T2 (1,17 GHz, 8 Kerne) 16 GByte RAM Sun Niagara (unten): Ultra Sparc T1 (1,0 GHz, 8 Kerne) 16 GByte RAM 55

Praktikumsraum 12 Rechner mit jeweils 1 Intel Core 2 Quad Q6600, 2,4 GHz und 8 GByte Arbeitsspeicher. Quelle: Intel 2007 (Fotomontage) 56