High Performance Computing



Ähnliche Dokumente
High Performance Computing

Konventionen. Danksagung

Anleitung zur Nutzung des SharePort Utility

MOGON. Markus Tacke HPC ZDV. HPC - AHRP Markus Tacke, ZDV, Universität Mainz

4D Server v12 64-bit Version BETA VERSION

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

Formular»Fragenkatalog BIM-Server«

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Hochleistungsrechnen für Wissenschaft und Wirtschaft im internationalen Verbund

Ein Spiel für 2-3 goldhungrige Spieler ab 8 Jahren.

How to do? Projekte - Zeiterfassung

Fragen zur GridVis MSSQL-Server

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung

Installationsvoraussetzungen

Ein kleiner Einblick in die Welt der Supercomputer. Christian Krohn

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

EchoLink und Windows XP SP2

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Dynamic Ressource Management

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Lokale Installation von DotNetNuke 4 ohne IIS

Anleitung Grundsetup C3 Mail & SMS Gateway V

Lizenz-Server überwachen

Powermanager Server- Client- Installation

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Catherina Lange, Heimbeiräte und Werkstatträte-Tagung, November

Agile Software Development

Lizenzierung von Windows Server 2012

Wie lizenziert man die Virtualisierung von Windows Desktop Betriebssystemen?

Bürgerhilfe Florstadt

MSSQL Server Fragen GridVis

Übung: Netzwerkmanagement mit SNMP

FrogSure Installation und Konfiguration

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Beruflichen Schule in Nidda

1 Belastung. 1.1 Standortbestimmung 1.2 Belastungsvorhersage 1.3 Favoriten

Einführung in PHP. (mit Aufgaben)

Professionelle Seminare im Bereich MS-Office

Leichte-Sprache-Bilder

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

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

IntelliRestore Seedload und Notfallwiederherstellung

Step by Step Webserver unter Windows Server von Christian Bartl

Was ich als Bürgermeister für Lübbecke tun möchte

Installation der Eicon Diva PCI Karte unter Windows XP

Messung der Ausgangsspannung an einem FU

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Geld Verdienen im Internet leicht gemacht

das Portfolio wurde um eine freie Edition und eine lizenzpflichtige Edition ergänzt

Bedienungsanleitung für den SecureCourier

VIP-Programm. Herzlich Willkommen!

Schritte 4. Lesetexte 13. Kosten für ein Girokonto vergleichen. 1. Was passt? Ordnen Sie zu.

1 Was ist das Mediencenter?

SAP Memory Tuning. Erfahrungsbericht Fritz Egger GmbH & Co OG. Datenbanken sind unsere Welt

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Excel beschleunigen mit dem mit Windows HPC Server 2008 R2

Digi Vox Ultimate Pro

Verbinden. der Firma

A.u.S. Spielgeräte GmbH A-1210 Wien Scheydgasse 48 Tel.+43-(0) Fax. +43-(0)

Papa - was ist American Dream?

Windows 8.1. In 5 Minuten Was ist alles neu? Word

Native Zeichenketten (C-Strings)

Zweite Umfrage zur Bedarfsermittlung von Ressourcen zum wissenschaftlichen Rechnen an der TU Dortmund

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Eine Einführung in die Installation und Nutzung von cygwin

Backup der Progress Datenbank

Lizenz Verwaltung. Adami Vista CRM

Paul Petzold Firmengründer, Verwaltungsratspräsident und Delegierter der Mirus Software AG

Statuten in leichter Sprache

Bilder im Drachenforum per Klicklösung veröffentlichen

Reporting Services und SharePoint 2010 Teil 1

Bibliothek an Leser- bitte melden. Workshop

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

1 Vom Problem zum Programm

Was meinen die Leute eigentlich mit: Grexit?

Lizenzierung von SharePoint Server 2013

Windows7 32/64bit Installationsanleitung der ROBO-PRO-Software

Das Leibniz-Rechenzentrum der Bayerischen Akademie der Wissenschaften

SAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: :: WINTERSEMESTER 08 09

Anforderungen BauPlus

Anbindung des eibport an das Internet

Windows wird nicht mehr unterstützt Was bedeutet das? Was muss unternommen werden? Compi-Treff vom 9. Mai 2014 Thomas Sigg

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

MPI-Programmierung unter Windows mit MPICH2. Installieren von MPICH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen. Christian Terboven

Einführungsvortrag REGIONALES RECHENZENTRUM ERLANGEN [RRZE]

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Befolgen Sie konsistente Schritte, wenn Sie mit Ihren Kunden arbeiten. Erste Schritte Serie

Internet online Update (Internet Explorer)

Handbuch PCI Treiber-Installation

Lizenzen auschecken. Was ist zu tun?

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Tutorial -

Tutorial Speichern. Jacqueline Roos - Riedstrasse 14, 8908 Hedingen, jroos@hispeed.ch -

Transkript:

REGIONALES RECHENZENTRUM ERLANGEN [ RRZE ] High Performance Computing Systemausbildung Grundlagen und Aspekte von Betriebssystemen und System-nahen Diensten Michael Meier, RRZE, 01.07.2015

Agenda Was bedeutet HPC? Aus welchen Komponenten besteht ein typisches HPC- System? Mit dem HPC-System läuft $GTA5/$Photoshop/ $Videoschnittprogramm doch superschnell, oder? Shared-Memory-Parallelisierung vs. Message Passing Was ist dieses Queuing-System und wozu ist es gut? 2

Was bedeutet HPC? Englisch: High Performance Computing Deutsch: Hochleistungsrechnen Hochleistungsrechnen ist ein Bereich des computergestützten Rechnens. Er umfasst alle Rechenarbeiten, deren Bearbeitung einer hohen Rechenleistung oder Speicherkapazität bedarf. (Wikipedia) genaue Abgrenzung ist schwierig 3

Einsatzbereiche von HPC-Systemen (Beispiele) Ingenieurwesen (Automotive) Crashsimulation Aerodynamik Akustik Meteorologie Wettervorhersage Katastrophenvorhersage Biologie/Medizin Drug Design Aufklärung von Reaktionsprozessen 4

Einsatzbereiche von HPC-Systemen (Beispiele) Werkstoffwissenschaften Physik Aufklärung von fundamentalen Wechselwirkungen Struktur der Materie Filmindustrie Rendering CGI Zunehmend auch außerhalb der klassischen Natur-/Ingenieurswissenschaften, z.b.: Wirtschaft Sprachwissenschaften 5

HPC-Systeme Hochleistungsrechner sind Rechnersysteme, die geeignet sind, Aufgaben des Hochleistungsrechnens zu bearbeiten. Früher: Spezialsysteme Spezialhardware + -software Heute: Fast ausschließlich Cluster aus Standard-Hardware, meist mit schnellem Interconnect (Netzwerk) Die einzelnen Clusterknoten sind nicht schneller als ein gut ausgestatteter Standardserver! Vektorrechner: Nischenprodukt 6

Beispiel: SuperMUC Phase 1 (2012) @ LRZ 9216 compute nodes 2x Intel Xeon E5-2680 CPU (8 Kerne, 2.7 GHz, Sandy Bridge ) 32 GB RAM Ergibt in Summe 147456 Kerne und 288 TB RAM Infiniband-Netz 18 Inseln a 512 Knoten Fully non-blocking innerhalb der Inseln ausgedünnt 4:1 zwischen den Inseln FDR-10 (knapp 40 Gbit/s) 15 PB paralleles Filesystem @250 GByte/s 7

SuperMUC Phase 1 (rendering) Quelle: www.lrz.de

SuperMUC Phase 1 (realer Kabelsalat) Quelle: www.lrz.de

SuperMUC (Rechenknoten mit Wasserkühlung) Quelle: www.lrz.de

LiMa-Rechenknoten

Top500 http://www.top500.org Liste der 500 schnellsten HPC-Systeme der Welt die öffentlich bekannt sein sollen Gemessen mit Linpack -Benchmark (lösen eines großen linearen Gleichungssystems) Erscheint 2x pro Jahr zu Konferenzen (meist November + Juni) #1 November 2014: Tianhe-2, China Trends aus der Liste vom November 2014 45% mit Infiniband-Vernetzung >95% mit Linux (Windows: 0,2%) 45% in den USA (.de: 5%); Top10: 1.cn, 6 USA, 1.jp, 1.ch, 1.de 85% mit Intel Xeon CPUs 12

Infiniband De-facto Standard für HPC-Cluster Außer Ethernet praktisch keine Konkurrenz mehr Schnell und mit sehr geringer Latenz Switched fabric, oft fully non-blocking (bis 648 Ports) QDR: 40 Gbit roh, 32 Gbit Nutz, 1.3 µs Latenz (seit 2007) FDR: 56 Gbit roh, 54 Gbit Nutz, 0.7 µs Latenz (seit 2011) Probleme Grauenhafte (Nicht-)API Geringe Zuverlässigkeit Besorgniserregende Marktkonsolidierung Nur noch zwei Hersteller für QDR, nur einer für FDR Stark verlangsamte Entwicklung, steigende Preise Jeder Depp denkt er könne ein IB-Netzwerk aufziehen 13

Ein Teil des Infiniband-Netzes von LiMa

Acceleratoren Einsteckkarten, auf die Berechnungen ausgelagert werden können GPUs Intel Xeon Phi Noch schwieriger effizient zu programmieren als normale shared-memory-systeme oder Cluster. Programmiermodelle NVIDIA CUDA, OpenCL (GPUs) OpenMP (Intel Xeon Phi) Wunder darf man auch im Idealfall nicht erwarten! 15

Mit dem HPC-System läuft $GTA5 doch super, oder? HPC-Systeme führen nicht auf magische Weise beliebige Software schneller aus Software muss explizit dafür programmiert werden, dass sie das HPC-System nutzen kann Parallelisierung à Selbst wenn das HPC- Cluster unter Windows laufen würde, könnte $GTA5 nicht mehr als einen Knoten eines Clusters benutzen. 16

Parallelisierungsarten Shared Memory OpenMP: Compiler-Erweiterung Pthreads: POSIX library TBB, OmpSs, Cilk+, Automatische Parallelisierung: nicht praxisrelevant Distributed Memory MPI (Message Passing Interface) DER Standard Version 1.0: Juni 1994 Aktuelle Version: MPI 3.1 (06/2015) Sprachbasierte Parallelität X10, Chapel, 17

OpenMP Spracherweiterungen, die von einem OpenMP-fähigen Compiler ausgewertet und umgesetzt werden Trivial-Beispiel aus Wikipedia (in C): int i,a[100000]; #pragma omp parallel for for (i = 0; i < N; i++) a[i] = 2 * i; Jeder Thread bekommt einen Teil der Schleife zugewiesen und arbeitet ihn ab (Shared Memory!) 18

MPI Alt aber konstant weiterentwickelt Library-basiert (Funktionsaufrufe) Programmiersprache ist weiterhin seriell Praktisch jede Software die parallel auf mehr als einem Rechner laufen kann setzt darauf auf MPI-Standard definiert ein Set von Funktionen für die Programmierung von Parallelrechnern Senden / Empfangen von Nachrichten Parallel I/O Synchronisation warten bis alle Prozesse eine Barriere erreicht haben Alle hochskalierbaren Produktionscodes auf Supercomputern sind MPI-basiert 19

Hello World in MPI (C) int main(int argc, char ** argv) { int numprocs, myid; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD, &numprocs); MPI_Comm_rank(MPI_COMM_WORLD, &myid); printf( Hi, ich bin Prozess %d von %d\n", myid, numprocs); MPI_Finalize(); return 0; } 20

Nun sag, wie hast du s mit der Performance? Performance = Leistung Leistung = Arbeit / Zeit Was ist Arbeit in der Computerei? Populär im wissenschaftl. Rechnen: Gleitkomma-Operationen (Flops) + - * ( / ) Auch möglich: Spezifische Metriken (Pixels, Iterationen, Atome, Updates, Vergleiche, Vertauschungen, Schlüssel, ) Populärste Performancemetrik: Flops/s (GFlops/s, TFlops/s, ) Peak Performance: Maximal mögliche Performance des Systems SuperMUC (Phase 1): P peak 3 PFlops/s Real erreichbare Performance: Extrem abhängig von der Applikation (durchschnittlich 3-10% von P peak ) 21

Performance Speedup 3 2,5 Performance = Arbeit / Zeit Speedup 2 1,5 1 Push AA Pattern Speedup = Wieviel mal schneller kann ich mit N CPUs rechnen als mit einer CPU? 0,5 0 0 50 100 150 Speedup kann gut sein, während die Performance sehr schlecht ist In der Tat ist das ein häufiges Zusammentreffen im HPC Performance 2000 1800 1600 1400 1200 1000 800 600 400 200 Push AA Pattern 0 0 50 100 150 Nodes 22

Nutzung von HPC-Clustern in der Praxis: Batchbetrieb Fast wie in der guten alten Zeit: Lochkarten mit Programmen und Daten darauf abgeben, auf Verarbeitung warten, Ergebnis abholen Nur heutzutage natürlich ohne Lochkarten Man kann sich nicht einfach beliebig auf beliebigen Knoten des Clusters einloggen Stattdessen: Einloggen auf Frontend, Jobs submittieren Frontends sind interaktiv zugänglich (meist SSH) Dort können Jobs vorbereitet und abgeschickt werden Jobs müssen komplett ohne Benutzereingaben auskommen! 23

Beispiel-Batchscript #!/bin/bash -l # #PBS -M michael.meier@fau.de #PBS -m abe #PBS -N LINPACK #PBS -l walltime=01:45:00 #PBS -l nodes=16:ppn=24 # Spezifikation von Ressourcen und anderen Parametern cd $PBS_O_WORKDIR module load intelmpi mpirun_rrze -npernode 12 -pinexpr "S0:0-5@S1:0-5"./xhpl Arbeit! 24

Batchbetrieb Scheduler legt fest, wann der Job ausgeführt wird und berücksichtigt dabei Dinge wie Priorität des Nutzers und seiner Gruppe wieviel Rechenzeit hat der Nutzer und seine Gruppe in der jüngeren Vergangenheit schon bekommen ( Fair Share ) Andere laufende Jobs Reservierungen (z.b. für Nutzer oder Wartungsarbeiten) Verfügbarkeit von Lizenzen die der Job braucht 25