Kapitel 7 Vektorrechner und Höchstleistungsrechner

Slides:



Advertisements
Ähnliche Präsentationen
Programmierung: Einführung
Advertisements

Die SX-Series: Eine Erfolgsstory mit Fortsetzung
Leistung.
KA – Rechnerarchitektur I ____________________________________________________________________________________________ ____________________________________________________________________________________________.
Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
2.3 Register-Transfer-Strukturen
PC-Cluster.
2.5 Vektorrechner & Multimedia-Erweiterungen
SAP R/3 - Speichermanagement
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Zentraleinheit CPU, Motherbord, RAM
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
BUS-Systeme (PCI) Allgemeines über BUS-Systeme Allgemeines zum PCI-Bus
WS 2009/10 1 Systeme 1 Kapitel 1 Aufbau von Rechnern.
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Basisinformationstechnologie 1 Tanja Lange WS 2003/04 am
Seminar parallele Programmierung SS 2003
OpenMP Präsentation im Rahmen des Seminars
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 14.1.
Rechneraufbau & Rechnerstrukturen, Folie 10.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 10.
Studiengang Informatik FHDW
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 2 Rechnerarchitektur Peter B. Ladkin Wintersemester 2001/2002 Universität Bielefeld Technische Fakultät.
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
Datenmanagement in Sensornetzen PRESTO - Feedback gesteuertes Datenmanagement - SS 2007 Sören Wenzlaff.
Schnittstellen in der Bildverarbeitung
Von: Antoni Gazali Clarkson Laryea
AMDs Next Generation Die Hammer Familie Eine Kurzpräsentation von Frank Grümmert bei Herrn Prof. Dr.-Ing. Risse für das RST-Labor.
EPIC, IA-64 und Itanium Eine Kurzpräsentation von Jan Hübbers bei Prof. Dr.-Ing. Risse im Fach Labor Rechnerstrukturen an der Hochschule Bremen
Inhalt Der Cell Prozessor Aufbau des Cells Platine Block Diagramm
Matrix Multiplication on CUDA
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Beschleunigung Virtueller Privater Netze durch Netzwerkprozessoren
Raid 0.
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Rechneraufbau & Rechnerstrukturen, Folie 13.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 13.
2.3 Register-Transfer-Strukturen
EDO-RAM,SDRAM,RDRAM,DDR2-SDRAM.
Hardware Ordne die Begriffe den Bildern zu!
Duo- und Quad Prozessor-Architektur
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
F.Ladstätter und R.Elsässer VP Wissenschaftliches Arbeiten und Präsentation 13. Dezember 2001.
Agenda Motivation Grundlagen der Matrix-Vektor-Multiplikation
Aufbau eines von-Neumann- Rechners Marcel Waldvogel.
INTEL Pentium 4 Prozessor
3.4 CPU-Chips und Busse CPU-Chips
Signal-Prozessoren DSV1, 2009, Hhrt, 1 Mikro-Prozessor Von Neumann-Architektur Daten und Programmcode im gleichen Speicher => Sequenzieller Zugriff auf.
Gliederung 1) Begriffserklärung zur CPU 2) Geschichte der CPU
Anwendung von Microcontollern
Multiprozessoren: Herausforderung für die Software
Rechnersysteme: Halbzeit Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Daten und Information.
Eine Übersicht von Margarete Streitwieser
DDR vs. RDRAM Ein Vergleich von Speichertechnologien Bernhard Fiser Stefan Schönauer.
Rechnerarchitekturen
Kurzvortrag Grafikkarten
Einführung in Optimierungsprobleme auf modernen Rechnerarchitekturen
Johann Baron von Neumann
Central Processing Unit von David Kleuker und Thomas Auner
Central Processing Unit (Zentraleinheit)
Mikrocomputertechnik Jürgen Walter
Aufbau, Funktion und Grundzusammenhänge
Aktueller Stand der Technik. Auf dem Markt sind heute bereits 64-Bit Mikrocontroller. Die meiste Verwendung finden allerdings noch immer die 8-Bit Modelle.
Entwicklungstrends der PC-Technologie
RAM (Random Access Memory)
Fragen.  Hardwarekomponenten sind die Bestandteile eines Computers, die Sie sehen und anfassen können.
Dr. Klaus Ruhlig Technology & Product Consulting Sun Microsystems, München Skalierbare Rechnerarchitekturen für ein DWH: Eine vergleichende Analyse.
RAM (Random Access Memory)
Vorgestern, gestern und heute
Shared Memory Programmierung: Grundlagen
 Präsentation transkript:

Kapitel 7 Vektorrechner und Höchstleistungsrechner Architektur von Vektoreinheiten Speicherkopplung mehrerer Vektoreinheiten Beispiel: Cray X1 Netzwerkkopplung speichergekoppelter Vektorreinheiten Beispiel: NEC SX-8 Netzwerkkopplung von SMPs Alternative: IBM Blue Gene Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

Vektorrechner Architektur optimiert für arithmetische Operationen auf großen Vektoren aus Gleitkommazahlen zentrales Element ist die Vektoreinheit (auch bezeichnet als VPU = „Vector Processing Unit“) VPU basiert auf arithmetischen Pipelines: liefern (nach Ablauf einer Startphase) stets 1 Gleitkomma-Resultat bzw. 1 Integer-Resultat je Takt! oft viele Stufen je Pipeline (typisch 2-16 Stufen, je nach arith. Operation) zunächst ausschließliche Verwendung von statischen Speichern hergestellt in jeweils schnellster verfügbarer Technologie (ECL, GaAs  Flüssigkeitskühlung!) Beispiel. aus 1975: 80 MHz Cray-1, 0.1 MHz Intel 8008 Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

Vektorrechner: Arithmetik-Pipeline Beispiel: Vektor-Addition bei Gleitkommazahlen Vorbereitung: Laden von zwei Vektorelementen a[i] und b[i] Phase 1: Exponentenvergleich Phase 2: Exponentenanpassung Phase 3: Addition der Mantissen Phase 4: Normalisieren Phase 5: Fehlerkontrolle Phase 6: Runden des Ergebnisses Nachbereitung: Speichern des Ergebniselementes c[i] jede Pipeline-Phase benötigt die gleiche Zeit τ, bei k Phasen liegt erstes Ergebnis nach Zeit k  τ vor Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

Vektorrechner: Architektur Beispiel: VPU der Cray-1 Taktzykluszeit: 12.5 ns acht 64-Bit Datenregister für skalare Variablen acht Vektorregister für jeweils bis zu 64 Vektorkomponenten zu 64 bit 12 arithmetische Pipelines: 3 für Gleitkomma-Vektoren 3 für Integer-Vektoren 4 für skalare Berechnungen 2 für Adress-Rechnungen (mit 1 bis 14 Pipeline-Stufen) Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

Vektorrechner: Speicherarchitektur Speichereinheit muß Daten in ausreichend hoher Geschwindig-keit bereitstellen, um VPU auszulasten: Speichereinheit ist i.a. auch als Pipeline realisiert, die zudem unabhängig von Arithmetik-Pipeline arbeitet ( Vorbereitung der Folgeoperation simultan zur aktueller Vektoroperation!) zur Realisierung einer höheren Speicherbandbreite ist der Speicher in m Speicherbänke aufgeteilt; Vektorelement i in Bank i mod m hohe Latenzzeit nur bei Initialisierung der Speicher-Pipeline, danach kann ein Datum je Takt gelesen/geschrieben werden zwei Arbeitsmodi: Zugriff auf „unit-stride data“ Zugriff auf „non-unit-stride data“ statt Speicherung von Zwischenergebnissen ist häufig auch Hintereinanderausführung mehrerer arithmetischer Operationen („Chaining“) möglich, z.B. für „Multiply&Accumulate“ Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

Vektorrechner: Programmierung Maschinen-Programmierung durch Vektor-Instruktionen (im allgemeinen von Compiler automatisch generiert), z.B.: VLOAD A, V1 VLOAD B, V2 VADD V1, V2, V3 VSTORE V3,C jeder Befehl ist äquivalent zu einer Schleife über alle Elemente in einem Vektorregister Operationen auf Vektorelementen müssen unabhängig sein (ansonsten ist keine Pipeline verwendbar !) Hochsprachen-Compiler (z.B. für High Performance Fortran) muß Operanden in Schleifen auf Unabhängigkeit testen bzw. durch Programmtransformation Unabhängigkeit erreichen ( Vektorisierung) berücksichtigt hierbei manuelle Hilfestellungen ( Direktive) muß Vektorregister zuteilen und lange Vektoren in Streifen einteilen Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

Vektorrechner: Leistung Leistung bei voller Pipeline nur abhängig nur von Taktzyklus und somit von Technologie Zeit für eine Operation auf Vektor mit n Komponenten: t = (Sp + k)  τ + (n 1)  τ = (Sp + n + k 1)  τ (Sp = zusätzliche konstante Startup-Zeit für Initialisierung der k-stufigen Pipeline) Leistungsmaße: Rn : Leistung bei Vektorlänge n R: Leistung bei unendlich langem Vektor n½ : Vektorlänge, die für eine Leistung von R/2 benötigt wird Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

Vektorrechner: Weiterentwicklung weitere Verkürzung der Taktzykluszeiten (z.B. Cray-2: 4.1 ns, Cray-3: 2.1 ns, Cray X1: 1.25 ns) Erhöhung der Anzahl an Pipeline-Funktionseinheiten und Speichereinheiten in einer VPU Speicherung einer höheren Anzahl von Vektorkomponenten je Vektorregister (bis zu 512) Unterstützung größerer Adressräume zeitweise waren auch Maschinen ohne Vektorregister verfügbar („Memory-Memory VPUs“, Bsp. ETA-10) Einsatz von dynamischen Speichern und Caches ( höhere Integrationsdichte, geringerer Energiebedarf, geringere Kosten) VPU kombiniert mit RISC-Prozessor für skalare Operationen Verwendung von CMOS-Technologie Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

Vektorrechner: Ausblick eine weitere Erhöhung der Leistung eines Vektorrechners ist möglich durch 1) speichergekoppelte VPUs Verwendung mehrerer VPUs Kopplung von VPUs und Speichermodulen über ein schnelles Netzwerk mit hoher Bandbreite und möglichst wenig Blockierungen, i.a. wird hier ein Crossbar eingestzt 2) Netzwerkkopplung speichergekoppelter VPUs vollständiger Crossbar ist bei vielen VPUs zu aufwendig statt dessen werden mehrere Knoten, die intern aus speichergekoppelten VPUs bestehen, über ein schnelles Netzwerk gekoppelt ermöglicht sehr hohe Anzahl von VPUs Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

Beispiel 1: Cray X1 Beispiel eines erst kürzlich (2003) vorgestellten Vektorrechners Architektur einer VPU: 4 skalare RISC CPUs mit jeweils 2 Vektor-Pipelines 4 Caches mit jeweils 0.5 MByte, über Crossbar mit CPUs/Vektor-Pipelines gekoppelt, max. Cache-Bandbreite: 76.8 GByte/s Taktfrequenz: 800 MHz max. Leistung: 12.8 GFlops, max. Speicher-Bandbreite: 34,1 GByte/s Systemarchitektur: Knoten („node“) besteht aus 4 VPUs (max. 51 GFlops), 16 RDRAM Speichermodule insgesamt max. 1024 Knoten (max. 52 TFlops) können über ein 2D-Torus Netzwerk zusammengeschaltet werden Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

Vektorrechner: Ausblick Vektorrechner haben in letzter Zeit an Bedeutung verloren, da in Vergleich zu anderen Architekturen ihr Preis durch Einsatz von Spezialkomponenten wesentlich höher ist trotzdem sind viele Vektorrechner in Rechenzentren installiert: NEC SX-6 (1 bis 1024 VPUs, 2 ns Takt, max. 8 GFlops je VPU) Fujitsu VPP5000 (4 bis 128 VPUs, 3.3 ns Takt, max. 9.6 GFlops je VPU) CRAY X1 (bis zu 4096 VPUs, 1.25 ns Takt, max. 12.8 GFlops je VPU) Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

Beispiel 2: NEC SX-8 speichergekoppelter Vektorrechner installiert z.B. am HLRS Stuttgart, Platz 48 der aktuellen Top 500 Besonderheiten: optische Verbindungswege zur Reduktion des Kabelwirrwarrs vier arithmetische Pipelines, auch eine für Division und Quadratwurzel Taktfrequenz 2 GHz jede Pipeline ist 4-fach aufgebaut, d.h. produziert 4 Ergebnisse je takt Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

Beispiel 2: NEC SX-8 Architektur einer CPU Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

Beispiel 2: NEC SX-8 (Forts.) Systemarchitektur eines Knoten mit CPU2: Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

IBM Blue Gene Forschungsprojekt von IBM, Lawrence Liverpool National Laboratory (LNNL) und des US Department of Energy Forschungsziele: Entwicklung energieeffizienter massiv paralleler Rechner, Simulation von Molekülen und Proteinen mehrere Systeme wurden gebaut, z.B. Blue Gene/L (LLNL) , Blue Gene/P, Blue Gene/Q Leistung Blue Gene/L: Peak Performance 360 TFlops, Linpack Performance 280 TFlops Blue Gene/L besteht aus 65536 Rechenknoten Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

IBM Blue Gene (Forts.) hierarchischer Aufbau des Supercomputers IBM Blue Gene/L: Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

IBM Blue Gene (Forts.) Rechenknoten besteht aus speziell entworfenem Chip: Chipfläche 11×11 mm, 474 Pins, 1.5 Volt enthält komplette „System-on-Chip“ Architektur zwei eingebetteten PowerPC 440 Kerne 700 MHz, 7-stufige Pipeline, jeweils 2 FPUs mit FMA-Befehl  max. Leistung von 5.6 GFlops je Knoten keine Cache-Kohärenz 4 MByte interner Speicher, auch als L3 Cache einsetzbar DRAM Controller für externen Speicher 12 Kommunikationskanäle (1-Bit) zu den 6 Nachbarknoten, 6 Kommunikationskanäle (2 Bit) für Baum-Netzwerk, 4 Interruptkanäle Leistungsaufnahme nur 13 Watt  ermöglicht hohe Packungsdichte: 1024 Knoten in einem 19 Zoll Rack E/A-Knoten (unter Linux) stellen Verbindung zum Ethernet Netzwerk dar Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

IBM Blue Gene (Forts.) Aufbau eines Chips: Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

IBM Blue Gene (Forts.) Systemarchitektur besteht aus drei Netzwerken: 1) ein 3D Torus-Netzwerk mit max. 32x32x64 Knoten zum Datenaustausch zwischen den Knoten minimale, adaptive, „Virtual Cut Through“ Routing-Strategie, direkt in Hardware realisiert serielle 1-Bit Verbindungskanäle mit 1.4 Gbit/s (unidirektional) zu den 6 Nachbarknoten, Latenzzeit durch Knoten von 69 ns 2) ein Baum-Netzwerk („collective network“) zur Realisierung von Broadcast-Operationen zur Realisierung von Reduktionen (globale Summe, Min, Max, ...) 2-Bit Verbindungskanäle mit 2.8 GBit/s, Gesamtlatenzzeit ca. 2.5 s 3) ein Interrupt-Netzwerk auch zur schnellen Barrieren-Synchrosiation Gesamtlatenzzeit 1.3 s Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm

IBM Blue Gene (Forts.) Parallele Rechnerarchitektur, SS 2006 A. Strey, Universität Ulm