Ende Folie 76

Grid- und Cloud-Computing

Einführung

In der modernen Informationstechnologie spielen Grid-Computing und Cloud-Computing eine entscheidende Rolle bei der Bewältigung komplexer Rechenaufgaben und der effizienten Nutzung von Ressourcen. Diese Vorlesung gibt einen Einblick in die Grundlagen, Konzepte und Technologien, die hinter diesen Systemen stehen.


Inhalt

  1. Dynamik von Infrastrukturnetzen
  2. Open Grid Services Architecture (OGSA)
  3. Grid vs. Cloud Computing
  4. Virtualisierung
  5. Cluster Computing
  6. Ressourcenmanagement und Job Scheduling
  7. Virtuelle Organisationen
  8. Peer-to-Peer-Netzwerke und Volunteer Computing
  9. Beispiele aus der Praxis
  10. Herausforderungen und Fragen im Grid- und Cloud-Computing
  11. Technologischer Reifegrad und Hype Cycle
  12. Zusammenfassung und Ausblick
  13. Wichtige Begriffe und Konzepte
  14. Literaturhinweise

Dynamik von Infrastrukturnetzen

Schwankender Energiebedarf

  • Morgenstunden: Hoher Energiebedarf durch Aktivitäten wie Heizen, Kaffeemaschinen und elektrische Geräte.
  • Nachtstunden: Niedriger Energieverbrauch, aber plötzliche Lastspitzen durch Großverbraucher möglich (z.B. Einschalten des Large Hadron Collider).

Herausforderung

Die Energieversorgung muss flexibel auf unterschiedliche Lasten reagieren:

  • Regionale Unterschiede: Verschiedene Orte benötigen zu unterschiedlichen Zeiten unterschiedliche Energiemengen.
  • Unvorhergesehene Ereignisse: Ausfälle von Leitungen oder plötzliche Laständerungen erfordern schnelle Anpassungen.

Analogie zum Computernetzwerk

  • Stromnetz als Grid: Ähnlich dem europäischen Stromnetz sind Computernetze verteilt und müssen koordiniert werden.
  • Dezentrale Kontrolle: Es gibt nicht den einen Betreiber; stattdessen verwalten verschiedene Organisationen Teile des Netzes.
  • Standardisierung: Unterschiedliche Steckdosentypen und Spannungen zeigen die Notwendigkeit von Anpassungen und Kompatibilität.

Open Grid Services Architecture (OGSA)

OGSA ist ein Framework zur Standardisierung von Grid-Computing-Architekturen.

Komponenten von OGSA

  1. Physikalische Ressourcen: Hardware wie Server, Sensoren und Beschleuniger.
  2. Infrastruktur: Schnittstellen zur Interaktion mit der Hardware.
  3. Sicherheit:
    • Authentifizierung: Überprüfung der Identität.
    • Autorisierung: Zuweisung von Zugriffsrechten.
    • Richtlinien (Policies): Regeln für den Zugriff und die Nutzung.
  4. Ressourcenmanagement:
    • Virtualisierung: Abstraktion physischer Ressourcen.
    • Optimierung: Effiziente Zuweisung von Ressourcen.
  5. Ausführungsmanagement:
    • Planung: Steuerung, wann und wo Jobs ausgeführt werden.
    • Workflows: Automatisierung von Prozessketten.
  6. Datenmanagement:
    • Speicherung: Verwaltung großer Datenmengen.
    • Transport: Effiziente Datenübertragung.
    • Namensgebung: Eindeutige Identifikation von Daten.

Beispiel: Energieerzeugung in West Texas

  • Situation: West Texas produziert große Mengen an erneuerbarer Energie, jedoch fehlt die lokale Nachfrage.
  • Lösung: Einsatz von Computern, um überschüssige Energie zu nutzen und das Stromnetz zu stabilisieren. Computation wird genutzt, um die Energie effizient zu verbrauchen und Engpässe zu vermeiden.

Grid vs. Cloud Computing

Gemeinsamkeiten

  • Verteilte Ressourcen: Nutzung von Rechenleistung über mehrere Standorte hinweg.
  • Flexibilität: Dynamische Anpassung an die Anforderungen.

Unterschiede

KriteriumGrid ComputingCloud Computing
KontrolleDezentralisiert; Ressourcen gehören verschiedenen OrganisationenZentralisiert; Ressourcen werden als Service bereitgestellt
ZielsetzungGemeinsame Nutzung und ZusammenarbeitBereitstellung skalierbarer Ressourcen über das Internet
AbrechnungOftmals gemeinschaftlich oder institutionellNutzungsbasiertes Geschäftsmodell

Cloud-Service-Modelle

  1. Infrastructure as a Service (IaaS):
    • Bereitstellung von virtuellen Maschinen und Speicher.
    • Beispiel: Amazon EC2.
  2. Platform as a Service (PaaS):
    • Bereitstellung von Laufzeitumgebungen für Anwendungen.
    • Beispiel: Google App Engine.
  3. Software as a Service (SaaS):
    • Bereitstellung von fertigen Anwendungen über das Internet.
    • Beispiel: Microsoft Office 365.

Virtualisierung

Definition

Virtualisierung ist die Abstraktion physischer Ressourcen, um mehrere virtuelle Umgebungen auf einer Hardwareplattform zu ermöglichen.

Vorteile

  • Effiziente Ressourcennutzung: Bessere Auslastung der Hardware.
  • Isolation: Getrennte Umgebungen erhöhen die Sicherheit.
  • Flexibilität: Einfache Bereitstellung und Skalierung von Diensten.

Arten der Virtualisierung

Anwendungsvirtualisierung

  • Beispiele: Java Virtual Machine (JVM), .NET Framework.
  • Beschreibung: Anwendungen laufen in einer virtuellen Umgebung, die von der zugrunde liegenden Hardware abstrahiert ist.

Betriebssystemvirtualisierung

  • Beispiele: Docker, LXC (Linux Containers).
  • Beschreibung: Mehrere isolierte Benutzerbereiche innerhalb eines Betriebssystems.

Hardwarevirtualisierung

  • Typ 1 Hypervisor (Bare Metal):
    • Beispiele: VMware ESXi, Microsoft Hyper-V.
    • Beschreibung: Läuft direkt auf der Hardware ohne darunterliegendes Betriebssystem.
  • Typ 2 Hypervisor (Hosted):
    • Beispiele: VMware Workstation, VirtualBox.
    • Beschreibung: Läuft auf einem Host-Betriebssystem.

Sicherheitsaspekte der Virtualisierung

  • Isolation: Virtuelle Maschinen sind voneinander isoliert, was die Sicherheit erhöht.
  • Angriffsvektoren: Schwachstellen im Hypervisor können Sicherheitsrisiken darstellen.
  • Best Practices: Regelmäßige Updates, Beschränkung von Zugriffsrechten und Überwachung der Umgebung.

Cluster Computing

Was ist ein Cluster?

Ein Cluster ist eine Gruppe von vernetzten Computern, die zusammenarbeiten, um als ein einzelnes System hohe Verfügbarkeit und Leistung zu bieten.

Aufbau eines Clusters

  • Knoten: Einzelne Computer mit eigenem Betriebssystem.
  • Netzwerk: Hochgeschwindigkeitsverbindungen zwischen den Knoten.
  • Speicher: Gemeinsamer oder verteilter Zugriff auf Daten.

Single System Image (SSI)

SSI lässt einen Cluster als ein einziges System erscheinen, wodurch die Komplexität für Benutzer reduziert wird.

Gewünschte SSI-Dienste

  • Einheitlicher Zugangspunkt: Single Entry Point.
  • Einheitliche Dateihierarchie: Einheitliches Dateisystem über alle Knoten.
  • Zentrales Management: Einheitliche Kontrolle und Verwaltung.
  • Virtuelles Netzwerk: Einheitliches Netzwerk über physische Verbindungen hinweg.

Vorteile von Clustern

  • Skalierbarkeit: Einfache Erweiterung durch Hinzufügen weiterer Knoten.
  • Fehlertoleranz: Redundanz erhöht die Ausfallsicherheit.
  • Leistung: Parallele Verarbeitung großer Datenmengen.

Ressourcenmanagement und Job Scheduling

Ressourcenmanagement-System (RMS)

Verwaltet die Zuweisung von Jobs zu Ressourcen in einem Cluster.

Funktionen

  • Job-Queue: Warteschlange für eingehende Jobs.
  • Priorisierung: Bestimmung der Reihenfolge der Job-Ausführung.
  • Zuteilung: Reservierung von Ressourcen basierend auf Anforderungen.
  • Monitoring: Überwachung der Ausführung und Systemauslastung.

Job Scheduling Strategien

  • First-Come, First-Served (FCFS): Ausführung in der Reihenfolge des Eingangs.
  • Shortest Job First (SJF): Kürzere Jobs werden bevorzugt.
  • Round Robin: Zeitgesteuerte Verteilung der Ressourcen.
  • Preemptive Scheduling: Jobs können unterbrochen und zugunsten wichtigerer Jobs verschoben werden.

Weitere Aspekte des Ressourcenmanagements

  • Checkpointing und Prozessmigration:
    • Definition: Speicherung des Zustands eines Prozesses, um bei Ausfällen den Prozess an anderer Stelle fortsetzen zu können.
    • Vorteil: Erhöhte Fehlertoleranz und Ausfallsicherheit in verteilten Systemen.
  • Fehlertoleranz:
    • Herausforderung: Mit steigender Anzahl von Komponenten steigt auch die Wahrscheinlichkeit von Ausfällen.
    • Lösungen: Redundanz, Überwachung und automatische Wiederherstellung.

Herausforderungen

  • Optimierung: Effiziente Nutzung der verfügbaren Ressourcen.
  • Fairness: Gerechte Verteilung zwischen verschiedenen Benutzern oder Gruppen.
  • Dynamik: Anpassung an sich ändernde Anforderungen und Systemzustände.

Virtuelle Organisationen

Definition

Eine virtuelle Organisation (VO) ist ein Zusammenschluss von Individuen und/oder Institutionen, die Ressourcen und Informationen teilen, um ein gemeinsames Ziel zu erreichen.

Merkmale

  • Dynamik: Mitglieder können hinzukommen oder ausscheiden.
  • Gemeinsame Ressourcen: Geteilte Nutzung von Hardware, Software und Daten.
  • Verteilte Kontrolle: Keine zentrale Autorität; Entscheidungen werden kollaborativ getroffen.

Anwendungsbeispiele

  • Wissenschaftliche Kollaborationen: Gemeinsame Nutzung von Supercomputern für Forschung.
  • Geschäftsnetzwerke: Unternehmen teilen Ressourcen für gemeinsame Projekte.

Peer-to-Peer-Netzwerke und Volunteer Computing

Peer-to-Peer (P2P) Netzwerke

Netzwerke ohne zentrale Kontrollinstanz, in denen jeder Teilnehmer sowohl Ressourcen konsumiert als auch bereitstellt.

Eigenschaften

  • Dezentralisierung: Keine zentrale Server-Struktur.
  • Skalierbarkeit: Kann leicht wachsen, da jeder Peer Ressourcen beiträgt.
  • Robustheit: Ausfall einzelner Peers beeinträchtigt das Netzwerk kaum.

Volunteer Computing

Die Nutzung der Rechenleistung von Freiwilligen über das Internet für große Rechenprojekte.

Beispiele

  • SETI@home: Analyse von Radiosignalen zur Suche nach extraterrestrischem Leben.
  • BOINC: Plattform für verteiltes Rechnen in verschiedenen wissenschaftlichen Projekten.
  • Folding@home: Simulation von Proteinstrukturen zur Erforschung von Krankheiten.

Vorteile

  • Kosteneffizienz: Nutzung bereits vorhandener Ressourcen.
  • Massive Rechenleistung: Zusammenschluss vieler kleiner Beiträge ergibt enorme Gesamtleistung.

Herausforderungen

  • Zuverlässigkeit: Unterschiedliche Hardware und Verbindungsqualität.
  • Sicherheit: Schutz vor Manipulation und Datenmissbrauch.

Beispiele aus der Praxis

Anwendung von Cloud-Technologien in der Seismologie

Heiner Igels “Seismologie Online”

  • Kontext: Prof. Heiner Igel von der LMU München entwickelte eine Online-Plattform für Seismologie-Studien.
  • Technologie: Verwendung von Jupyter Notebooks als Platform-as-a-Service.
  • Ziel: Bereitstellung von interaktiven Übungen für Studierende im Bereich Geophysik.
  • Vorteile:
    • Benutzerfreundlichkeit: Studierende können ohne tiefes IT-Wissen auf die Ressourcen zugreifen.
    • Skalierbarkeit: Bei steigender Anzahl von Nutzern kann die Plattform flexibel erweitert werden.
  • Herausforderungen:
    • Ressourcenbedarf: Bei hoher Nutzerzahl kann die erforderliche Rechenleistung steigen.
    • Sicherheit: Schutz sensibler Daten und Sicherstellung der Datenintegrität.

Einsatz von Cloud-Ressourcen in der medizinischen Forschung

Verarbeitung sensibler Gesundheitsdaten

  • Anforderung: Speicherung und Verarbeitung von Patientendaten unter Einhaltung strenger Datenschutzbestimmungen.
  • Lösung:
    • Private Cloud: Aufbau einer eigenen Cloud-Infrastruktur innerhalb des LRZ (Leibniz-Rechenzentrum).
    • Verschlüsselung: Vollständige Verschlüsselung der Daten sowohl im Ruhezustand als auch während der Übertragung.
  • Herausforderungen:
    • Compliance: Einhaltung gesetzlicher Vorgaben und Zertifizierungen (z.B. C5-Zertifizierung).
    • Hybrid Cloud Ansätze: Kombination von privaten und öffentlichen Cloud-Ressourcen unter Berücksichtigung der Sicherheitsanforderungen.

Herausforderungen und Fragen im Grid- und Cloud-Computing

  • Interoperabilität: Wie können unterschiedliche Systeme und Plattformen nahtlos zusammenarbeiten?

  • Sicherheit: Wie wird der Schutz von Daten und Ressourcen gewährleistet, insbesondere in offenen Umgebungen?

  • Ressourcenbedarf: Wie werden Ressourcen effizient verteilt und genutzt, um den steigenden Anforderungen gerecht zu werden?

  • Skalierbarkeit: Wie kann auf schwankende Anforderungen reagiert werden, z.B. bei Lastspitzen oder variierendem Ressourcenbedarf?

  • Abrechnung und Kosten: Wie werden die Nutzung von Ressourcen transparent und fair abgerechnet? Welche Modelle gibt es?

  • Datenmanagement: Wie werden große Datenmengen effizient gespeichert, übertragen und verarbeitet?

  • Fehlertoleranz: Wie wird mit Ausfällen von Ressourcen umgegangen, um die Verfügbarkeit von Diensten sicherzustellen?

  • Einstiegshürden: Wie können Nutzer den Zugang zu Cloud- und Grid-Ressourcen erleichtert bekommen?

  • Abhängigkeiten: Wie vermeidet man eine zu starke Bindung an einen Anbieter (Vendor Lock-in)?


Technologischer Reifegrad und Hype Cycle

Gartner Hype Cycle

  • Beschreibung: Modell zur Darstellung des Lebenszyklus neuer Technologien.
  • Phasen:
    1. Technologischer Auslöser: Einführung einer neuen Technologie.
    2. Gipfel der überzogenen Erwartungen: Übermäßiger Hype und unrealistische Erwartungen.
    3. Tal der Enttäuschungen: Ernüchterung aufgrund unerfüllter Erwartungen.
    4. Pfad der Erleuchtung: Verständnis für den tatsächlichen Nutzen der Technologie.
    5. Plateau der Produktivität: Breite Akzeptanz und produktiver Einsatz.

Anwendung auf Cloud Computing und Künstliche Intelligenz

  • Cloud Computing:
    • Hat das Plateau der Produktivität erreicht.
    • Weit verbreitet und etabliert in Unternehmen und Forschung.
  • Künstliche Intelligenz (KI):
    • Aktuell auf dem Gipfel der überzogenen Erwartungen.
    • Hohe Investitionen und Erwartungen, aber auch Risiken der Überschätzung.
  • Integration von KI in Cloud-Dienste:
    • Cloud-Anbieter investieren stark in KI-Technologien.
    • Bereitstellung von KI-Services über die Cloud.

Zusammenfassung und Ausblick

  • Grid-Computing ermöglicht die gemeinsame Nutzung verteilter Ressourcen zur Lösung komplexer Probleme.
  • Cloud-Computing bietet skalierbare Ressourcen als Dienstleistung mit nutzungsbasiertem Abrechnungsmodell.
  • Virtualisierung ist eine Schlüsseltechnologie für beide Ansätze, da sie Flexibilität und Effizienz bietet.
  • Cluster Computing bleibt relevant für spezialisierte Hochleistungsanwendungen.
  • Virtuelle Organisationen und Volunteer Computing zeigen das Potenzial kollaborativer Ansätze.

Zukünftige Entwicklungen

  • Integration von KI: Nutzung von Grid- und Cloud-Ressourcen für maschinelles Lernen.
  • Edge Computing: Verlagerung von Rechenleistung näher an die Datenquelle.
  • Nachhaltigkeit: Energieeffiziente Technologien und Nutzung erneuerbarer Energien.
  • Standardisierung: Entwicklung einheitlicher Protokolle und Schnittstellen für bessere Interoperabilität.
  • Sicherheit und Datenschutz: Weiterentwicklung von Technologien zum Schutz sensibler Daten in verteilten Systemen.

Wichtige Begriffe und Konzepte

  • Grid Computing: Verteilte Ressourcen über mehrere Standorte und Organisationen hinweg.
  • Cloud Computing: Bereitstellung von IT-Infrastrukturen über das Internet als Dienstleistung.
  • Virtualisierung: Abstraktion physischer Ressourcen zur Erstellung virtueller Umgebungen.
  • Cluster: Verbund mehrerer Computer zur Erhöhung von Leistung und Verfügbarkeit.
  • SSI (Single System Image): Technologie, die einen Cluster als ein einzelnes System erscheinen lässt.
  • RMS (Ressourcenmanagement-System): Software zur Verwaltung von Ressourcen in Clustern.
  • Hypervisor: Software zur Erstellung und Verwaltung von virtuellen Maschinen.
  • P2P-Netzwerk: Netzwerkstruktur ohne zentrale Instanz, in der jeder Knoten gleichberechtigt ist.
  • Volunteer Computing: Nutzung der Rechenleistung freiwilliger Teilnehmer für wissenschaftliche Projekte.
  • BOINC: Plattform für verteiltes Rechnen, die Volunteer Computing ermöglicht.
  • OGSA (Open Grid Services Architecture): Framework zur Standardisierung von Grid-Computing-Architekturen.
  • Hype Cycle: Modell zur Darstellung des technologischen Reifegrads von Innovationen.

Literaturhinweise

  1. Foster, I., Kesselman, C., & Tuecke, S. (2001): The Anatomy of the Grid: Enabling Scalable Virtual Organizations. International Journal of High Performance Computing Applications, 15(3), 200–222.
  2. Foster, I. (2002): What is the Grid? A Three Point Checklist. GridToday, 1(6).
  3. Papazoglou, M. P. (2008): Web Services: Principles and Technology. Pearson/Prentice Hall.
  4. Foster, I., Zhao, Y., Raicu, I., & Lu, S. (2009): Cloud Computing and Grid Computing 360-Degree Compared. CoRR, abs/0901.0131.
  5. Hwang, K., Fox, G., & Dongarra, J. (2012): Distributed and Cloud Computing: From Parallel Processing to the Internet of Things. Morgan Kaufmann.
  6. Buyya, R., Yeo, C. S., Venugopal, S., Broberg, J., & Brandic, I. (2009): Cloud Computing and Emerging IT Platforms: Vision, Hype, and Reality for Delivering Computing as the 5th Utility. Future Generation Computer Systems, 25(6), 599–616.
  7. BOINC Projekt: https://boinc.berkeley.edu/