30
Cluster Operating Systems Seminarvortrag im Wintersemester 2003/04 von Frank Ueltzhöffer Lehrstuhl für Rechnerarchitektur, Professor Brüning

Cluster Operating Systems - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws0304/frank... · Cluster Operating Systems 11.11.2003 2.1 Zentrales Merkmal

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

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

    �����

    �����

    �����