Betriebssysteme (BTS)



Ähnliche Dokumente
7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte

Systeme 1. Kapitel 10. Virtualisierung

Lizenzierung von System Center 2012

Virtuelle Präsenz. Peer to Peer Netze. Bertolt Schmidt

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

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Thin versus Fat Clients

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Cisco Security Monitoring, Analysis & Response System (MARS)

WIE ERHÖHT MAN DIE EFFIZIENZ DES BESTEHENDEN RECHENZENTRUMS UM 75% AK Data Center - eco e.v. 1. Dezember 2009

Spotlight 5 Gründe für die Sicherung auf NAS-Geräten

Lizenzen auschecken. Was ist zu tun?

Grid Computing Grid Computing. Luca Debiasi. Siegmar Alber. Grundlagen. Aufbau. Grids im Laufe der Zeit. Vor- und Nachteile.

SolarWinds Engineer s Toolset

Virtual Desktop Infrasstructure - VDI

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing

Scheduling Mechanisms for the Grid

ANYWHERE Zugriff von externen Arbeitsplätzen

Lizenzierung von Windows Server 2012

Windows 8 Lizenzierung in Szenarien

Infrastruktur fit machen für Hochverfügbarkeit, Workload Management und Skalierbarkeit

Lizenzierung von SharePoint Server 2013

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

Dialogik Cloud. Die Arbeitsumgebung in der Cloud

OSL Storage Cluster und RSIO unter Linux Storage-Attachment und Hochverfügbarkeit in 5 Minuten

Root-Server für anspruchsvolle Lösungen

Virtualisierung in der Automatisierungstechnik

Formular»Fragenkatalog BIM-Server«

Virtual Private Network. David Greber und Michael Wäger

Cloud-Computing Seminar - Vergleichende Technologien: Grid-Computing Hochschule Mannheim

Hochleistungsrechnen für Wissenschaft und Wirtschaft im internationalen Verbund

VDI - Die Revolution der Arbeitsplatzbereitstellung. Nicholas Dille,

HTBVIEWER INBETRIEBNAHME

Technische Grundlagen von Netzwerken

Verwendung des Terminalservers der MUG

Grundkonzepte der Vernetzung

Client-Server mit Socket und API von Berkeley

IT-Lösungsplattformen

Thema: Microsoft Project online Welche Version benötigen Sie?

Verfügbarkeit von Applikationen und Failover Szenarien. Winfried Wojtenek.

Lizenzierung von SharePoint Server 2013

Treuhand Cloud. Die Arbeitsumgebung in der Cloud

BI in der Cloud eine valide Alternative Überblick zum Leistungsspektrum und erste Erfahrungen

Lizenzierung von Windows Server 2012 R2. Lizenzierung von Windows Server 2012 R2

Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)

EasyWk DAS Schwimmwettkampfprogramm

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

IT- Wir machen das! Leistungskatalog. M3B Service GmbH Alter Sportplatz Lake Schmallenberg

Test zur Bereitschaft für die Cloud

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

Installation und Inbetriebnahme von SolidWorks

Installation SQL- Server 2012 Single Node

ASD ZSS. RZ-Süd (LfStaD) Internet

Systemanforderungen für MSI-Reifen Release 7

Der beste Plan für Office 365 Archivierung.

Anleitung zur Nutzung des SharePort Utility

Datensicherung. Beschreibung der Datensicherung

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Speicher in der Cloud

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Rechtssichere -Archivierung

SAMMELN INVENTARISIEREN UND TEILEN IN DER CLOUD GRATIS AUSPROBIEREN

Multimedia und Datenkommunikation

Technische Anwendungsbeispiele

7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim

9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit Grid Systeme 1

Tips, Tricks und HOWTOs Virtualisierung für Profis und Einsteiger Serverkonsolidierung, Testumgebung, mobile Demo

Sicherheits-Tipps für Cloud-Worker

Cloud Computing. Ergebnisse einer repräsentativen Erhebung für das BMELV

Vorstellung - "Personal Remote Desktop" für (fast) alle Hardwareplattformen und Betriebssysteme

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

4 Planung von Anwendungsund

WINDOWS 8 WINDOWS SERVER 2012

IT-Sachverständigen-Gemeinschaft. Virtualisierungstechnologien aus forensischer Sicht in Kempten,

Hochverfügbarkeits-Szenarien

Gesetzliche Aufbewahrungspflicht für s

MULTI-TIER RECHENZENTRUM - EIN DESIGN DER ZUKUNFT? Patrick Pulvermüller

Systemanforderungen (Mai 2014)

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player

Wenn keine Verbindung zwischen den Computern besteht, dann bist du offline.

Effizient, sicher und flexibel: Desktop-Virtualisierung mit Citrix XenDesktop

Gewerbebetrieb Freier Beruf Heimarbeitsplatz

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

Web Interface für Anwender

PROLAG WORLD 2.0 PRODUKTBESCHREIBUNG SERVERSYSTEM, CLUSTERSYSTEME FÜR PROLAG WORLD

Nutzung von GiS BasePac 8 im Netzwerk

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

System Center Essentials 2010

Sicherheitsanalyse von Private Clouds

3 Windows als Storage-Zentrale

Cloud-Computing. Selina Oertli KBW

Transkript:

18.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 21.6.2007

Wiederholung vom letzten Mal Virtualisierung Vorteile von Virtualisierung Nachteile und Grenzen von Virtualisierung Konzepte der Virtualisierung Applikationsvirtualisierung Hardware-Emulation Virtual Machine Monitor Paravirtualisierung Userland-Virtualisierung (Container) Hardware-Virtualisierung 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 2

Heute Cluster-Computing Definition und Klassifikationen von Clustern Vorteile und Nachteile von Clustern Biblioteken für Cluster-Applikationen (PVM und MPI) Grid-Computing Definition und Grid-Zielsetzungen und Grid-Systeme Warum braucht man überhaupt Grids? Probleme beim Einsatz von Grids Peer-to-Peer-Computing Peer-to-Peer-Architekturen und Einsatzgebiete 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 3

Das Client-Server-Modell Das Cluster-Computing ist eine Weiterentwicklung des Client-Server- Modells. Ein Client-Server-System besteht aus: 1. einem oder mehreren Clients, die Dienste des Servers in Anspruch nehmen und auf Daten, die auf dem Server bereit liegen, zugreifen und 2. einem zentralen Server, der Dienste oder Daten bereit stellt. Bei den Clients handelt es sich um Konsumenten, bei Servern um Produzenten. Der Verbindungsaufbau geht von den Clients aus. Die Kommunikation zwischen Client und Server erfolgt nach einem festen Ablaufprotokoll. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 4

Das Client-Server-Modell ein Two-Tier-Modell Ein Client sendet an den Server eine Anforderung (Request), die von diesem mit einer Antwort (Reply) beantwortet wird. Die Client-Server-Architektur besteht aus zwei Schichten und wird daher als Two-Tier-Modell (Tier = Schicht) bezeichnet. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 5

Fünf Aufgabenbereiche beim Client-Server-Modell Bei einer verteilten Anwendung, die auf der Client-Server-Architektur basiert, lassen sich fünf Aufgabenbereiche voneinander trennen: Darstellung der grafischen Benutzeroberfäche Benutzerinterface (GUI) Verarbeitung Datenmanagement Datenspeicherung Die Verteilung der einzelnen Aufgaben auf die Clients und den Server legt fest, um welche Art von Clients es sich handelt. Entsprechend ihrer zugeteilten Aufgabenbereiche, werden vier Arten von Clients unterschieden: = Null Clients, Thin Clients, Applet Clients und Fat Clients. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 6

Vier Arten von Clients beim Client-Server-Modell Null Clients (X-Clients) sind nur für die Darstellung der grafischen Benutzeroberfäche und die Übertragung der Benutzereingaben an den Server zuständig. Die Bereitstellung der GUI, die Verarbeitung, Datenverarbeitung und Datenspeicherung übernimmt der Server. Thin Clients sind für die Darstellung der grafischen Benutzeroberfäche und die Bereitstellung der GUI zuständig. Applet Clients übernehmen die Darstellung der grafischen Benutzeroberfäche, die Bereitstellung der GUI und einen Teil der Verarbeitung. Die Applikationen (Applets) verarbeiten die Clients selbst. Bei Fat Clients befindet sich nur das Datenmanagement und die Datenhaltung auf dem Server. Bei dem Server kann es sich um einen File-Server oder Datenbank-Server handeln. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 7

Entwicklung der Clients beim Client-Server-Modell In der Anfangszeit der Client-Server-Ära handelte es sich bei den Clients in der Regel um X-Clients, also um reine Terminals. Mit dem Steigen der Rechenkapazität von Clients wurden aber immer mehr Aufgabenbereiche auf diese ausgelagert. Das Cluster-Computing entstand auch aus dem Wunsch heraus, die Leisungsfähigkeit von miteinander vernetzten Rechner zu bündeln und für rechenintensive Aufgaben zu nutzen. Um die Berechnung und Abarbeitung von Problemen zu beschleunigen, existieren drei Möglichkeiten: 1. Steigerung der Rechenleistung durch schnellere Prozessoren. 2. Optimierung der eingesetzten Algorithmen. 3. Nutzung von mehr als einem Rechnersystem zur Leistungssteigerung. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 8

Gründe für Cluster-Computing Die Rechenleistung innerhalb eines Computers ist nicht beliebig zu steigern. Symmetrisches Multiprocessing hat Grenzen. Der Speicherbus wird zum Flaschenhals. Mit jeder zusätzlichen CPU sinkt der relative Leistungsgewinn, da die Speichersubsysteme die Daten nicht mehr schnell genug liefern können, um alle vorhandenen CPUs auszulasten. Algorithmen sind nur mit großem Aufwand und nicht beliebig optimierbar. Es bietet sich also die dritte Möglichkeit, also der Zusammenschluss von mehreren Rechnersystemen zu Clustern an. Die Steigerung der Leistungsfähigkeit eines Cluster-Systems ist praktisch unbegrenzt und wird nur von folgenden Faktoren eingeschränkt: Leistungsfähigkeit des Servers. Datenübertragungsrate der verwendeten Netzwerktechnologie. Wartungs- und Administrationsaufwand der angeschlossenen Systeme. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 9

Historische Entwicklung des Cluster-Computing (1) 1983: Digital Equipment Corporation (DEC) bietet für seine VAX-11- Rechner eine Clusterlösung an, um mehere Rechner mit einem seriellen Hochgeschwindigkeits-Interface zusammenzuschließen. Durch den Zusammenschluss meherer VAXen war es möglich, auf die Rechenleistung und den Speicherplatz der Rechner zuzugreifen, als würde es sich dabei um einen einzelnen handeln. 1987: DEC verkaufte mit der VAX 8978 und der VAX 8974 komplette Cluster-Systeme, die aus 4 oder 8 Knoten und einer MicroVAX II als Steuerkonsole bestanden. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 10

Historische Entwicklung des Cluster-Computing (2) Anfang der 90er Jahre: Etablierung der Client-Server-Architektur. UNIX-Workstations halten in Unternehmen und Hochschulen Einzug. Eine Workstation ist im Arbeitsalltag nur zu 5-10% ausgelastet. Der größte Teil ihrer potentiellen Rechenleistung ist ungenutzt. Dank der zunehmenden Vernetzung, lag es nahe, eine Middleware zu entwickeln, die eine Nutzung der freien Rechenleistung zur Bewältigung komplexer Aufgaben ermöglicht. Mit PVM und MPI, die beide einen Message Passing Layer unabhängig von der Architektur der Knoten anbieten, ist es möglich, Cluster-Applikationen mit definierten Schnittstellen zu entwickeln. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 11

Historische Entwicklung des Cluster-Computing (3) Mitte der 90er Jahre: Cluster aus Standard-PCs werden zunehmend populär. Diese Systeme bieten je nach Ausstattung und Aufbau eine sehr hohen Rechenleistung und/oder Verfügbarkeit zu geringen Preisen. Zusätzlich bieten diese Systeme eine bislang unerreichte Flexibilität was Einsatzzweck und Systemerweiterungen angeht. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 12

Definition des Cluster-Computing (1) Ein Cluster besteht aus mindestens zwei Knoten. Bei jedem Knoten handelt es sich um ein eigenständiges Rechnersystem. Die Knoten eines Clusters sind durch ein Netzwerk miteinander verbunden. Dem Anwender präsentiert sich ein Cluster wie ein einzelnes System, ein virtueller Uniprozessor. Idealerweise wissen die Anwender gar nicht, dass es sich bei dem System, auf dem sie arbeiten, um einen Cluster handelt. Dieses Darstellungskonzept bezeichnet man als Single System Image. Das Konzept des Single System Image existiert nicht nur bei Clustern. Bei SMP-Systemen werden die Prozessoren und der Speicher des Systems mit Hilfe eines Single System Image auf laufenden Applikationen verteilt. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 13

Definition des Cluster-Computing (2) Von Clustern im engeren Sinn spricht man, wenn die Knoten, die sich in der Regel unter der Kontrolle eines Masters befinden, exklusiv für den Cluster verwendet werden und auf einem gemeinsamen Datenbestand arbeiten. Die Knoten können aus gewöhnlichen PCs aus Standardkomponenten, Workstations, Servern oder Supercomputern bestehen. Stehen die Knoten dem Cluster nur zu bestimmten Zeiten zur Verfügung, spricht man von Feierabendclustern bzw. Cluster of Workstations (COWs) oder auch Network of Workstations (NOWs). Die Knoten eines Feierabendclusters werden während der üblichen Arbeitszeiten als normale Arbeitsrechner eingesetzt. In Clustern mit wenigen Knoten kommen aus Kostengründen Standard- Netzwerktechnologien wie Fast- oder Giga-Ethernet zum Einsatz. Bei größeren Clustern, die aus mehreren hundert Knoten bestehen können, sind Hochgeschwindigkeitsnetzwerke notwendig. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 14

Unterscheidungskriterien von Clustern Aufbau homogen heterogen Aufstellungskonzept Glass-House Campus-Wide Einsatzgebiet High Performance Clustering High Availability Clustering High Throughput Clustering Verhalten beim Ausfall von Knoten Active/Passive-Cluster Active/Active-Cluster 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 15

Definition des Cluster-Computing (3) Cluster können homogen und heterogen aufgebaut sein 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 16

Aufstellungskonzepte von Clustern Glass-House: Der Cluster findet sich in einem speziell dafür reservierten Raum oder Server-Schrank (englisch: Rack). Vorteile: Schnelle Erreichbarkeit aller Komponenten für Wartung und Fehlerbehebung. Knoten können mit Hochgeschwindigkeitsnetzwerken verbunden werden. Höhere Sicherheit gegen Sabotage. Nachteile: Bei einem Stromausfall oder Brand im Gebäude ist der Betrieb des gesamten Clusters gefährdet ist. Campus-Wide: Die Knoten befinden sich in mehreren Gebäuden, verteilt auf das Gelände des Instituts oder Unternehmens. Häufig Network of Workstations oder Feierabendcluster. Die Knoten übernehmen nur in der arbeitsfreien Zeit die Rolle von Cluster-Knoten. Vorteile: Der Cluster ist kaum zu zerstören. Nachteile: Es können keine Hochgeschwindigkeitsnetzwerke verwendet werden. Häufig sind die Knoten unterschiedlich aufgebaut. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 17

Aufstellungskonzept Glass-House 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 18

Aufstellungskonzept Campus-Wide 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 19

Einsatzgebiete von Clustern Cluster existieren für unterschiedliche Einsatzgebiete: High Availability Clustering (HA) High Performance Clustering (HPC) High Throughput Clustering (HTC) Ziel: hohe Verfügbarkeit Ziel: hohe Rechenleistung Ziel: hoher Datendurchsatz 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 20

High Availability Clustering (1) Beim High Availability Clustering sind Systeme mit einer hohen Ausfallsicherheit, also Verfügbarkeit, gefordert. Erreicht wird das durch: Redundanz der Knoten und ihrer Komponenten erreicht. Ausschließen eines Single Point of Failure. Redundanz kommt von dem lateinischen Begriff redundare und bedeutet wörtlich übersetzt, dass etwas im Überfluss vorhanden ist. Immer, wenn ein System Komponenten enthält, die zur Arbeit des Systems nicht notwendig sind, aber die Arbeit von baugleichen Komponenten im Fehlerfall übernehmen, bedeutet dies Redundanz. Zwei Möglichkeiten auf den Ausfall von Knoten zu reagieren: Durch den redundanten Einsatz der Knoten besteht die Möglichkeit, die Technik und Vorteile der Mainframes zu einem sehr günstigen Preis nachzubilden und dennoch eine hohe Flexibilität zu erhalten. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 21

Verfügbarkeit Die Verfügbarkeit V eines Systems berechnet sich aus der mittleren Betriebszeit, der Mean Time Between Failures (MTBF), geteilt durch die Summe aus MTBF und mittlerer Ausfallzeit, der Mean Time To Repair (MTTR). V = MTBF MTBF + MTTR Um eine hohe Verfügbarkeit des Clusters zu gewährleisten, genügt es nicht, die Knoten und deren Hardware redundant auszulegen. Die Verfügbarkeit kann auch durch den Einsatz von USVs (Unterbrechungsfreie Stromversorgung) erhöht werden. Bei Systemen, die als ausfallsicher deklariert werden, muss jederzeit ein Ersatzrechner zur Verfügung stehen, der im Fehlerfall einspringen und die angebotenen Dienste weiter zur Verfügung stellen kann. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 22

High Availability Clustering (2) Beim Clustering für Verfügbarkeit hat nicht die Verfügbarkeit der Knoten Priorität, sondern die Verfügbarkeit der angebotenen Dienste. Es existieren zwei Gruppen von Hochverfügbarkeits-Clustern, die sich in ihrem Verhalten bei Ausfällen von Knoten unterscheiden: Active/Passive-Cluster Active/Active-Cluster 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 23

High Availability Clustering Active/Passive Die Gruppe der Active/Passive-Cluster wird auch Hot-Standby- Cluster genannt. Im Normalbetrieb ist mindestens ein Knoten im Zustand Passiv. Die Knoten im Zustand Passiv übernehmen im Normalbetrieb keine Dienste. Fällt ein Knoten aus, übernimmt ein Passiv-Knoten dessen Dienste. Das Übernehmen eines Dienstes durch einen Knoten von einem ausgefallenen Knoten wird als Failover-Funktion bezeichnet. Vorteil: Die Dienste müssen nicht für Cluster-Betrieb ausgelegt sein. Nachteil: Viel potentielle Leistung bleibt im Normalbetrieb. ungenutzt 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 24

High Availability Clustering Active/Active Bei der Gruppe der Active/Active-Cluster sind auf allen Knoten die gleichen Dienste aktiv. Alle Knoten sind im Zustand Aktiv. Fallen ein oder mehr Knoten aus, müssen die noch aktiven Knoten deren Dienste mit übernehmen. Vorteil: Bessere Lastverteilung zwischen den Knoten. Nachteil: Die Dienste müssen für den Betrieb in einem Clustern ausgelegt sein, da zeitgleich alle Knoten auf die gleichen Ressourcen zugreifen. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 25

High Availability Clustering Failover und Failback Failover Also Failover bezeichnet man die Fähigkeit, beim Ausfall eines Knotens alle Aufgaben automatisch einem anderen Knoten zu übergeben und so die Ausfallzeit zu minimieren. Die Failover-Funktionalität wird gewöhnlich vom eingesetzten Betriebssystem zur Verfügung gestellt. Ein Beispiel ist Heartbeat für Linux. Failback Sind ausgefallene Knoten wieder einsatzbereit, melden sich diese am Cluster zurück und erhalten vom Lastverteiler wieder Jobs. Der Cluster verfügt ab diesem Zeitpunkt wieder über die gleiche Leistungsfähigkeit, die er vor dem Ausfall der Knoten hatte. Dieses Verhalten wird als Failback bezeichnet. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 26

Architekturen beim High Availability Clustering Es existieren zwei unterschiedliche Architekturen beim Clustering for Availability: Shared Nothing Shared Disk Beide Architekturen entstanden aus der Problematik, dass beim Clustering for Availability die gleichzeitige Nutzung von Ressourcen durch mehr als einen Knoten notwendig ist. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 27

Shared Nothing Architektur Bei der Architektur Shared Nothing hat jeder Knoten eine eigene Speicherressource mit fester Größe. Auch wenn die Ressource physikalisch mit mehreren Knoten verbunden ist, hat doch immer nur ein Knoten Zugriff darauf. Kein Knoten hat Zugriff auf die Ressourcen eines anderen Knotens. Erst beim Auftreten eines Fehlers bei einem Knoten wird die Ressource von einem anderen Knoten übernommen. Vorteil: Es ist kein Lock-Management notwendig. Dadurch entsteht auch kein Protokolloverhead, der die Performance verringern kann. Der Cluster kann theoretisch fast linear skalieren. Nachteil: Es sind höhere Investitionen in Speicherressourcen notwendig sind, da die Daten nicht optimal verteilt werden können. Cluster mit einem Windows-Betriebssystem sind immer Shared Nothing- Cluster. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 28

Shared Disk Architektur Bei der Architektur Shared Disk hat jeder Knoten Zugriff auf jede am Cluster angeschlosse Speicherressource. Um die Konsistenz der Daten sicherzustellen, ist ein Lock-Management notwendig. Dabei handelt es sich gewöhnlich um ein Protokoll, das den Zugriff auf die Speicherressourcen koordiniert. Wenn Knoten A auf Daten zugreifen möchte, die gerade durch Knoten B gesperrt wurden, muss Knoten A so lange warten, bis Knoten B seine Operationen auf die Daten abgeschlossen hat. Vorteil: Die anfallenden Datenmengen können gut auf die vorhandenen Ressourcen verteilt werden. Nachteil: Mit zunehmender Anzahl der Knoten wird der Protokolloverhead des Lock-Mechanismus immer größer und die Gesamtperformance des Clusters wird durch die Wartezeiten wegen gelockter Daten verringert. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 29

Die Architekturen im Vergleich 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 30

High Performance Clustering (1) Beim High Performance Clustering, auch Clustering for Scalability genannt, wird versucht, eine möglichst hohe Rechenleistung zu erreichen. High Performance Cluster erbringen die Leistung von Großrechnern (Mainframes) zu einem deutlich günstigeren Preis. Diese Cluster Bestehen in der Regel aus handelsüblichen PCs oder Workstations. Typtische Anwendungsbereiche sind zum Beispiel: Pipelineberechnungen: Haben eine Sequenz als Ergebnis. Anwendungen, die dem Prinzip des Divide und Conquer folgen. Diese bilden mehrere Teilprobleme, werten diese aus und bilden aus den Ergebnissen das Endergebnis. Anwendungen, die dazu dienen, sehr große Datenbestände auszuwerten. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 31

High Performance Clustering (2) Einige Anwendungsbeispiele sind: Crash-Test-Simulation, Wettervorhersagen, Optimierung von Bauteilen, Monte-Carlo-Simulationen, Flugbahnberechnungen, Data Mining, Strömungsberechnungen, Festigkeitsanalysen, Berechnung von Filmen oder Filmsequenzen, Simulationen des Sternenhimmels, Variantenberechnung beim Schach, Primzahlberechnungen, usw. Vorteile: Geringer Preis und Herstellerunabhängigkeit. Defekte Komponenten sind schnell und kostengünstig zu beschaffen. Zusätzliche Knoten steigern die Leistung schnell und einfach. Nachteil: Hoher Administrationsaufwand und Wartungsaufwand im Gegensatz zu Großrechnern. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 32

High Performance Clustering Beowulf-Cluster (1) Wird auf einem High Performance Cluster Linux oder ein anderes OpenSource-Betriebssystem verwendet, handelt es sich um einen Beowulf-Cluster. Wird das Betriebssystem Windows verwendet, bezeichnet man das Cluster- System als Wulfpack. Beowulf-Cluster sind keine Feierabendcluster. Sie bestehen zwar aus gewöhnlichen PCs oder Workstations, doch dienen die Knoten eines Beowulf-Cluster ausschließlich der Arbeit des Clusters. Die Bedienung des Clusters erfolgt über einen Master-Knoten. Dieser übernimmt auch die Verteilung der Jobs. Die einzelnen Knoten (Worker Nodes) verfügen in der Regel über keinerlei Eingabe-/Ausgabemöglichkeiten wie Monitor und Tastatur, sondern nur über die Netzwerkverbindung. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 33

High Performance Clustering Beowulf-Cluster (2) Ein Problem bei Beowulf-Clustern ist, dass die Knoten aus Standard-PC- Komponenten bestehen und nicht redundant, also auf hohe Verfügbarkeit ausgelegt sind. Eine große Gefahrenquelle für die Knoten eines Beowulf-Clusters ist die Kühlung der System-Komponenten. Die Lüfter in den Knoten und deren Netzteilen haben wie alle mechanischen Komponenten nur eine begrenzte Lebensdauer und fallen oft ohne Vorwarnung aus. Aktuelle Prozessoren, die in PCs eingesetzt werden, sind aber ohne ausreichende Kühlung nicht funktionsfähig. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 34

High Throughput Clustering Das High Throughput Clustering ist eine Variante des High Performance Clustering. Das Ziel ist es, den Datendurchsatz zu maximieren. Diese Cluster bestehen aus Servern, die einen Lastenverbund bilden. Auf High Throughput Clustern werden keine umfangreichen Berechnungen durgeführt. Die Aufträge müssen nicht in Teilaufträge unterteilt werden. Die einzelnen Aufträge sind klein und könnten auch von einem einzelnen PC bewältigt werden. Typische Einsatzgebiete im High Throughput Clustering sind Web-Server und Suchmaschinen im Internet. Einzelne große Rechenaufträge = High Performance Cluster Viele kleinere Aufträge in kurzer Zeit = High Throughput Cluster. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 35

Skalierbare Cluster Ein Kompromiss zwischen hoher Performance und Hochverfügbarkeit sind skalierbare Cluster. Bei skalierbaren Clustern sind einige oder alle Knoten redundant ausgelegt. In den meisten Fällen handelt es sich um Web- oder Mail-Server. Clients Knoten 1 Knoten 2 Überwachung Lastverteiler Internet Überwachung Knoten 3 Knoten 4 Knoten 1 und 2, sowie Knoten 3 und 4 überwachen sich gegenseitig, damit bei einem Ausfall immer ein Knoten die Dienste des ausgefallenen Knotens übernehmen kann. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 36

Klassifikationen von Clustern Cluster High Availability Cluster (HA) (Ziel: Verfügbarkeit) skalierbare Cluster (Ziel: Geschwindigkeit und Verfügbarkeit) High Performance Cluster (HPC) (Ziel: Geschwindigkeit) High Throughput Cluster (HTC) (Ziel: Durchsatz) Active/Passive- Cluster Active/Active- Cluster COW/NOW (Feierabendcluster) reine HPC-Cluster (Hot-Standby) Beowulf (OpenSource) Wulfpack (Windows) 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 37

Vorteile und Nachteile von Clustern Vorteile: Flexibilität und Erweiterbarkeit. Ein Cluster kann dynamisch dem Bedarf entsprechend vergrößert oder verkleinert werden. Kostengünstiger in der Anschaffung als Supercomputer. Einfache Wiederbeschaffung von Standardkomponenten. Nachteile: Fehleranfälliger als ein einzelner Supercomputer. Cluster bestehen aus vielen eigenständigen Systemen höherer Administrationsaufwand und damit Personalaufwand als beim Einsatz von einem oder einigen wenigen Supercomputern. Hoher Aufwand zum Verteilen und Kontrollieren von Anwendungen. Der Aufwand steigt mit zunehmender Anzahl der Knoten. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 38

Bibliotheken für Cluster-Applikationen Um Applikationen für Cluster zu entwickeln, existieren mehrere Bibliotheken, die von der Architektur und Hardware unabhängiges Message Passing bereitstellen. Beim Message Passing auf verteilten Computersystemen basiert die Kommunikation auf dem Versenden von Nachrichten zu Empfängern. Die am meisten ausgereiften und am weitesten verbreiteten Message Passing Systeme sind: Parallel Virtual Machine (PVM) Message Passing Interface (MPI) 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 39

Bibliotheken für Cluster-Applikationen (PVM) Parallel Virtual Machine: Stellt eine einheitliche Programmierschnittstelle bereit, um eine parallele Recheneinheit mit verteiltem Speicher zu erzeugen. Unterstützt C/C++ und Fortran 77/90. Besteht aus einem Dämon, Programmbibiliotheken und Software Tools. Besonders geeignet für heterogene Umgebungen. Konvertiert z.b. automatisch zwischen little endian und big endian. Fokus liegt nicht auf Performance, sondern Portabilität. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 40

Bibliotheken für Cluster-Applikationen (MPI) Message Passing Interface: Geeignet, um einen Parallelrechner mit verteiltem oder gemeinsamem. Speicher zu einem virtuellen Parallelrechner zusammenzuschließen. Kommunikationsbibliothek für C/C++ und Fortran 77/90. Enthält keinen Dämon. Kommunikation wird nachrichtenbasiert übertragen (Message Passing). Besonders geeignet für homogene Umgebungen. Fokus liegt auf Performance und Sicherheit. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 41

Ein einfaches MPI-Beispiel (1) Ein einfaches Beispiel um viele Prozessoren zu beschäftigen: #include "mpi.h" #include <stdio.h> int main(int argc, char **argv) { int rank, size; // MPI-Umgebung starten MPI_Init(&argc, &argv); // Prüfen, welche Nummer wir sind in der MPI-Umgebung MPI_Comm_rank(MPI_COMM_WORLD, &rank); // Prüfen, wie viele Mitglieder die MPI-Umgebung hat MPI_Comm_size(MPI_COMM_WORLD, &size); // Ausgabe aller Mitglieder der MPI-Umgebung printf("ich bin Prozessor Nr.%d von %d\n", rank, size); // MPI-Umgebung beenden MPI_Finalize(); return 0; } 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 42

Ein einfaches MPI-Beispiel (1) Das Programm kompilieren: $ mpicc -g -o hello_world hello_world.c Die Programmausführung auf dem Cluster starten: $ mpirun -np 5 hello_world Das Programm erzeugt bei der Auführung auf 5 CPUs folgende Ausgabe: $ mpirun -np 5 hello_world Ich bin Prozessor Nr.1 von 5 Ich bin Prozessor Nr.3 von 5 Ich bin Prozessor Nr.0 von 5 Ich bin Prozessor Nr.2 von 5 Ich bin Prozessor Nr.4 von 5 Es fällt auf, dass die Reihenfolge der CPUs, die sich melden, zufällig ist. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 43

Definition des Grid-Computing Technik zur Integration und gemeinsamen, ortsunabhängigen Nutzung verteilter computergestützter und wissenschaftlicher Ressourcen auf Basis bestehender Kommunikationsinfrastrukturen (= Internet). Ressourcen: Rechen- und Speicherkapazität spezielle und wissenschaftliche Hardware Datenbanken und Dateien Softwareinstallationen Lizenzen Die Grundlage von Grids sind das Prinzip der sogenannten Virtuellen Organisationen. Die Ressourcen gehören in der Regel verschiedenen Organisationen an, die sich um deren Verwaltung selbst kümmern. Mit Grids sollen die Grenzen von IT-Landschaften verschwinden. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 44

Definition des Grid-Computing (2) Rechner und Server und Cluster laufen heute in der Regel 24 Stunden pro Tag. Die Systeme sind aber nur selten voll ausgelastet. Nicht genutzte Rechenkapazität soll effizienter genutzt werden. Ein Vergleich mit dem Stromnetz (Electrical Power Grid) drängt sich auf. Auch hier haben wir ein Netzwerk mit Produzenten, Anbietern und Konsumenten. Die Abrechnung des erfolgt bedarfsorientiert. Warum sollte dieses Prinzip nicht auch auf IT-Dienstleistungen abzubilden sein? Problematisch ist, dass IT-Dienste Informationen (Daten) erfassen, speichern und verarbeiten. Diese Informationen unterliegen entsprechend ihrer Klassifizierung gestaffelten Anforderungen an Integrität, Vertraulichkeit und Verfügbarkeit. Für Informationen gelten besondere Rechtliche Rahmenbedingungen, z.b. das Bundesdatenschutzgesetz (BDSG). 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 45

Drei Kriterien, die ein Grid erfüllen muss 1. Ein Grid integriert und koordiniert dezentrale Ressourcen unterschiedlichster Art: Standard-PCs, Workstations, Supercomputer und Cluster. Dateien, Datenbanken und Softwarelizenzen. Ausgefallene wissenschaftliche Hardware. z.b. Sternwarten. 2. Grids verwenden offene, standardisierte Protokolle und Schnittstellen und dürfen nicht applikationsspezifisch sein. 3. Grids bieten nicht-triviale Dienste an Die Ressourcen im Grid bieten zusammen viele Möglichkeiten. Der Nutzen eines Grids soll größer sein als die Summe der einzelnen mit dem Grid verbundenen Ressourcen. 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 46

Warum überhaupt Grids? e-science! Tycho Brahe (1546-1601) Johannes Kepler (1571-1630) exzellenter Beobachter kein guter Mathematiker hatte gute Daten hervorragender Mathematiker leider kurzsichtig brauchte gute Daten 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 47

Wohin mit den vielen Daten? Wissenschaft und Technik produzieren immer großere Datenmengen, die gespeichert und ausgewertet werden müssen Umweltsatelit Envisat = ca. 100 Gigabyte pro Stunde Radioteleskop VLBA = ca. 1 Gigabyte pro Sekunde Large Hadron Collider (LHC) = ca. 12 Petabyte pro Jahr 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 48

Wann braucht man Grids? Grids braucht man überall da, wo ein einzelnes Rechenzentrum überfordert wäre und eine massive Verteilung der Daten notwendig ist. Auf welchen wissenschaftlichen Feldern macht der Einsatz von Grids Sinn? Hochenergiephysik Astrophysik Klimaforschung Medizin Ingenieurwissenschaften Eventuell Geisteswissenschaften (Textbasierte Forschung) Grids helfen auch, nationale Interessen zu wahren (Fördermittel) 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 49

Zentrale Herausforderungen des Grid-Computing Verfügbarkeit der Ressourcen = Quality of Service Abrechnung der Ressourcen = Accounting & Billing Überwachung der Ressourcen = Monitoring Sicherheit und Datenschutz = Security Einfache Benutzbarkeit = Single Sign-On 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 50

Unterscheidung von Grids Computational Grids Rechenleistung ist die am meisten verwendete Ressource. Stichwort Electrical Power Grid (Stromnetz). = Der Konsument nutzt auf einfachste Art die angebotene Leistung. Bestehen aus heterogenen Rechnersystemen. Ziel: Einfacher Zugang zu großer Rechenleistung. Data Grids Speicher aller Art ist die am meisten verwendete Ressource. Stellen ein Portal für den Zugang zu den Datenressourcen bereit. Ziel: Einfacher Zugang zu großen Datenmengen. Grid werden typischwewise nicht mehr für den Austausch einer einzelnen dieser Ressource etabliert, sondern sollen das Teilen aller denkbaren Grid- Ressourcen ermöglichen. Eine Unterscheidung in Computational- und Data-Grids ist daher nicht mehr zeitgemäß! 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 51

Klassifikationen von Grids Grid Computational Grid (Ziel: Rechenleistung) Data Grid (Ziel: Speicher) Scavenging Grid (Ziel: Rechenleistung) Desktop Grid High Performance (Cluster) Grid Server Grid Desktop Grids und Server Grids machen wenig Sinn Scavenging Grid bezeichnet vorwiegend Peer-to-Peer Projekte 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 52

Unterscheidung: Supercomputer Grid Supercomputer Eine sehr performante, lokale Maschine Homogener Aufbau Gehört in der Regel nur einer Organisation Wenige Administratoren Schnelle Verbindung zwischen den Speicherbereichen (geringe Latenz, hohe Bandbreite) Teuer in der Anschaffung Grid Global verteilte Ressourcen Heterogener Aufbau Verschiedene Organisation und Organisationsformen Viele Administratoren Kommunikation über das Internet (hohe Latenz, geringe Bandbreite) Preiswert in der Anschaffung (Standardkomponenten) 18.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 53