PC-Cluster
Motivation Rechenintensive Probleme Genomsequenzierung Wettervorhersage Große Datenbanksysteme Suchmaschinen wie Google ... Sollen möglichst schnell ein Ergebnis liefern! Motivation Definition Beispiel Hardware Software Diskussion 14.06.2002
Wie löst man eine Aufgabe schneller? Härter arbeiten schnellere Prozessoren Eleganter arbeiten bessere Algorithmen Hilfe holen parallel rechnen Motivation Definition Beispiel Hardware Software Diskussion 14.06.2002
Was ist ein PC-Cluster? Ein PC-Cluster ist ein paralleles oder verteiltes System, daß aus mehreren, miteinander vernetzten PC´s besteht als eine einheitliche Rechenressource genutzt wird Motivation Definition Beispiel Hardware Software Diskussion Jeder einzelne PC arbeitet seriell Im Gesamten -> paralleles System 14.06.2002
Was ist ein PC-Cluster? Motivation Definition Beispiel Hardware Software Diskussion Bild S.20 14.06.2002
Single System Image (SSI) SSI ist das Konzept, welches die Illusion schafft, daß eine Kollektion von Rechenressourcen wie eine einzelne erscheint. Realisiert durch Hard- und Software Bsp.: Datenbanksystem auf Cluster ist ein SSI für Datenbankanwendungen Motivation Definition Beispiel Hardware Software Diskussion SSI macht eine Gruppe von Computern zu einem Cluster 14.06.2002
Cluster vs. SMP Cluster SMP Vervielfältigung der ganzen Einheit Motivation Definition Beispiel Hardware Software Diskussion SMP Vervielfältigung eines Teils der ganzen Einheit (hier: CPU) 14.06.2002
Cluster vs. Verteilte Systeme Knoten sind anonym Jeder Knoten hat gleiche Funktionalität Knoten sind homogen Erscheint wie ein PC im Netzwerk Knoten sind bekannt Knoten haben untersch. Funktionalität Knoten sind heterogen Client-Server organisation Bsp.: Internet Motivation Definition Beispiel Hardware Software Diskussion 14.06.2002
Beispiel: ASCI Blue Mountain Nutzung: Paralleles Rechnen Lastverteilung Motivation Definition Beispiel Hardware Software Diskussion Konfiguration: 48 Silicon Graphics SMP`s mit je 128 Prozessoren à 250 Mhz 1.5 Terabyte RAM, 76 Terabyte HD 12 * 800 Mbit/s pro Knoten 14.06.2002
Hardware Grundgedanken zur Cluster-Hardware: Wie sind die Knoten aufgebaut? CPU, RAM, I/O Was für ein Netzwerk wird verwendet? Topologie, Geschwindigkeit Wie wird I/0 organisiert? Datenzugriff Knotenorientiert: Daten liegen verteilt auf allen Knoten Datenzugriff Serverorientiert: Daten liegen auf Fileserver(n) Motivation Definition Beispiel Hardware Software Diskussion 14.06.2002
Software Wie erreicht man eine gewisse Parallelität auf Softwareebene? POSIX-Threads: request() request() request() Motivation Definition Beispiel Hardware Software Diskussion request() do_io() return_data() return_data() request() return_data() return_data() Message-Passing: Kommunikation zwischen den Knoten C++ Bibliothek: Message Passing Interface 14.06.2002
Warum Cluster? Leistung Hohe Verfügbarkeit Durch Einsatz mehrerer Rechner Immer schnellere Prozessoren und Netzwerktechniken Hohe Verfügbarkeit Ausfall einzelner Knoten i.d.R. nicht schlimm Gutes Preis / Leistungs – Verhältnis Skalierbarkeit Keine Grenze nach oben „Ältere“ Knoten müssen nicht ersetzt werden Motivation Definition Beispiel Hardware Software Diskussion 14.06.2002
Warum nicht? Hoher Administrationsaufwand Schwere Programmierung 20 Computer zu verwalten ist schwieriger als einen zu verwalten Personal ist teuer Schwere Programmierung Die Implementation paralleler Programme ist nicht trivial Motivation Definition Beispiel Hardware Software Diskussion 14.06.2002