This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Center for Information Services and High Performance Computing (ZIH)
Cluster Computing & OpenSource
Ein Uberblick
15. Marz 2009
Nothnitzer Straße 4601187 DresdenINF 1038+49 351 - 463 38781
Supercomputing: Konferenz mit angeschlossenen WettbewerbenClusterchallenge: 3kW Strom, vorgegebene Software, viele Jobs(unterschiedliche Punkte), 44h Zeit. Gewinner ist der der die meistenPunkte geholt hat.
5/86
Clusterchallenge / Ergebnis
6/86
Motivation fur Vorlesung / Cluster in Top500
7/86
Motivation fur Vorlesung / Weitere Grunde
Erfahrungen aus Clusterchallenge weitergeben
Zum ersten Mal Vorlesung/Praktikum zum Clusterbau undAdministration
Theoretische Betrachtungen mit praktischen Erfahrungen untermauern
Komplexe Systeme modellieren ohne aufwandige ExperimenteGeringe Kosten im Vergleich zu ExperimentenSpater im Praktikum benutzte Software: POVRay und WPP
9/86
Wozu High Performance Computing (HPC)?
Simulation
Komplexe Systeme modellieren ohne aufwandige ExperimenteGeringe Kosten im Vergleich zu ExperimentenSpater im Praktikum benutzte Software: POVRay und WPP
Datenauswertung
Unabdingbar um komplexe Experimente zu verstehenSpater im Praktikum benutzte Software: MpCCD und RAxML
9/86
Wozu High Performance Computing (HPC)?
Simulation
Komplexe Systeme modellieren ohne aufwandige ExperimenteGeringe Kosten im Vergleich zu ExperimentenSpater im Praktikum benutzte Software: POVRay und WPP
Datenauswertung
Unabdingbar um komplexe Experimente zu verstehenSpater im Praktikum benutzte Software: MpCCD und RAxML
Entwicklung und Test neuer Technologien
9/86
Wozu HPC / Simulation
Beispiel: Ausbreitung seismischer Wellen in verschiedenenMaterialien (WPP)
10/86
Wozu HPC / Datenauswertung
Beispiel: Phylogenetische Baume aus Gensequenzen erzeugen(RAxML)
11/86
2 Begriffe, Basics und ArchitekturenBegriffeAufbauKomponentenVerbindungsnetzeSysteme im Praktikum
Hohere Kapazitaten als in EinzelsystemErhohte Redundanz und Ausfallsicherheit
13/86
Begriff / Capacity und Capability Computing
Capacity Computing
Stellt die Ressourcen bereit, um große Mengen von kleineren Problemen imBulk zu Losen. Die Anwendungen die dabei zum Einsatz kommen stellenmeist verhaltnismaßig geringe Anforderungen an die einzelnenHardwareelemente.
Capability Computing
Bietet Ressourcen, um Probleme zu losen die durch Capacity Computingnicht losbar waren. Diese Probleme stellen derart hohe Anforderungen an dieHardware, dass dafur spezielle Systeme zum Einsatz kommen mussen.
Die Grenzen sind dabei fließend.
14/86
Capacity vs. Capability Computing
Erkennen des Problems welches gelost werden soll
Fruhzeitige Entscheidung fur Capacity oder Capability Computing
ClusterVerknupfung von Standardkomponenten hochster Qualitat uber einHochgeschwindigkeitsnetzwerk auf engstem Raum und deren parallelerNutzung durch lastverteilte (parallelisierte) Programme.
16/86
Aufbau / Grundbausteine fur Cluster
RAM
Node
CPUCore Core
CoreCore
Input / Output
Grafik-Karte
RAM
Node
CPUCore Core
CoreCore
Input / Output
Grafik-Karte
RAM
Node
CPUCore Core
CoreCore
Input / Output
Grafik-Karte
RAM
Node
CPUCore Core
CoreCore
Input / Output
Grafik-Karte
Interconnect Fabric
Storage Storage
HDDHDDHDDHDD
17/86
Aufbau / Homogenitat und Heterogenitat
Homogenitat & Heterogenitat
Sind sowohl Hardware als auch Betriebssystem aller Rechnerknoten identisch,so spricht man von einem homogenen Cluster, andernfalls ist der Clusterheterogen.
18/86
Komponenten / CPU
x86: Xeon, Opteron, Core, Phenom ...
PreiswertSchnell (genug)Viel Software
sparc: Also Sun oder Fujitsu
Teurer, spezialisiertFur (Web)server-Cluster (SSL, Mail, Online Gaming, Datenbanken, ...)Diese auf Integer-Leistung angewiesene Applikationen konnen von Sparcprofitieren
Power:
Sehr teuer, hoher FließkommadurchsatzHochverfugbarkeitssysteme, Mainframes
MIPS: SiCortex
19/86
Komponenten / Festplatten
Zwei Grunde wieso Nodes mit Festplatten gut sind:
Swap File System fur Jobs mit hohen Resourcenanforderungen
Abbrechen von Jobs in vielen Fallen ohne Swap nicht moglich
Scratch File System zum Abspeichern von Zwischenergebnissen
20/86
Komponenten / Festplatten
Zwei Grunde wieso Nodes mit Festplatten gut sind:
Swap File System fur Jobs mit hohen Resourcenanforderungen
Abbrechen von Jobs in vielen Fallen ohne Swap nicht moglich
Scratch File System zum Abspeichern von Zwischenergebnissen
Zwei Grunde dagegen:
Verbraucht zusatzlich Strom
Verschleißteil
20/86
Komponenten / Grafikkarten
Prinzipiell uberflussig
ABER: nutzbar als Applikationsbeschleuniger
Abwagung Kosten vs. Nutzen vs. Programmierbarkeit
21/86
Verbindungsnetze / Zusammenhange1
Bandbreite
Latenz
Granularität (Parallelität)
SETI@home POVRAY LAMMPS, GAMMES, HPCC
HPC Netzwerktechnologieerforderlich
1fur alle NW Technologien siehe [DAAGeorgi08]
22/86
Verbindungsnetze / Losungen / Gigabit Ethernet
Fur professionelle Anwendung meist zu langsam
Allerdings fur unseren Lehrbedarf ausreichend
Bietet sich als Adminnetz an (ssh, ganglia, Batchsystem, ...)
23/86
Verbindungsnetze / Losungen / 10GBase
Nachfolger des vorherrschenden Ethernet Standards
Datenrate: bis 925 MiB/s; Latenz: 16.9µs − 25.8µs (Karte: ChelsioS310E-CX, Switch: HP Pro Curve 6400-cl im CX4 Mode)
Mit rund 1200 e pro Port (bei 256 Port Installation) noch recht teuer
24/86
Verbindungsnetze / Losungen / Infiniband
Weit verbreitet (≈ 30% der Top500) (durch HP Cluster Platform 3000und IBM xSeries x3650 moglicher Weise noch hoher)
Datenrate: bis 955 MiB/s; Latenz: 3.8µs − 4.1µs (4x SDR, Herstellergeben weit bessere Werte an [MellnxIBPerf])
Bandbreite bei großen Netzen aufgrund von statischem Routingreduziert[THoeffIBR08]
25/86
Verbindungsnetze / Losungen / Myrinet
Zu 10GBase (protokoll)kompatibel, im MX Mode aber latenzarm
Naturlich sind auch andere Betriebssysteme moglich
Teilweise weil nicht anders realisierbar (z.B. Sparc Cluster mit Solaris)Wissenschaftliche OpenSource Anwendungen (WPP, POY, GAMESS, ...)HPC problematisch
34/86
Systemsoftware / Zu Beachten I
Sowohl Software als auch Hardware homogen gestalten.
Je einheitlicher ein Cluster:
Desto weniger Aufwand bei Installation, Wartung, UpgradesDesto weniger Probleme mit inkompatiblen SchnittstellenDesto weniger unvorhergesehen Probleme
35/86
Systemsoftware / Zu Beachten II
Nodes nicht uberladen.
Je weniger Dienste und Hardware auf dem Node aktiviert sind, destobesser:
Nicht benotigte Dienste deaktivierenNicht benotigte Software deinstallierenNicht benotigte Features im BIOS deaktivierenCompute-Nodes sind zum Rechnen da!Head-Node ist Eintrittstor und Datensammelpunkt!
36/86
Systemsoftware / Zu Beachten III
node-5 ist auch ein Name.
Bezeichnungen aus diversen Mythologien sind hinderlich
Besser: Node-Namen bestehened aus einem einheitlichen Prafix undeiner fortlaufenden Nummer (node1, node2, ..., node23, ...)
Viele Tools profitieren davon, oder haben gar zusatzliche Features diedarauf aufsetzen
37/86
Systemsoftware / Zu Beachten IV
Know your enemy.
sysctl, getconf und hwinfo sind nutzlich
Viele Probleme lassen sich im Voraus verhindern
38/86
Systemsoftware / Zu Beachten V
Uhrzeit uber das ganze System synchron halten.
NTP benutzen!
Synchron laufende Systemuhren sind unabdingbar!
Am besten eigenen NTP-Server auf Head-Node zum Zeitabgleich derCompute-Nodes
39/86
Systemsoftware / Compiler
Ein Wort zu Compilern
GCC ist fur Linux Systeme unerlasslich
Produktivsoftware sollte mit optimalen Compiler fur Systemarchitekturkompiliert sein (z.B. ICC fur Intel CPUs)
Testreihen durchfuhren (manchmal ist auch gcc besser)
Meist kommerzielle Produkte
40/86
Datenspeicherung
41/86
Datenhaltung uber das Cluster I
Bisher stark vernetzte Rechner mit jeweils eigenem, von einanderunabhangigen Dateisystem
Binarys, Eingangsdatensatze, etc. mussen auf jedem Node der diesebenutzt verfugbar sein
Schlechte Losung: vor jedem Job Dateien per ftp oder scp auf die NodeskopierenRichtige Losung: Verzeichnisse die pro Node synchron gehalten sind
Ein verteiltes Dateisystem erlaubt den Zugriff auf Dateien eines odermehrerer entfernter, uber ein Rechnernetz verbundener Server.
Beachte: Obwohl Clients die verteilten Dateisysteme wie lokale Resourcenbenutzen konnen mussen die Dateien auf dem Server noch auf lokalenDateisystemen (Ext3, ReiserFS, XFS, . . . ) vorliegen. Dies ist fur die Clientstransparent.
44/86
Dateisysteme / verteilte Dateisysteme II
Man kann 2 Arten unterscheiden:
Distributed Filesystems (single source):
1 Server auf dem die Daten liegen
Bsp: AFS, NFS, SMB
Fehlertolerante: Coda, DFS
Distributed Parallel Filesystems (multi source):
Mehrere Server halten die Daten
Abbildung auf ein gesamtheitliches virtuelles Dateisystem
Bsp: Lustre, PVFS
Fehlertolerante: Ceph, GFS, GlusterFS
45/86
Tools
46/86
Tools
Verschiedene Arbeiten treten immer wieder auf
Nodes mussen bequem von einer Stelle aus administriert werden konnen
Werkzeuge zu kennen verringert Arbeitszeit signifikant(Einarbeitungsaufwand beachten)
47/86
Tools / Begriff / Distributed Shell
Erklarung
Prinzip: einen Befehl auf mehreren Nodes ausfuhren
Wrapper fur rsh/ssh/remsh-Kommandos
Verringert die Zeit fur Konfiguration, Updates usw.
Softwarelosung zur Stapelverarbeitung (oder Batchverarbeitung)
Batchverarbeitung ist die sequentielle, nicht-interaktive Abarbeitung vonAufgaben.
Beinhaltet meist:
RessourcenmanagerSchedulerTools fur Konfiguration, Management und DiagnoseEinfaches Monitoring
55/86
Batchsystem / PBS
Portable Batch System
Entwickelt in den 1990ern fur die NASA
Verfugbar als PBSpro und OpenPBS
Ausgereift, gut dokumentiert und supportet
http://www.pbsgridworks.com/
Lizenz:
Eigene LizenzNutzung: kommerziell und nicht-kommerziell (openPBS) erlaubt(Registrierung)Weiterverbreitung: nur nicht-kommerziellModifikation: orginal Quelltext ist mitzuliefern
Nachrichtenaustausch von Programmteilen auf verschiedenen Nodes uberVerbindungsnetz notigDa kein gemeinsamer Hauptspeicher vorhanden ist mussen Nachrichtenexplizit versendet/empfangen werden
Fur jeden MPI Prozess ein OutputZahlt Funktionsaufrufe und darin verbliebene Zeit
Tracing
Vampirtrace
Standalone oder im Open MPIFuhrt Aktionen aller Prozesse zu einem Ergebniss zusammenBraucht Anzeigeprogramm um Ergebnisse zu Visualisieren (Vampir)Lizenz: GPLMittlerweile der Standard fur Tracing paralleler AnwendungenWird am ZIH entwickeltUnterstutzt PAPI Counter
Scalasca
Intel Thread Analyser
79/86
Optimierung/ Vampir I
80/86
Optimierung / Vampir II
81/86
Analyse / Benchmarking
BenchIT Performance Meassurement for Scientific Applications. AlsOpenSource verfugbar unter http://www.benchit.org/.
[TaschInf] Uwe Schneider, Dieter WernerTaschenbuch der InformatikFachbuchverlag Leipzig – ISBN 3-446-21753-3
[BlueGen] Blue Gene Websitehttp://domino.research.ibm.com/comm/research_projects.nsf/
pages/bluegene.index.html
83/86
Literatur II
[THoeffIBR08] T. Hoefler and T. Schneider and A. LumsdaineMultistage Switches are not Crossbars: Effects of Static Routing inHigh-Performance NetworksProceedings of the 2008 IEEE International Conference on ClusterComputinghttp://www.unixer.de/~htor/publications/ – ISBN
978-1-4244-2640
[ZIHPubl] Diplomarbeiten, PhD Thesis, Studienarbeiten am ZIHhttp://tinyurl.com/c3zts8
[CC08] Cluster Challenge 08: Optimizing Cluster Configuration andApplications to Maximize Power EfficiencyJ. Muller, T. Schneider, J. Domke, R. Geyer, M. Hasing, T. Hoefler, St.Hohlig, G. Juckeland, A. Lumsdaine, M. S. Muller, W. E. NagelIn Linux Cluster Institute Conference, 2009
[HennPattQA4] John L. Hennessy, David A. PattersonComputer Architecture, Fourth Edition: A Quantitative ApproachMorgan Kaufmann 2006 – ISBN 978-0123704900
[THoeffIC09] T. Hoefler and T. Schneider and A. LumsdaineA Power-Aware, Application-Based, Performance Study Of ModernCommodity Cluster Interconnection NetworksProceedings of the 23rd IEEE International Parallel & DistributedProcessing Symposium (IPDPS), CAC Workshophttp://www.unixer.de/publications//?pub=87