Cluster, Grid und Cloud High Performance Computing am GFZ Jan Thaler - GFZ Potsdam GeoInformatik-Kolloquium 3.11.2010
Übersicht momentane Situation am GFZ Grid Computing Cloud Computing Anwendungsszenarien
Cluster Cluster mit 202 Knoten und 912 Kernen exklusive Nutzung von 64 Knoten 138 Knoten für alle Nutzer verfügbar Nutzer aus verschiedenen Departments Erdsystemmodellierung Sedimentbeckenanalyse Geodäsie / Fernerkundung Geophysikalische Tiefensondierung Geochemie
Nutzung des Clusters Unix-Account Dateitransfer per scp / sftp Anmeldung auf dem Cluster per ssh Job starten per Skript über Kommandozeile Webfrontend ist ebenfalls vorhanden
Herausforderungen Barrieren senken viele neue potentielle Nutzer pro Jahr Nutzungsmöglichkeiten nicht überall bekannt abschreckende Komplexität Programme müssen erst installiert werden Auslastung des Clusters schwankt
Clusternutzung
Grid Computing Zusammenschluss von Ressourcen und Personen Lose Kopplung Heterogene Ressourcen Geographisch weit verteilt Unterschiedliche Organisationen mit gemeinsamen Ziel Einheitliche Middleware
Virtuelle Organisation Zusammenschluss von Personen und Ressourcen mehrerer Organisationen mit einem gemeinsamen Ziel VO 2 VO 1
Grid - Architektur Application Collective Application Resource Connectivity Transport Internet Fabric Grid Protocol Architecture Link Internet Protocol Architecture
Die Fabric - Schicht Ressourcen die dem Grid zur Verfügung gestellt werden Dateisystem Cluster Sensor...
Connectivity und Resources Connectivity Kommunikation Authentifizierung Resources Information Überwachung Zugriff (Dateitransfer, Jobs)
Collective und Application Collective gridweite Dienste Information Resource-Brokering Monitoring Data Replication Workflows Application Anwendungen, z.b. Portale
Authentication / Authorization Gegenseitige Authentifizierung durch Zertifikate Proxy-Zertifikate für Delegation Verschlüsselung Authentifizierung Grid-Mapfile Federated Identity
Zertifikate Certificate Authority Anfrage Zertifikat (OK) Credential speichern Proxy-Zertifikat erzeugen MyProxy Server signiertes Zertifikat Registration Authority Anfrage Zertifikat Proxy Zertifikat Benutzer Grid
Information Services Ressourcen CPU, Last, installierte Programme,... Plattenplatz, Quota... Queues, Anzahl der Knoten Services Dateitransfer Replication
Information Services Ressourcen sind über das Netzwerk verteilt Unterbrechungen möglich Ressourcen können hinzukommen oder wegfallen Keine Zentrale Kontrolle Lösung muss gut skalieren
Information Services Index-Dienste überwachen die Ressourcen Hierarchische Struktur der Indexe Indexe sind selbstreinigend VO Index Untergeordnete Indexe
Monitoring Services sammeln Informationen ähnlich wie die Information Services Überprüfen Bedingungen und führen ggf. Aktionen aus E-Mail an Administrator wenn Plattenplatz kritisch, Server nicht mehr erreichbar, Eintrag in Logdatei
Job Submission Unterschiedliche lokale Ressourcenmanager Unterschiedliche Syntax für Ausführung Bedingungen für die Ausführung Architektur, Software, CPUs, Umgebungsvariablen Transfer der Ein- und Ausgabedateien stdin / stdout Überwachung, Abbruch des Jobs
Job Submission Middleware hat Adapter für die unterschiedlichen Systeme eigene Sprache für Jobdefinitionen Komplexere Funktionalität entweder enthalten oder in Extramodul Parametrisierte Jobs Workflows
Anwendungen Benutzung über Kommandozeile möglich Auf Anwender zugeschnittene Portale Vereinfachen die Bedienung Verbergen die Komplexität des Grids Zeigen alle Möglichkeiten auf einen Blick Können zusätzliche Dienste integrieren
Cloud Computing Keine einheitliche Definition Räumlich entfernt Universeller Zugriff Typische Attribute Elastizität Flexible Kosten Virtualisierung Service (APIs) Einfache Verwaltung Niedrige Kosten Viele Kunden Definierte Service-Level
Technologische Voraussetzungen Große Datencenter Breitband-Internet Serviceorientierte Architektur Virtualisierung Verbrauchsabhängige Abrechnung
Vorteile von Cloud Computing Variable Kosten statt Fixkosten Keine Investitionen nötig, geringes Risiko Skalierbare Ressourcen höhere Agilität Fokussierung auf Kernkompetenz Ausfallsicherheit Bessere Auslastung der Hardware
Nachteile von Cloud Computing Sicherheitsbedenken weit verbreitet Legale Probleme (Datenschutz) Keine etablierten Standards, Wechsel des Anbieters nicht ohne weiteres möglich
Cloud Services Software as a Service Optimierung Platform as a Service Infrastructure as a Service Flexibilität
Public / Private Clouds Public Cloud ist die konsequenteste Art Völlige Auslagerung ist oft nicht erwünscht, einige Vorteile von Cloud Computing schon Daten bleiben vor Ort Kapazität flexibel aber stärker begrenzt Kosten fix, aber intern abrechenbar Wartung in IT-Abteilung konzentriert
Andere Cloudarten Hybrid Clouds Private Cloud mit Public Cloud für Spitzen Sensible Daten in Private Cloud, unkritische in Public Cloud Partner Clouds Private Cloud betrieben von externem Partner Government Cloud Spezielle Anforderungen an Sicherheit und Zuverlässigkeit
Infrastructure as a Service Bereitstellung von virtuellen Servern Basiert auf VM-Abbildern Betriebssystem relativ frei wählbar Vorgefertigte VMs vorhanden Erstellung eigener VMs möglich VMs können beliebig gestartet werden
Infrastructure as a Service Bereitstellung von Speicherplatz Zugriff über Webservices Virtuelle Datenträger Backups Daten von Webanwendungen Virtuelle Festplatten für VMs
Infrastructure as a Service Private und öffentliche IP-Adressen Firewalls außerhalb der VM Überwachung der Leistungsmerkmale Automatischer Start weiterer VMs möglich Virtual Private Clouds
Beispiel Amazon EC2 Verschiedene Images 1 EC2 Compute Unit, 1,7 GB RAM, 160 GB Festplatte, 32 Bit 26 EC2 CU (8 x 3,25 EC2 CU), 68,4 GB RAM, 1.690 GB Festplatte, 64-Bit 1 CU ~ Intel Xeon von 2007 mit 1,0 bis 1,2 GHz Unterschiedliche Nutzungsarten Je nach Bedarf Reservierung für 1 oder 3 Jahre Spot Instances
Beispiel Amazon Abrechnung Laufzeit (abhängig von Größe der Instanz) Datenübertragung Zusatzdienste Überwachung / Autoskalierung Load Balancing Speicherplatz (GB / Monat) I/O-Zugriffe
Platform as a Service Fertige Entwicklungs- oder Laufzeitumgebung für Webanwendungen Entwicklung, Design, Test in IDE, Installation Versionsverwaltung, Zusammenarbeit Zugriff auf Dienste des Anbieters (E-Mail, Authentifizierung) Überwachung der Anwendung, Statistiken
Vorteile von Platform as a Service Keine eigene Entwicklungsumgebung nötig Unkomplizierte Installation und Updates Flexible Kosten Skalierbarkeit Verfügbarkeit
Nachteile von Platform as a Service Festlegung auf einen Anbieter Keine freie Auswahl der Sprachen und Bibliotheken Funktionalität der Programmiersprachen nicht voll nutzbar
Beispiel Google App Engine Entwicklung in Java oder Python Kommunikation nur über HTTP(S) und E-Mail Regelmäßige Tasks möglich Nur lesender Dateizugriff auf Programmdaten App Engine Datastore für dauerhafte Daten Antwort nur innerhalb von 30 Sekunden
Beispiel Google App Engine Einfache Anwendungen sind kostenlos 1 GB Speicher 2000 E-Mails / Monat 1 GB / Tag Bandbreite 6,5 Stunden CPU-Zeit Überschreiten der Quoten führt zu Fehler der abgefangen werden sollte Erhöhung der Quoten möglich, dann Abrechnung nach Verbrauch
Software as a Service Zielgruppe sind Anwender Komplette Software läuft auf entferntem Server Bedienung über Webbrowser Beispiele Customer Relationship Management Office-Programme E-Mail, Kalender
Vorteile von SaaS Plattform- und Standortunabhängiger Zugriff Keine Installation auf lokalen Geräten nötig Wartung und Updates nur an zentraler Stelle Verbrauchsorientierte Lizenzmodelle
Nachteile von SaaS Festlegung auf Anbieter Sicherheitsbedenken Wenig Anpassungsmöglichkeiten Open Source zwar möglich, aber Software ist nicht modifizierbar
Grid Computing am GFZ Bisher noch nicht genutzt Grid nur sinnvoll innerhalb einer Community Geo-Community existiert (noch) nicht Keine einheitlichen Modelle Erfahrung sammeln, Partner suchen Zugriff auf mehr Ressourcen
Cloud Computing am GFZ Bisher ebenfalls noch nicht genutzt Private Cloud mit IaaS Nutzer können Betriebssystem frei wählen und eigene Programme installieren Hauptsächlich für Programme geeignet, die seriell ausgeführt werden Private Cloud mit SaaS Für Programme mit vielen Nutzern
Cloud Computing am GFZ Private Cloud Bringt keine neuen Ressourcen Kann die Nutzung erleichtern Public Cloud Bringt fast unbegrenzte Ressourcen Kann Lastspitzen abfangen SaaS nur mit allgemeinen Problemen
Cluster, Grid und Cloud High Performance Computing am GFZ Jan Thaler - GFZ Potsdam GeoInformatik-Kolloquium 3.11.2010