Adaptierung durch dynamische Bereitstellung von Ressourcen Dependable adaptive
Adaptierung durch dynamische Bereitstellung von Ressourcen Dependable adaptive Systems Sven Breuner
Inhaltsübersicht 1. Vorüberlegungen 2. Load balancing Ø. . . durch Softwarearchitektur Ø. . . durch zentrale Instanz Ø. . . durch nachträglichen Ausgleich 3. Virtualisierung Ø Techniken Ø Anwendungen 4. Eine dynamische globale Infrastruktur Ø Extremere Arten von Last Ø Systeme zur dynamischen Freigabe und Nutzung von Ressourcen Seite 2
Vorüberlegungen
Das klassische Client/Server-Modell Ein Server bedient mehrere Clients Lokales Internet Netzwerk Client n+m Client n Welt Seite 4
Load balancing
Lastverteilung durch besondere Softwarearchitektur: Peer-to-Peer-Netzwerke Ø Jeder Peer ist zugleich Client und Server § nicht mehr „einer bedient alle“-Szenario Ø Je mehr Clients, desto mehr Server, die Last unter sich aufteilen Ø Peers nehmen üblicherweise nicht permanent am Netzwerk teil Wegfall/Hinzukommen von Peers wird gleich beim Design berücksichtigt (redundante Daten, fehlertoleranter Zugriff) § Ø Dedizierte Server können zusätzlich zur Performancesteigerung verwendet werden Ø „Internettauschbörsen“ sind erfolgreiche Beispiele Seite 6
Lastverteilung durch besondere Softwarearchitektur: Peer-to-Peer-Netzwerke (2) Ø Keine Strukturierung, keine klare Aufgabentrennung § Zu komplex, nicht für allgemeine Zwecke geeignet § Zurückverfolgung und Behebung von Fehlern sehr schwer Ø Üblicherweise offene Protokolle, die von diversen Programmen benutzt werden § Keine Garantie, dass Peers auch Server-Aufgaben übernehmen § Ungleichgewicht zwischen „ordentlichen“ und „unordentlichen“ Peers mit entsprechend langen Warteschlangen § Mangelnde Anonymität, Aktionen der Peers können überwacht werden Seite 7
Lastverteilung durch besondere Softwarearchitektur: Peer-to-Peer-Netzwerke (3) Seite 8
Lastverteilung durch zentrale Instanz: Gateways Zentrale Instanzen existieren bereits in Netzwerken Ø § z. B. Firewalls Datenaustausch im Internet verläuft häufig nach dem einfachen Request/Response-Schema über HTTP Ø § HTTP ist zustandslos Seite 9
Lastverteilung durch zentrale Instanz: Gateways (2) Häufig reicht serverseitige Zustandslosigkeit nicht aus (z. B. Warenkorb) Ø § Sessiondaten können in Datenquelle gespeichert werden, aber: verstärkte Belastung der Datenquelle Gateways benutzen bereits temporäre Zuordnungen § z. B. IP <-> MAC-Adresse, MAC-Adresse <-> Port § Gateway könnte Anfragen desselben Clients immer an denselben Server weiterleiten, Ø aber: kann zu ungleicher Lastverteilung führen § Gateway könnte Kommunikation analysieren, aber: erhöhte Latenz Seite 10
Lastverteilung durch zentrale Instanz: Gateways (3) Fazit: Auch Gateways sind nicht die perfekte Lösung, eigenen sich aber gut für bestimmte Einsatzzwecke Ø § z. B. dynamische Websites mit einem gewissen CPU-Aufwand (PHP etc. ) Ø Könnten noch weiter ergänzt werden um § Heartbeats zur Vermeidung der Weiterleitung an ausgefallene Server § Protokoll zur Lastabfrage der einzelnen Server zur automatischen Weiterleitung an weniger ausgelastete Server Relativ statischer Aufbau, beschränkt auf LAN, Zugriff auf Datenquelle kann Bottleneck sein Ø Seite 11
Lastverteilung durch nachträglichen Ausgleich: open. Mosix Problem bei anderen Verfahren zur Lastverteilung: Vorher ist nicht bekannt, wieviel Last die Anfrage zur Bearbeitungszeit tatsächlich verursachen wird Ø § also: Ausgleich zur Bearbeitungszeit Seite 12
Lastverteilung durch nachträglichen Ausgleich: open. Mosix (2) Prozesse müssen immer Zugriff auf ihr ursprüngliches Environment haben Ø § I/O-intensive Prozesse müssen auf ihren ursprünglichen Node zurück verschoben werden Bei geeigneten Prozessen (gleichbleibend CPU- oder Arbeitsspeicherintensiv, wenig Festplatten-I/O) bietet open. Mosix einen optimalen Ausgleich Ø Seite 13
Virtualisierung
Virtualisierungstechniken Virtualisierung erfordert Hardwareunabhängige Zwischenschicht Ø Zwei Möglichkeiten: Veränderung des Betriebssystems oder vollständig virtuelle Umgebung (Virtualisierung zur Laufzeit des Guest-OS) Ø Ø Bsp. Xen: § Betriebssystem in virtueller Umgebung, also Host ohne konkreten Hardwarebezug, ist „virtual machine“ § Xen ist „virtual machine monitor“ (auch: „Hypervisor“) § Mehrere virtuelle Maschinen können auf einem realen Host laufen Seite 15
Virtualisierungstechniken (2) Ø Weitere Möglichkeiten § Hypervisor mit vollständiger Virtualisierung (Bsp. VMware ESX-Server in Verbindung mit Virtual. Center erlaubt Migration ohne Downtime) § Host-OS mit Virtualisierungsplattform als Programm (Bsp. GSX-Server, aber keine Migration ohne Downtime mehr) § Virtualisierung der CPU-Architektur Performance verschlechtert sich zwangsläufig mit höheren Stufen der Virtualisierung Ø Seite 16
Anwendungen der Virtualisierung Durch Virtualisierung werden Computer zu einer Ressource, die nach belieben reserviert (bei Bedarf sogar mehrfach) und wieder freigegeben werden kann Ø Bsp. Unternehmen mit Tageszeit-abhängiger Auslastung der Server Ø § Migration ohne Downtime § Keine Änderung der Server-Anzahl § Einfaches Management durch Virtual. Center oder auch automatisiert § Zusätzliche Ausfallsicherheit durch Verfügbarkeit der abstrakten Server auf theoretisch beliebigen Hosts im Netz inkl. Environment Optimal wären Dienste, die sich flexibel einer dynamischen Anzahl von Hosts anpassen können Ø Seite 17
Eine dynamische globale Infrastruktur
Extremere Arten von Last: Sporadisch auftretende Last Bsp. : Kleine Unternehmen, wissenschaftliche Einrichtungen (detailgetreue Simulationen, komplexe Probleme) Ø § Problem: Ergebnisse nicht wertvoll genug zur Anschaffung eines Clusters • Häufig gemeinsame Anschaffung und Nutzung § Ideal wäre Dienst, der Freigabe von überschüssigen Ressourcen erlaubt • Ungenutzte Ressourcen existieren in fast jedem Unternehmen Seite 19
Extremere Arten von Last: Andauernde große Last Personal Computer sind häufig nicht ausgelastet (vgl. P 2 P-Netze) Ø § Ungenutzte PCs sind in sehr großer Zahl vorhanden Ø Bsp. zur Nutzung: SETI@home Seite 20
Extremere Arten von Last: Andauernde große Last (2) SETI@home realisiert simples, hierarchisches, Client/Server-artiges Modell mit großer Teilnehmerzahl ohne P 2 P-Nachteile Ø § Benutzerdaten für andere Nutzer nicht zugänglich § Data-Server als Proxy zu gemeinsam genutztem Speicher § Scheduling und gezielte Verteilung von Jobs möglich durch Erfassung statistischer Daten § Abrechnung möglich durch Anzahl der analysierten Pakete § Benutzer können Freigabe vollkommen dynamisch starten und beenden Ø Projekt erfordert Akzeptanz der Teilnehmer Seite 21
Das allgemeine System für beliebige Einsatzzwecke… Ø …wäre viel zu komplex, um noch benutzbar zu sein Ø …müsste widersprüchliche Anforderungen erfüllen § Einfache Bedienung <-> komplexe Einstellungsmöglichkeiten § Performance <-> Sicherheit/Zuverlässigkeit Ø …existiert nicht und wäre auch nicht sinnvoll Spezialisierung erforderlich Seite 22
Grids: Infrastruktur zur dynamischen Freigabe & Nutzung von Ressourcen Seite 23
Das Globus Toolkit: Eine allgemeine Basis für Grids Seite 24
Günstige Anwendungsfälle für Grids Ø Divide-and-Conquer bzw. massiv verteilbare Berechnungen (vgl. SETI@home) Ø Jobs mit komplexen Workflows § Problem Solving Environments zur Generierung der Workflows § z. B. Analyse von Sensordaten Ø Vielleicht irgendwann Unternehmen mit Grid-Nutzung statt eigener Internetserver Vielleicht irgendwann „mal eben“ ein paar TB Grid-Speicherplatz nutzen oder 50 Nodes zur Berechnung der KI in einem Echtzeit-Strategiespiel. . . Ø Grids erfordern allerdings sowohl Akzeptanz der Anbieter (Ressourcen für unbekannte Zwecke zur Verfügung zu stellen) als auch der Verbraucher (Jobs und Daten in unbekannte Hände zu geben) Ø Seite 25
Fazit Ø Unterschiedliche Problem-Szenarien erfordern unterschiedliche Lösungen § Setzen von Prioritäten hilft bei Auswahl der Lösung Ø Zuverlässigkeit eines Systems erfordert zuverlässiges Gesamtkonzept § Fehlerfreiheit eines Programms bedeutet nicht Fehlerfreiheit des Systems (Betriebssystem und andere verwendete Komponenten können Fehler haben) In Grids steckt ein großes Potential für viele Arten der Nutzung – Ob und wann es jedoch voll ausgeschöpft werden kann, lässt sich im Moment noch nicht genau sagen Ø Seite 26
- Slides: 26