Manycores: Hardware und Low-Level Programmierung



Ähnliche Dokumente
Manycores: Hardware und Low-Level Programmierung

Super rechnen ohne Superrechner Oder: Was hat das Grid mit Monte Carlo zu tun?

Ein kleiner Einblick in die Welt der Supercomputer. Christian Krohn

Mikrocontroller Grundlagen. Markus Koch April 2011

PERI Softwarefinder Leitfaden

Excel beschleunigen mit dem mit Windows HPC Server 2008 R2

MAP CellSs Mapprakt3

Profiling und Coverage mit GNU und Bare Embedded Systems

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Bei unserem letzten Ausflug in die Welt der Highend Mainboards konnten wir bereits feststellen das Intel seine Hausaufgaben gemacht hat.

Die Marvel, ein gedrosselter Supercomputer

HLRN III - HPC Ressource für Norddeutschland

Informatik-Sommercamp Mastermind mit dem Android SDK

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

VMware VVOLs mit HP 3PAR

Systemanforderungen (Mai 2014)

Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen

Strom in unserem Alltag

4D Server v12 64-bit Version BETA VERSION

INDEX. Netzwerk Überblick. Benötigte Komponenten für: Windows Server Windows Server 2008 R2. Windows Server 2012

GPGPU mit NVIDIA CUDA

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Konzepte der Informatik

OSEK/VDX NM (Network Management)

Performance Report OXID eshop 5.0 Enterprise Edition

Einführung in die Programmierung (EPR)

W-Rechnung und Statistik für Ingenieure Übung 11

Systemvoraussetzungen

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

ProSeminar Speicher- und Dateisysteme

ATOMSTROM: BEVÖLKERUNG ZEIGT SICH GUT INFORMIERT

Hochleistungsrechnen für Wissenschaft und Wirtschaft im internationalen Verbund

TREND SEARCH VISUALISIERUNG. von Ricardo Gantschew btk Berlin Dozent / Till Nagel

Kapitel 6: Graphalgorithmen Gliederung

XSC. Reimar Bauer, Rebecca Breu. Dezember Forschungszentrum Jülich. Weihnachtsfeier, 10. Dezember

Mobile Datenbanken - Trends und Entwicklungen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Systemvoraussetzungen

Professionelle Seminare im Bereich MS-Office

Inhalt. Gründe für den Umstieg. Ist der PC für Windows 7 / 8 bereit. Kosten. Upgrade oder Neuinstallation? Was ist zu sichern? Wo liegen die Daten

Anleitung zur Bearbeitung von Prüferkommentaren in der Nachreichung

Kapitel 4. Einführung in den Scannergenerator Flex. Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Ihr CMS für die eigene Facebook Page - 1

LAUNCHPAD. Kurzanleitung

Vergleich von RFID Systemen. EM 410x, 125kHz hitag, 125kHz mifare 13,56 MHz Legic 13,56 MHz. Allgemeine Funktionsweise:

Systemvoraussetzungen

Eclipse. für die kleinen Dinge des (modernen) Lebens

Makigami, Prozessmapping und Wertstromdesign. erstellt von Stefan Roth

Systemvoraussetzungen

Beispiel I5 Konzepte und Lösungen für Green lt der PTA

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Agile Software Development

Anleitung zur Nutzung des SharePort Utility

OSL-Technologietage 17. September 2008 Energieeffiziente Storage-Hardware

eclips Handheld Remote Control Software Updater

Automatische Boundary Scan Testgenerierung für scanunfähige Schaltungspartitionen durch modellbasierte Werkzeuge

Erfahrungen mit Hartz IV- Empfängern

Anforderungen an die HIS

Systemvoraussetzungen

KVM Performance Optimierungen auf Hypervisor / Linux Eben

KNX EtherGate Eine universelle Plattform für KNX/IP Interfaces

Preise und Leistungen Dynamic Computing Services

Einführung in IP, ARP, Routing. Wap WS02/03 Ploner, Zaunbauer

Citrix XenDesktopHDX 3D Pro

Systemvoraussetzungen winvs office winvs advisor

PaintManager TM Update News Seite 1 von 5

[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL

Übungen zur Softwaretechnik

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Interaktive Whiteboards Der Einzug einer neuen Lerntechnologie

Grundlagen verteilter Systeme

Software Development Center

Systemvoraussetzungen

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

Von Bits, Bytes und Raid

Pflichtenheft Programmanwendung "Syntax Tool"

SJ OFFICE - Update 3.0

Grundbegriffe der Informatik

Formular»Fragenkatalog BIM-Server«

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

How to do? Projekte - Zeiterfassung

Implementierung eines skalierbaren Terminal-Servers für plattenlose Clients unter Linux

16. All Pairs Shortest Path (ASPS)

Abacus Formula Compiler (AFC)

WLAN vs. UMTS. Partnerschaft oder Konkurrenz? René Büst Rechnernetze & Datenübertragung Sommersemester by René Büst

Viele Bilder auf der FA-Homepage

Jan Parthey, Christin Seifert. 22. Mai 2003

Prozesse und Logs Linux-Kurs der Unix-AG

Fragestellung: Wie viele CPU Kerne sollte eine VM unter Virtualbox zugewiesen bekommen?

:: Anleitung Hosting Server 1cloud.ch ::

Kingston Technology WHD. November 30, Andreas Scholz, BDM Integration und Server D-A

Proseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme

1 Einzelplatzversion. 1.1 Hardware. 1.2 Software* Stand Juli 2014

HTML Programmierung. Aufgaben

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

QTrade GmbH Landshuter Allee München Seite 1

Transkript:

Manycores: Hardware und Low-Level Programmierung Florian Sattler Universität Passau 18. Juni 2014

Übersicht Einführung Neue Architekturen Programmierung Supercomputing Fazit 2 / 29

Top 500 3 / 29

Motivation für Exascale Computing Es gibt bereits Anwendungen wo 50 petaflops an Rechenleistung um Größenordnungen nicht reichen. Fusionsenergie Simulation/Auswertung Erdmodelle Viele Forschungsbereiche benötigen Exascale Performance oder höher 4 / 29

Motivation für Exascale Computing Es gibt bereits Anwendungen wo 50 petaflops an Rechenleistung um Größenordnungen nicht reichen. Fusionsenergie Simulation/Auswertung Erdmodelle Viele Forschungsbereiche benötigen Exascale Performance oder höher 4 / 29

Motivation für Exascale Computing Es gibt bereits Anwendungen wo 50 petaflops an Rechenleistung um Größenordnungen nicht reichen. Fusionsenergie Simulation/Auswertung Erdmodelle Viele Forschungsbereiche benötigen Exascale Performance oder höher 4 / 29

Motivation für Exascale Computing Es gibt bereits Anwendungen wo 50 petaflops an Rechenleistung um Größenordnungen nicht reichen. Fusionsenergie Simulation/Auswertung Erdmodelle Viele Forschungsbereiche benötigen Exascale Performance oder höher 4 / 29

Motivation für Exascale Computing Es gibt bereits Anwendungen wo 50 petaflops an Rechenleistung um Größenordnungen nicht reichen. Fusionsenergie Simulation/Auswertung Erdmodelle Viele Forschungsbereiche benötigen Exascale Performance oder höher 4 / 29

Motivation für Exascale Computing Es gibt bereits Anwendungen wo 50 petaflops an Rechenleistung um Größenordnungen nicht reichen. Fusionsenergie Simulation/Auswertung Erdmodelle Viele Forschungsbereiche benötigen Exascale Performance oder höher 4 / 29

Tianhe-2 Tianhe-2 Peakperformance 54,9 petaflops Linpack Performance 33,8 petaflops Energieverbrauch 17,8MW/24MW Exascale Supercomputer Peakperformance 10 exaflops Energieverbrauch 3294MW/4416MW Energieproblem! 5 / 29

Tianhe-2 Tianhe-2 Peakperformance 54,9 petaflops Linpack Performance 33,8 petaflops Energieverbrauch 17,8MW/24MW Exascale Supercomputer Peakperformance 10 exaflops Energieverbrauch 3294MW/4416MW Energieproblem! 5 / 29

Tianhe-2 Tianhe-2 Peakperformance 54,9 petaflops Linpack Performance 33,8 petaflops Energieverbrauch 17,8MW/24MW Exascale Supercomputer Peakperformance 10 exaflops Energieverbrauch 3294MW/4416MW Energieproblem! 5 / 29

Tianhe-2 Tianhe-2 Peakperformance 54,9 petaflops Linpack Performance 33,8 petaflops Energieverbrauch 17,8MW/24MW Exascale Supercomputer Peakperformance 10 exaflops Energieverbrauch 3294MW/4416MW Energieproblem! 5 / 29

Tianhe-2 Tianhe-2 Peakperformance 54,9 petaflops Linpack Performance 33,8 petaflops Energieverbrauch 17,8MW/24MW Exascale Supercomputer Peakperformance 10 exaflops Energieverbrauch 3294MW/4416MW Energieproblem! 5 / 29

Tianhe-2 Tianhe-2 Peakperformance 54,9 petaflops Linpack Performance 33,8 petaflops Energieverbrauch 17,8MW/24MW Exascale Supercomputer Peakperformance 10 exaflops Energieverbrauch 3294MW/4416MW Energieproblem! 5 / 29

Tianhe-2 Tianhe-2 Peakperformance 54,9 petaflops Linpack Performance 33,8 petaflops Energieverbrauch 17,8MW/24MW Exascale Supercomputer Peakperformance 10 exaflops Energieverbrauch 3294MW/4416MW Energieproblem! 5 / 29

Tianhe-2 Tianhe-2 Peakperformance 54,9 petaflops Linpack Performance 33,8 petaflops Energieverbrauch 17,8MW/24MW Exascale Supercomputer Peakperformance 10 exaflops Energieverbrauch 3294MW/4416MW Energieproblem! 5 / 29

Tianhe-2 Tianhe-2 Peakperformance 54,9 petaflops Linpack Performance 33,8 petaflops Energieverbrauch 17,8MW/24MW Exascale Supercomputer Peakperformance 10 exaflops Energieverbrauch 3294MW/4416MW Energieproblem! 5 / 29

Tianhe-2 Tianhe-2 Peakperformance 54,9 petaflops Linpack Performance 33,8 petaflops Energieverbrauch 17,8MW/24MW Exascale Supercomputer Peakperformance 10 exaflops Energieverbrauch 3294MW/4416MW Energieproblem! 5 / 29

Energieproblem Verbrauch von 4416MW Atomkraftwerk Isar 2 produziert 1410MW 3 Atomkraftwerke ein Raspberry Pi verbraucht nur 3.5 Watt Lösung? 6 / 29

Energieproblem Verbrauch von 4416MW Atomkraftwerk Isar 2 produziert 1410MW 3 Atomkraftwerke ein Raspberry Pi verbraucht nur 3.5 Watt Lösung? 6 / 29

Energieproblem Verbrauch von 4416MW Atomkraftwerk Isar 2 produziert 1410MW 3 Atomkraftwerke ein Raspberry Pi verbraucht nur 3.5 Watt Lösung? 6 / 29

Energieproblem Verbrauch von 4416MW Atomkraftwerk Isar 2 produziert 1410MW 3 Atomkraftwerke ein Raspberry Pi verbraucht nur 3.5 Watt Lösung? 6 / 29

Energieproblem Verbrauch von 4416MW Atomkraftwerk Isar 2 produziert 1410MW 3 Atomkraftwerke ein Raspberry Pi verbraucht nur 3.5 Watt Lösung? 6 / 29

Energieproblem Verbrauch von 4416MW Atomkraftwerk Isar 2 produziert 1410MW 3 Atomkraftwerke ein Raspberry Pi verbraucht nur 3.5 Watt Lösung? 6 / 29

Energieproblem Verbrauch von 4416MW Atomkraftwerk Isar 2 produziert 1410MW 3 Atomkraftwerke ein Raspberry Pi verbraucht nur 3.5 Watt Lösung? 6 / 29

Irdis Pi 64 Pi s 64 700 MHz ARMv6 16GB RAM 224 Watt 7 / 29

Irdis Pi 64 Pi s 64 700 MHz ARMv6 16GB RAM 224 Watt 7 / 29

Irdis Pi 64 Pi s 64 700 MHz ARMv6 16GB RAM 224 Watt 7 / 29

Irdis Pi 64 Pi s 64 700 MHz ARMv6 16GB RAM 224 Watt 7 / 29

Irdis Pi 64 Pi s 64 700 MHz ARMv6 16GB RAM 224 Watt 7 / 29

Benchmark mit verschiedenen Problemgrößen 8 / 29

Vor-/Nachteile Vorteile Nachteile keine Lösung! geringe Anschaffungskosten wenig Leistung wenig Speicher stark Bandbreiten beschränkt GPU kein opencl 9 / 29

Vor-/Nachteile Vorteile Nachteile keine Lösung! geringe Anschaffungskosten wenig Leistung wenig Speicher stark Bandbreiten beschränkt GPU kein opencl 9 / 29

Vor-/Nachteile Vorteile Nachteile keine Lösung! geringe Anschaffungskosten wenig Leistung wenig Speicher stark Bandbreiten beschränkt GPU kein opencl 9 / 29

Vor-/Nachteile Vorteile Nachteile keine Lösung! geringe Anschaffungskosten wenig Leistung wenig Speicher stark Bandbreiten beschränkt GPU kein opencl 9 / 29

Vor-/Nachteile Vorteile Nachteile keine Lösung! geringe Anschaffungskosten wenig Leistung wenig Speicher stark Bandbreiten beschränkt GPU kein opencl 9 / 29

Vor-/Nachteile Vorteile Nachteile keine Lösung! geringe Anschaffungskosten wenig Leistung wenig Speicher stark Bandbreiten beschränkt GPU kein opencl 9 / 29

Vor-/Nachteile Vorteile Nachteile keine Lösung! geringe Anschaffungskosten wenig Leistung wenig Speicher stark Bandbreiten beschränkt GPU kein opencl 9 / 29

Vor-/Nachteile Vorteile Nachteile keine Lösung! geringe Anschaffungskosten wenig Leistung wenig Speicher stark Bandbreiten beschränkt GPU kein opencl 9 / 29

Vor-/Nachteile Vorteile Nachteile keine Lösung! geringe Anschaffungskosten wenig Leistung wenig Speicher stark Bandbreiten beschränkt GPU kein opencl 9 / 29

Vor-/Nachteile Vorteile Nachteile keine Lösung! geringe Anschaffungskosten wenig Leistung wenig Speicher stark Bandbreiten beschränkt GPU kein opencl 9 / 29

Neue Architekturen MPPA Multi-Purpose Processor Array von Kalray Hauptsitz Paris Gründung 2008 Board: MPPA256 Epiphany von Adapteva Hauptsitz Lexington (Boston) Gründung 2008 Board: Parallella 10 / 29

Neue Architekturen MPPA Multi-Purpose Processor Array von Kalray Hauptsitz Paris Gründung 2008 Board: MPPA256 Epiphany von Adapteva Hauptsitz Lexington (Boston) Gründung 2008 Board: Parallella 10 / 29

Neue Architekturen MPPA Multi-Purpose Processor Array von Kalray Hauptsitz Paris Gründung 2008 Board: MPPA256 Epiphany von Adapteva Hauptsitz Lexington (Boston) Gründung 2008 Board: Parallella 10 / 29

Neue Architekturen MPPA Multi-Purpose Processor Array von Kalray Hauptsitz Paris Gründung 2008 Board: MPPA256 Epiphany von Adapteva Hauptsitz Lexington (Boston) Gründung 2008 Board: Parallella 10 / 29

Neue Architekturen MPPA Multi-Purpose Processor Array von Kalray Hauptsitz Paris Gründung 2008 Board: MPPA256 Epiphany von Adapteva Hauptsitz Lexington (Boston) Gründung 2008 Board: Parallella 10 / 29

Neue Architekturen MPPA Multi-Purpose Processor Array von Kalray Hauptsitz Paris Gründung 2008 Board: MPPA256 Epiphany von Adapteva Hauptsitz Lexington (Boston) Gründung 2008 Board: Parallella 10 / 29

Neue Architekturen MPPA Multi-Purpose Processor Array von Kalray Hauptsitz Paris Gründung 2008 Board: MPPA256 Epiphany von Adapteva Hauptsitz Lexington (Boston) Gründung 2008 Board: Parallella 10 / 29

Neue Architekturen MPPA Multi-Purpose Processor Array von Kalray Hauptsitz Paris Gründung 2008 Board: MPPA256 Epiphany von Adapteva Hauptsitz Lexington (Boston) Gründung 2008 Board: Parallella 10 / 29

Neue Architekturen MPPA Multi-Purpose Processor Array von Kalray Hauptsitz Paris Gründung 2008 Board: MPPA256 Epiphany von Adapteva Hauptsitz Lexington (Boston) Gründung 2008 Board: Parallella 10 / 29

Neue Architekturen MPPA Multi-Purpose Processor Array von Kalray Hauptsitz Paris Gründung 2008 Board: MPPA256 Epiphany von Adapteva Hauptsitz Lexington (Boston) Gründung 2008 Board: Parallella 10 / 29

Neue Architekturen MPPA Multi-Purpose Processor Array von Kalray Hauptsitz Paris Gründung 2008 Board: MPPA256 Epiphany von Adapteva Hauptsitz Lexington (Boston) Gründung 2008 Board: Parallella 10 / 29

MPPA I/O Subsysteme 16 Cluster 16 Rechenkerne 1 Systemkern 11 / 29

MPPA I/O Subsysteme 16 Cluster 16 Rechenkerne 1 Systemkern 11 / 29

MPPA I/O Subsysteme 16 Cluster 16 Rechenkerne 1 Systemkern 11 / 29

MPPA I/O Subsysteme 16 Cluster 16 Rechenkerne 1 Systemkern 11 / 29

MPPA I/O Subsysteme 16 Cluster 16 Rechenkerne 1 Systemkern 11 / 29

MPPA verschiedene Varianten mit MPPA 64/256/1024 Energieverbrauch 1,8/5/7 Watt 50 GFLOPS/Watt Steigerung auf 100 GFLOPS/Watt 12 / 29

MPPA verschiedene Varianten mit MPPA 64/256/1024 Energieverbrauch 1,8/5/7 Watt 50 GFLOPS/Watt Steigerung auf 100 GFLOPS/Watt 12 / 29

MPPA verschiedene Varianten mit MPPA 64/256/1024 Energieverbrauch 1,8/5/7 Watt 50 GFLOPS/Watt Steigerung auf 100 GFLOPS/Watt 12 / 29

MPPA verschiedene Varianten mit MPPA 64/256/1024 Energieverbrauch 1,8/5/7 Watt 50 GFLOPS/Watt Steigerung auf 100 GFLOPS/Watt 12 / 29

MPPA verschiedene Varianten mit MPPA 64/256/1024 Energieverbrauch 1,8/5/7 Watt 50 GFLOPS/Watt Steigerung auf 100 GFLOPS/Watt 12 / 29

Epiphany eingesetzt in Parallella Chip mit 16/64 Kernen 50 GFLOPS/Watt 13 / 29

Epiphany eingesetzt in Parallella Chip mit 16/64 Kernen 50 GFLOPS/Watt 13 / 29

Epiphany eingesetzt in Parallella Chip mit 16/64 Kernen 50 GFLOPS/Watt 13 / 29

Epiphany eingesetzt in Parallella Chip mit 16/64 Kernen 50 GFLOPS/Watt 13 / 29

Memory 2 30 32-bit words 4096 Kerne 6-bit column ID 6-bit row ID off-chip RAM 14 / 29

Memory 2 30 32-bit words 4096 Kerne 6-bit column ID 6-bit row ID off-chip RAM 14 / 29

Memory 2 30 32-bit words 4096 Kerne 6-bit column ID 6-bit row ID off-chip RAM 14 / 29

Memory 2 30 32-bit words 4096 Kerne 6-bit column ID 6-bit row ID off-chip RAM 14 / 29

Memory 2 30 32-bit words 4096 Kerne 6-bit column ID 6-bit row ID off-chip RAM 14 / 29

Memory 2 30 32-bit words 4096 Kerne 6-bit column ID 6-bit row ID off-chip RAM 14 / 29

emesh Netzwerk cmesh (On-chip write) Schreibvorgänge zwischen Mesh Knoten 8-Byte/Cycle in jede Richtung gesamt Durchsatz 62.5 GB/s rmesh (Read request) Leseoperationen 1 alle 8 Cycle in jede Richtung 15 / 29

emesh Netzwerk cmesh (On-chip write) Schreibvorgänge zwischen Mesh Knoten 8-Byte/Cycle in jede Richtung gesamt Durchsatz 62.5 GB/s rmesh (Read request) Leseoperationen 1 alle 8 Cycle in jede Richtung 15 / 29

emesh Netzwerk cmesh (On-chip write) Schreibvorgänge zwischen Mesh Knoten 8-Byte/Cycle in jede Richtung gesamt Durchsatz 62.5 GB/s rmesh (Read request) Leseoperationen 1 alle 8 Cycle in jede Richtung 15 / 29

emesh Netzwerk cmesh (On-chip write) Schreibvorgänge zwischen Mesh Knoten 8-Byte/Cycle in jede Richtung gesamt Durchsatz 62.5 GB/s rmesh (Read request) Leseoperationen 1 alle 8 Cycle in jede Richtung 15 / 29

emesh Netzwerk cmesh (On-chip write) Schreibvorgänge zwischen Mesh Knoten 8-Byte/Cycle in jede Richtung gesamt Durchsatz 62.5 GB/s rmesh (Read request) Leseoperationen 1 alle 8 Cycle in jede Richtung 15 / 29

emesh Netzwerk cmesh (On-chip write) Schreibvorgänge zwischen Mesh Knoten 8-Byte/Cycle in jede Richtung gesamt Durchsatz 62.5 GB/s rmesh (Read request) Leseoperationen 1 alle 8 Cycle in jede Richtung 15 / 29

emesh Netzwerk cmesh (On-chip write) Schreibvorgänge zwischen Mesh Knoten 8-Byte/Cycle in jede Richtung gesamt Durchsatz 62.5 GB/s rmesh (Read request) Leseoperationen 1 alle 8 Cycle in jede Richtung 15 / 29

emesh Netzwerk cmesh (On-chip write) Schreibvorgänge zwischen Mesh Knoten 8-Byte/Cycle in jede Richtung gesamt Durchsatz 62.5 GB/s rmesh (Read request) Leseoperationen 1 alle 8 Cycle in jede Richtung 15 / 29

emesh Netzwerk cmesh (On-chip write) Schreibvorgänge zwischen Mesh Knoten 8-Byte/Cycle in jede Richtung gesamt Durchsatz 62.5 GB/s rmesh (Read request) Leseoperationen 1 alle 8 Cycle in jede Richtung 15 / 29

emesh Netzwerk xmesh (Off-chip write) off-chip Schreiben weitere Boards off-chip I/O 8GB/sec Süd-Nord / Ost-West Aufteilung 16 / 29

emesh Netzwerk xmesh (Off-chip write) off-chip Schreiben weitere Boards off-chip I/O 8GB/sec Süd-Nord / Ost-West Aufteilung 16 / 29

emesh Netzwerk xmesh (Off-chip write) off-chip Schreiben weitere Boards off-chip I/O 8GB/sec Süd-Nord / Ost-West Aufteilung 16 / 29

emesh Netzwerk xmesh (Off-chip write) off-chip Schreiben weitere Boards off-chip I/O 8GB/sec Süd-Nord / Ost-West Aufteilung 16 / 29

emesh Netzwerk xmesh (Off-chip write) off-chip Schreiben weitere Boards off-chip I/O 8GB/sec Süd-Nord / Ost-West Aufteilung 16 / 29

emesh Routing 1 Kern 32,32 schickt Leseanfrage 2 Vergleich: Spalten ID 3 Vergleich: Zeilen ID 4 Kern 39,39 sendet Daten mit cmesh/xmesh 17 / 29

emesh Routing 1 Kern 32,32 schickt Leseanfrage 2 Vergleich: Spalten ID 3 Vergleich: Zeilen ID 4 Kern 39,39 sendet Daten mit cmesh/xmesh 17 / 29

emesh Routing 1 Kern 32,32 schickt Leseanfrage 2 Vergleich: Spalten ID 3 Vergleich: Zeilen ID 4 Kern 39,39 sendet Daten mit cmesh/xmesh 17 / 29

emesh Routing 1 Kern 32,32 schickt Leseanfrage 2 Vergleich: Spalten ID 3 Vergleich: Zeilen ID 4 Kern 39,39 sendet Daten mit cmesh/xmesh 17 / 29

emesh Routing 1 Kern 32,32 schickt Leseanfrage 2 Vergleich: Spalten ID 3 Vergleich: Zeilen ID 4 Kern 39,39 sendet Daten mit cmesh/xmesh 17 / 29

Programmierung MPPA SigmaC IDE basierend auf Eclipse Compiler GDB integriert in Eclipse Spezielle Analyse Tools Debug Board 18 / 29

Programmierung MPPA SigmaC IDE basierend auf Eclipse Compiler GDB integriert in Eclipse Spezielle Analyse Tools Debug Board 18 / 29

Programmierung MPPA SigmaC IDE basierend auf Eclipse Compiler GDB integriert in Eclipse Spezielle Analyse Tools Debug Board 18 / 29

Programmierung MPPA SigmaC IDE basierend auf Eclipse Compiler GDB integriert in Eclipse Spezielle Analyse Tools Debug Board 18 / 29

Programmierung MPPA SigmaC IDE basierend auf Eclipse Compiler GDB integriert in Eclipse Spezielle Analyse Tools Debug Board 18 / 29

Programmierung MPPA SigmaC IDE basierend auf Eclipse Compiler GDB integriert in Eclipse Spezielle Analyse Tools Debug Board 18 / 29

Programmierung MPPA SigmaC IDE basierend auf Eclipse Compiler GDB integriert in Eclipse Spezielle Analyse Tools Debug Board 18 / 29

Programmierung Parallella C Syntax IDE basierend auf Eclipse E-GCC E-GDB Simulator 19 / 29

Programmierung Parallella C Syntax IDE basierend auf Eclipse E-GCC E-GDB Simulator 19 / 29

Programmierung Parallella C Syntax IDE basierend auf Eclipse E-GCC E-GDB Simulator 19 / 29

Programmierung Parallella C Syntax IDE basierend auf Eclipse E-GCC E-GDB Simulator 19 / 29

Programmierung Parallella C Syntax IDE basierend auf Eclipse E-GCC E-GDB Simulator 19 / 29

Programmierung Parallella C Syntax IDE basierend auf Eclipse E-GCC E-GDB Simulator 19 / 29

Matrixmultiplikation C ij = N 1 k=0 (A ik B kj ) Blocked by row and column Matrix A wird nach unten verschoben Matrix B verschoben nach rechts 90% Peakperformance 20 / 29

Matrixmultiplikation C ij = N 1 k=0 (A ik B kj ) Blocked by row and column Matrix A wird nach unten verschoben Matrix B verschoben nach rechts 90% Peakperformance 20 / 29

Matrixmultiplikation C ij = N 1 k=0 (A ik B kj ) Blocked by row and column Matrix A wird nach unten verschoben Matrix B verschoben nach rechts 90% Peakperformance 20 / 29

Matrixmultiplikation C ij = N 1 k=0 (A ik B kj ) Blocked by row and column Matrix A wird nach unten verschoben Matrix B verschoben nach rechts 90% Peakperformance 20 / 29

Matrixmultiplikation C ij = N 1 k=0 (A ik B kj ) Blocked by row and column Matrix A wird nach unten verschoben Matrix B verschoben nach rechts 90% Peakperformance 20 / 29

Matrixmultiplikation C ij = N 1 k=0 (A ik B kj ) Blocked by row and column Matrix A wird nach unten verschoben Matrix B verschoben nach rechts 90% Peakperformance 20 / 29

Matrixmultiplikation Code 1 f o r ( kc = 0; kc < Nside ; kc ++) { 2 matmac(me.banka[me.pingpong] 3, me.bankb[me.pingpong], me.bankc, Score); 4 5 / / Swap A banks h o r i z o n t a l l y 6 src = me. banka [me. pingpong ] ; 7 dst = me. tgta [me. pingpong ] ; 8 i f ( kc < ( Nside 1 ) ) 9 datacopy(&dmadesc[1], dst, src); 10 11 / / Swap B banks v e r t i c a l l y 12 src = me. bankb [me. pingpong ] ; 13 dst = me. tgtb [me. pingpong ] ; 14 i f ( kc < ( Nside 1 ) ) 15 datacopy(&dmadesc[1], dst, src); 16 17 me.pingpong = 1 - me.pingpong; 18 19 / / Sync with a l l other cores 20 ebarrier(barriers, tgtbars); 21 } 21 / 29

Matrixmultiplikation Code 1 f o r ( kc = 0; kc < Nside ; kc ++) { 2 matmac(me.banka[me.pingpong] 3, me.bankb[me.pingpong], me.bankc, Score); 4 5 / / Swap A banks h o r i z o n t a l l y 6 src = me. banka [me. pingpong ] ; 7 dst = me. tgta [me. pingpong ] ; 8 i f ( kc < ( Nside 1 ) ) 9 datacopy(&dmadesc[1], dst, src); 10 11 / / Swap B banks v e r t i c a l l y 12 src = me. bankb [me. pingpong ] ; 13 dst = me. tgtb [me. pingpong ] ; 14 i f ( kc < ( Nside 1 ) ) 15 datacopy(&dmadesc[1], dst, src); 16 17 me.pingpong = 1 - me.pingpong; 18 19 / / Sync with a l l other cores 20 ebarrier(barriers, tgtbars); 21 } 21 / 29

Matrixmultiplikation Code 1 f o r ( kc = 0; kc < Nside ; kc ++) { 2 matmac(me.banka[me.pingpong] 3, me.bankb[me.pingpong], me.bankc, Score); 4 5 / / Swap A banks h o r i z o n t a l l y 6 src = me. banka [me. pingpong ] ; 7 dst = me. tgta [me. pingpong ] ; 8 i f ( kc < ( Nside 1 ) ) 9 datacopy(&dmadesc[1], dst, src); 10 11 / / Swap B banks v e r t i c a l l y 12 src = me. bankb [me. pingpong ] ; 13 dst = me. tgtb [me. pingpong ] ; 14 i f ( kc < ( Nside 1 ) ) 15 datacopy(&dmadesc[1], dst, src); 16 17 me.pingpong = 1 - me.pingpong; 18 19 / / Sync with a l l other cores 20 ebarrier(barriers, tgtbars); 21 } 21 / 29

Matrixmultiplikation Code 1 f o r ( kc = 0; kc < Nside ; kc ++) { 2 matmac(me.banka[me.pingpong] 3, me.bankb[me.pingpong], me.bankc, Score); 4 5 / / Swap A banks h o r i z o n t a l l y 6 src = me. banka [me. pingpong ] ; 7 dst = me. tgta [me. pingpong ] ; 8 i f ( kc < ( Nside 1 ) ) 9 datacopy(&dmadesc[1], dst, src); 10 11 / / Swap B banks v e r t i c a l l y 12 src = me. bankb [me. pingpong ] ; 13 dst = me. tgtb [me. pingpong ] ; 14 i f ( kc < ( Nside 1 ) ) 15 datacopy(&dmadesc[1], dst, src); 16 17 me.pingpong = 1 - me.pingpong; 18 19 / / Sync with a l l other cores 20 ebarrier(barriers, tgtbars); 21 } 21 / 29

Matrixmultiplikation Code 1 f o r ( kc = 0; kc < Nside ; kc ++) { 2 matmac(me.banka[me.pingpong] 3, me.bankb[me.pingpong], me.bankc, Score); 4 5 / / Swap A banks h o r i z o n t a l l y 6 src = me. banka [me. pingpong ] ; 7 dst = me. tgta [me. pingpong ] ; 8 i f ( kc < ( Nside 1 ) ) 9 datacopy(&dmadesc[1], dst, src); 10 11 / / Swap B banks v e r t i c a l l y 12 src = me. bankb [me. pingpong ] ; 13 dst = me. tgtb [me. pingpong ] ; 14 i f ( kc < ( Nside 1 ) ) 15 datacopy(&dmadesc[1], dst, src); 16 17 me.pingpong = 1 - me.pingpong; 18 19 / / Sync with a l l other cores 20 ebarrier(barriers, tgtbars); 21 } 21 / 29

Probleme Struktur des emesh Netzwerks Unterschied zwischen xmesh und cmesh einzelnes emesh maximal 4096 Kerne Initialkosten von MPI bei sehr vielen Kernen zu hoch MPI zu schwer für einzelne Kerne 22 / 29

Probleme Struktur des emesh Netzwerks Unterschied zwischen xmesh und cmesh einzelnes emesh maximal 4096 Kerne Initialkosten von MPI bei sehr vielen Kernen zu hoch MPI zu schwer für einzelne Kerne 22 / 29

Probleme Struktur des emesh Netzwerks Unterschied zwischen xmesh und cmesh einzelnes emesh maximal 4096 Kerne Initialkosten von MPI bei sehr vielen Kernen zu hoch MPI zu schwer für einzelne Kerne 22 / 29

Probleme Struktur des emesh Netzwerks Unterschied zwischen xmesh und cmesh einzelnes emesh maximal 4096 Kerne Initialkosten von MPI bei sehr vielen Kernen zu hoch MPI zu schwer für einzelne Kerne 22 / 29

Probleme Struktur des emesh Netzwerks Unterschied zwischen xmesh und cmesh einzelnes emesh maximal 4096 Kerne Initialkosten von MPI bei sehr vielen Kernen zu hoch MPI zu schwer für einzelne Kerne 22 / 29

Probleme Struktur des emesh Netzwerks Unterschied zwischen xmesh und cmesh einzelnes emesh maximal 4096 Kerne Initialkosten von MPI bei sehr vielen Kernen zu hoch MPI zu schwer für einzelne Kerne 22 / 29

Lösungen effiziente Integration von emesh in libs/apis schlanke Version von MPI (MPI lite) Zwei-Schichten-Modell mit MPI+SubProgramm automatische Code Generierung 23 / 29

Lösungen effiziente Integration von emesh in libs/apis schlanke Version von MPI (MPI lite) Zwei-Schichten-Modell mit MPI+SubProgramm automatische Code Generierung 23 / 29

Lösungen effiziente Integration von emesh in libs/apis schlanke Version von MPI (MPI lite) Zwei-Schichten-Modell mit MPI+SubProgramm automatische Code Generierung 23 / 29

Lösungen effiziente Integration von emesh in libs/apis schlanke Version von MPI (MPI lite) Zwei-Schichten-Modell mit MPI+SubProgramm automatische Code Generierung 23 / 29

Lösungen effiziente Integration von emesh in libs/apis schlanke Version von MPI (MPI lite) Zwei-Schichten-Modell mit MPI+SubProgramm automatische Code Generierung 23 / 29

Supercomputing mit den neuen Architekturen Exascale Supercomputer ähnlich zu Tianhe-2 10 exaflops 3294MW 2 944 000 Rechenknoten 574 080 000 Kerne bestehend aus Boards 10 exaflops 200MW 6% (800MW 24%) 98 Millionen Boards 6 272 000 000 Kerne 24 / 29

Supercomputing mit den neuen Architekturen Exascale Supercomputer ähnlich zu Tianhe-2 10 exaflops 3294MW 2 944 000 Rechenknoten 574 080 000 Kerne bestehend aus Boards 10 exaflops 200MW 6% (800MW 24%) 98 Millionen Boards 6 272 000 000 Kerne 24 / 29

Supercomputing mit den neuen Architekturen Exascale Supercomputer ähnlich zu Tianhe-2 10 exaflops 3294MW 2 944 000 Rechenknoten 574 080 000 Kerne bestehend aus Boards 10 exaflops 200MW 6% (800MW 24%) 98 Millionen Boards 6 272 000 000 Kerne 24 / 29

Supercomputing mit den neuen Architekturen Exascale Supercomputer ähnlich zu Tianhe-2 10 exaflops 3294MW 2 944 000 Rechenknoten 574 080 000 Kerne bestehend aus Boards 10 exaflops 200MW 6% (800MW 24%) 98 Millionen Boards 6 272 000 000 Kerne 24 / 29

Supercomputing mit den neuen Architekturen Exascale Supercomputer ähnlich zu Tianhe-2 10 exaflops 3294MW 2 944 000 Rechenknoten 574 080 000 Kerne bestehend aus Boards 10 exaflops 200MW 6% (800MW 24%) 98 Millionen Boards 6 272 000 000 Kerne 24 / 29

Supercomputing mit den neuen Architekturen Exascale Supercomputer ähnlich zu Tianhe-2 10 exaflops 3294MW 2 944 000 Rechenknoten 574 080 000 Kerne bestehend aus Boards 10 exaflops 200MW 6% (800MW 24%) 98 Millionen Boards 6 272 000 000 Kerne 24 / 29

Supercomputing mit den neuen Architekturen Exascale Supercomputer ähnlich zu Tianhe-2 10 exaflops 3294MW 2 944 000 Rechenknoten 574 080 000 Kerne bestehend aus Boards 10 exaflops 200MW 6% (800MW 24%) 98 Millionen Boards 6 272 000 000 Kerne 24 / 29

Supercomputing mit den neuen Architekturen Exascale Supercomputer ähnlich zu Tianhe-2 10 exaflops 3294MW 2 944 000 Rechenknoten 574 080 000 Kerne bestehend aus Boards 10 exaflops 200MW 6% (800MW 24%) 98 Millionen Boards 6 272 000 000 Kerne 24 / 29

Supercomputing mit den neuen Architekturen Exascale Supercomputer ähnlich zu Tianhe-2 10 exaflops 3294MW 2 944 000 Rechenknoten 574 080 000 Kerne bestehend aus Boards 10 exaflops 200MW 6% (800MW 24%) 98 Millionen Boards 6 272 000 000 Kerne 24 / 29

Supercomputing mit den neuen Architekturen Exascale Supercomputer ähnlich zu Tianhe-2 10 exaflops 3294MW 2 944 000 Rechenknoten 574 080 000 Kerne bestehend aus Boards 10 exaflops 200MW 6% (800MW 24%) 98 Millionen Boards 6 272 000 000 Kerne 24 / 29

Supercomputing mit den neuen Architekturen Probleme Probleme Platzverbrauch Kühlung Wartung 25 / 29

Supercomputing mit den neuen Architekturen Probleme Probleme Platzverbrauch Kühlung Wartung 25 / 29

Supercomputing mit den neuen Architekturen Probleme Probleme Platzverbrauch Kühlung Wartung 25 / 29

Supercomputing mit den neuen Architekturen Probleme Probleme Platzverbrauch Kühlung Wartung 25 / 29

Supercomputing mit den neuen Architekturen Probleme Probleme Platzverbrauch Kühlung Wartung 25 / 29

Supercomputing mit den neuen Architekturen Probleme Probleme Platzverbrauch Kühlung Wartung 25 / 29

Supercomputing mit den neuen Architekturen Probleme Möglich Lösung: Konstruktion eine PCIe Karte ähnlich zu Xeon Phi Board mit mehreren Chips Würfel mit mehreren Boards 26 / 29

Supercomputing mit den neuen Architekturen Probleme Möglich Lösung: Konstruktion eine PCIe Karte ähnlich zu Xeon Phi Board mit mehreren Chips Würfel mit mehreren Boards 26 / 29

Supercomputing mit den neuen Architekturen Probleme Möglich Lösung: Konstruktion eine PCIe Karte ähnlich zu Xeon Phi Board mit mehreren Chips Würfel mit mehreren Boards 26 / 29

Supercomputing mit den neuen Architekturen Probleme Möglich Lösung: Konstruktion eine PCIe Karte ähnlich zu Xeon Phi Board mit mehreren Chips Würfel mit mehreren Boards 26 / 29

Supercomputing mit den neuen Architekturen Probleme Möglich Lösung: Konstruktion eine PCIe Karte ähnlich zu Xeon Phi Board mit mehreren Chips Würfel mit mehreren Boards 26 / 29

Energieeffizienz Tianhe-2 Piz Daint Xeon Phi Nvidia GT 630(GK208) Epiphany/MPPA Zukunft MPPA 1,9 GFLOPS/Watt 3,1 GFLOPS/Watt 9 GFLOPS/Watt 27,7 GFLOPS/Watt 50 GFLOPS/Watt bis zu 100 GFLOPS/Watt 27 / 29

Energieeffizienz Tianhe-2 Piz Daint Xeon Phi Nvidia GT 630(GK208) Epiphany/MPPA Zukunft MPPA 1,9 GFLOPS/Watt 3,1 GFLOPS/Watt 9 GFLOPS/Watt 27,7 GFLOPS/Watt 50 GFLOPS/Watt bis zu 100 GFLOPS/Watt 27 / 29

Energieeffizienz Tianhe-2 Piz Daint Xeon Phi Nvidia GT 630(GK208) Epiphany/MPPA Zukunft MPPA 1,9 GFLOPS/Watt 3,1 GFLOPS/Watt 9 GFLOPS/Watt 27,7 GFLOPS/Watt 50 GFLOPS/Watt bis zu 100 GFLOPS/Watt 27 / 29

Energieeffizienz Tianhe-2 Piz Daint Xeon Phi Nvidia GT 630(GK208) Epiphany/MPPA Zukunft MPPA 1,9 GFLOPS/Watt 3,1 GFLOPS/Watt 9 GFLOPS/Watt 27,7 GFLOPS/Watt 50 GFLOPS/Watt bis zu 100 GFLOPS/Watt 27 / 29

Energieeffizienz Tianhe-2 Piz Daint Xeon Phi Nvidia GT 630(GK208) Epiphany/MPPA Zukunft MPPA 1,9 GFLOPS/Watt 3,1 GFLOPS/Watt 9 GFLOPS/Watt 27,7 GFLOPS/Watt 50 GFLOPS/Watt bis zu 100 GFLOPS/Watt 27 / 29

Energieeffizienz Tianhe-2 Piz Daint Xeon Phi Nvidia GT 630(GK208) Epiphany/MPPA Zukunft MPPA 1,9 GFLOPS/Watt 3,1 GFLOPS/Watt 9 GFLOPS/Watt 27,7 GFLOPS/Watt 50 GFLOPS/Watt bis zu 100 GFLOPS/Watt 27 / 29

Fazit Schritt in die richtige Richtung aber keine finale Lösung Hat: gute Energieeffizienz Braucht: bessere Integration in Software Libraries einfache Programmierkonzepte Codegenerator bessere Umsetzung für Cluster 28 / 29

Fazit Schritt in die richtige Richtung aber keine finale Lösung Hat: gute Energieeffizienz Braucht: bessere Integration in Software Libraries einfache Programmierkonzepte Codegenerator bessere Umsetzung für Cluster 28 / 29

Fazit Schritt in die richtige Richtung aber keine finale Lösung Hat: gute Energieeffizienz Braucht: bessere Integration in Software Libraries einfache Programmierkonzepte Codegenerator bessere Umsetzung für Cluster 28 / 29

Fazit Schritt in die richtige Richtung aber keine finale Lösung Hat: gute Energieeffizienz Braucht: bessere Integration in Software Libraries einfache Programmierkonzepte Codegenerator bessere Umsetzung für Cluster 28 / 29

Fazit Schritt in die richtige Richtung aber keine finale Lösung Hat: gute Energieeffizienz Braucht: bessere Integration in Software Libraries einfache Programmierkonzepte Codegenerator bessere Umsetzung für Cluster 28 / 29

Fazit Schritt in die richtige Richtung aber keine finale Lösung Hat: gute Energieeffizienz Braucht: bessere Integration in Software Libraries einfache Programmierkonzepte Codegenerator bessere Umsetzung für Cluster 28 / 29

Fazit Schritt in die richtige Richtung aber keine finale Lösung Hat: gute Energieeffizienz Braucht: bessere Integration in Software Libraries einfache Programmierkonzepte Codegenerator bessere Umsetzung für Cluster 28 / 29

Fazit Schritt in die richtige Richtung aber keine finale Lösung Hat: gute Energieeffizienz Braucht: bessere Integration in Software Libraries einfache Programmierkonzepte Codegenerator bessere Umsetzung für Cluster 28 / 29

Fragen? 29 / 29