View
6
Download
0
Category
Preview:
Citation preview
Cluster OperatingSystems
Seminarvortrag im Wintersemester 2003/04
von Frank Ueltzhöffer
Lehrstuhl für Rechnerarchitektur,Professor Brüning
Cluster Operating Systems
�
11.11.2003
���������
1. Einführung und Motivation2. Charakterisierung3. Herausforderungen4. Freie CBS 5. Kommerzielle CBS6. Programmierung7. Zusammenfassung / Ausblick8. Referenzen
Cluster Operating Systems
�
11.11.2003
1. Einführung und Motivation2. Charakterisierung3. Herausforderungen4. Freie CBS5. Kommerzielle CBS6. Programmierung7. Zusammenfassung / Ausblick8. Referenzen
Überblick
Cluster Operating Systems
�
11.11.2003
1.1 Was ist ein Cluster ?
� „[…] a group of interconnected, wholecomputers working together as a unifiedcomputing resource […]“ ¹
¹ William Stallings: Operating Systems: Internals and Design Principles
Cluster Operating Systems
�
11.11.2003
1.2 Warum Cluster Computing?
�Gutes Preis/Leistungsverhältnis�Hohe Verfügbarkeit�Skalierbarkeit
Cluster Operating Systems
�
11.11.2003
1.3 Beispiele für Cluster
� Beowulf Cluster am CERN
� Standard Hardware Komponenten
� Red Hat Linux basiert
http://hp-linux.cern.ch/
Cluster Operating Systems
�
11.11.2003
1.3 Beispiele für Cluster
� MCR Linux Cluster am Lawrence Livermore National Laboratory
� 11.2 Tflops� Platz 3 der Top 500
Supercomputer� Betriebssystem
basiert auf Red Hat Linux
http://www.llnl.gov/linux/mcr/build/images/P1010042_large.jpg
Cluster Operating Systems
�
11.11.2003
1.4 Probleme von Single-SystemBetriebssystemen auf Clustern
� Benutzung
� Administration
� Programmierung
� Load Balancing
� Fehlertoleranz
Fazit: Single-System BS ungeeignet
f r ank@cl ust er : ~> ps - e
f r ank@cl ust er : ~> r pm –i updat e. r pm
f r ank@cl ust er : ~> cat/ dev/ f d0 | mypr oc
f r ank@cl ust er : ~> r el ocat e –pi d=1234
Cluster Operating Systems
�
11.11.2003
1. Einführung und Motivation2. Charakterisierung3. Herausforderungen4. Freie CBS5. Kommerzielle CBS6. Programmierung7. Zusammenfassung / Ausblick8. Referenzen
Cluster Operating Systems
11.11.2003
2.1 Zentrales Merkmal
� „[…] [allow] the cluster to be viewed and administered as a single system. I would assert that any cluster of interest should have this characteristic as well.“
Norm Snyder, IBM
Ein Cluster Betriebssystem ist in der Lage demBenutzer/Administrator einen Verbund von unabhängigen Rechnern als ein einziges System zu präsentieren.
Cluster Operating Systems
11.11.2003
2.1 Zentrales Merkmal
���� Single System Image (SSI)
http://h18000.www1.hp.com/solutions/enterprise/highavailability/sco/images/ssi.jpg
Cluster Operating Systems
�
11.11.2003
2.3 Ausprägungen
� Load Balancing (openMosix)� Web Servicing (LVS, Piranha)� Storage (openGFS, Lustre)� Database (Oracle RAC, IBM ICE)� High Availability (LifeKeeper, HA Linux)� High Performance(Beowulf)
Cluster Operating Systems
�
11.11.2003
1. Einführung und Motivation2. Charakterisierung3. Herausforderungen4. Freie CBS5. Kommerzielle CBS6. Programmierung7. Zusammenfassung / Ausblick8. Referenzen
Cluster Operating Systems
�
11.11.2003
3.1 Load-Balancing� Ziel: Clusterweite
Performance verbessern� Preemptive vs. Non-
Preemptive� Metriken:
� Speicher� CPU
� Preemptive: Transparente Migration notwendig
�����
�����
�����
�����
Cluster Operating Systems
�
11.11.2003
3.2 Prozess Management
� Globales Prozess Management
� PIDs clusterweit eindeutig� Transparente Zuordnung� Transparente Migration
�Voraussetzungen für preemptives Load-Balancing
Cluster Operating Systems
�
11.11.2003
3.3 Inter-Prozess Kommunikation
� IPK über Systemgrenzen hinweg möglich
� Auch im Falle von Prozessmigration
� z.B. pipes, FIFOs, signals, semaphores, sockets
� Was ist mit shared mem?
Cluster Operating Systems
�
11.11.2003
3.4 Dateisystem
� Transparenz� Koheränz� Performance� Redundanz
Cluster Operating Systems
�
11.11.2003
3.5 Failover� Ziel: Hohe Verfügbarkeit� Probleme:
� Detektion� Migration � Datenkonsistenz
� SSI vereinfacht Failover����� �����
Cluster Operating Systems
�
11.11.2003
3.6 Zusammenfassung: Herausforderungen
3.1 Load-Balancing 3.2 Prozess Management3.3 Inter-Prozess Kommunikation3.4 Dateisystem3.5 Failover
Cluster Operating Systems
�
11.11.2003
1. Einführung und Motivation2. Charakterisierung3. Herausforderungen4. Freie CBS5. Kommerzielle CBS6. Programmierung7. Zusammenfassung / Ausblick8. Referenzen
Cluster Operating Systems
�
11.11.2003
4.1 Integration (openSSI)
Other nodes
Users, applications, and systems management
Users, applications, and systems management
Standard OS kernel callsStandard OS kernel calls
Modularkernel
extensions
Modularkernel
extensions
Uniprocessor or SMP node
Users, applications, and systems management
Users, applications, and systems management
Standard OS kernel callsStandard OS
kernel calls
Modularkernel
extensions
Modularkernel
extensions
Devices DevicesIP-based interconnect
Uniprocessor or SMP node
Standard Linux 2.4
kernelwith SSI hooks
Standard Linux 2.4
kernelwith SSI hooks
Extensions Extensions
Bruce J. Walker, HPO’Reilly Open Source Convention 2003
Cluster Operating Systems
��
11.11.2003
4.2 Beowulf Cluster� Geschichte
� Erster Beowulf 1994 bei der NASA� Ausschließlich Standard-Hardware� Am ältesten und am weitesten verbreitet� Reiner High-Performance Cluster
Cluster Operating Systems
��
11.11.2003
4.2 Beowulf Cluster� Merkmale
� Ein Master-, viele Slave-Knoten� Prozesse werden auf Slaves
ausgeführt� Alle Prozesse sind auf Master sichtbar
� Durch BProc Kernel Erweiterung
Cluster Operating Systems
��
11.11.2003
4.2 Beowulf Cluster� Prozess Management
� „Ghosts“ der Slave-Prozesse auf Master sichtbar
� Signale an Ghostswerden transparent weitergeleitet
� Kommunikation durch MPI/PVM
� Explizite Migration
Cluster Operating Systems
��
11.11.2003
� „Weniger ist mehr“ Philosophie
+ Hohe Performance+ Weit verbreitet- Kein SSI, kein Load-Balancing, kein
Failover
4.2 Beowulf Cluster� Zusammenfassung
Cluster Operating Systems
��
11.11.2003
4.3 Open Mosix� Geschichte
� Multi-computer Operating System for Unix� Entstanden 1981 an der Hebrew
University of Jerusalem� Aufsplittung in kommerzielles und offenes
System 2002
Cluster Operating Systems
��
11.11.2003
4.3 Open Mosix� Merkmale
� Ausgefeiltes Load-Balancing� Preemptive und transparent
Prozessmigration� Homogene Knoten� Integriertes Cluster File System
Cluster Operating Systems
��
11.11.2003
4.3 Open Mosix� Load-Balancing
� Anhand zweier Dimensionen� Speicherauslastung (primär)� CPU-Auslastung
� Knoten tauschen paarweise, periodisch Nachrichten aus
� Algorithmus berücksichtigt Anzahl der Prozessoren und deren Leistungsfähigkeit
� Migration wird eingeleitet, falls sich die erwartete Gesamtleistung erhöht
Cluster Operating Systems
��
11.11.2003
1. Der Load-Balancing Algorithmus stößt die Prozessmigration an
2. Der ursprüngliche Prozess wird in „remote“ und „deputy“ gespalten
3. Der remote wird migriert, der deputyverbleibt auf dem Home Node (UHN)
4.3 Open Mosix� Prozessmigration
Cluster Operating Systems
�
11.11.2003
4.3 Open Mosix� Prozessmigration
�����
�����
�����
Recommended