Grid ComputingSeminar am Institut für verteilte Systeme im WS 07/08
- Forschungstrends im Bereich Verteilte Systeme - Ralf Enderle | 19.11.07
Grid Computing | Ralf Enderle Seite 2
Inhalt
– Einleitung
– Konzeptueller Aufbau eines Grid Systems
– Existierende Ansätze / Systeme
– Globus Toolkit
– Fazit
Grid Computing | Ralf Enderle Seite 3
Warum Grid Computing?
• Rechenintensive Anwendungen nehmen stark zu
• Verschiedenste Ressourcen werden benötigt
• Oft arbeiten verschiedene Institutionen an einem Problem
oder auf einer Datenbasis
• Bei der Benutzung von Rechenzentren sind oft
Anpassungen am Code oder der Daten notwendig
Grid Computing | Ralf Enderle Seite 4
Entstehungsgeschichte
• 1965 Multics: „ computing as an utility “
• 1980 Grand Challenge: Erste Konzepte zum Entwurf von
Grid Systemen
• 1990 US Gigabit testbed program
• 1995 FAFNER - Factoring via Network-Enabled
Recursion
• 1995 I-WAY – Information Wide Area Year (Vorläufer des
Globus Toolkits)
Grid Computing | Ralf Enderle Seite 5
Einsatzmöglichkeiten
• Rechenintensive Probleme– Problem in Teilschritten berechnen– spezielle optimierte Rechner im Grid
• Datenintensive Probleme– zentrale Ablage der Daten– temporärer großer Speicherbedarf
• Dynamischer Ressourcenbedarf
• Verleih bzw. Vermietung von (speziellen) Ressourcen wie
Teleskopen oder Analysegeräten
Grid Computing | Ralf Enderle Seite 6
Inhalt
– Einleitung
– Konzeptueller Aufbau eines Grid Systems
– Existierende Ansätze / Systeme
– Globus Toolkit
– Fazit
Grid Computing | Ralf Enderle Seite 7
Konzeptueller Aufbau: Schichtenmodell
Schichtenmodell nach Ian Foster:
Fabric
Connectivity
Resource
Collective
Application
Grid Computing | Ralf Enderle Seite 8
Schichtenmodell – Fabric
• Regelt Zugriff auf Ressourcen
• Mindestanforderung:– Informationsabfrage– Statusabfrage– Kontrolle
• Mehr Funktionalität in einer Fabric-Komponente:– erleichtert die Grid-Entwicklung– erschwert jedoch Integration neuer Ressourcen über diese
Komponente-> es gilt also einen Mittelweg zu finden
Fabric
Connectivity
Resource
Collective
Application
Grid Computing | Ralf Enderle Seite 9
Schichtenmodell – Connectivity
• sichere Kommunikation
• Identifikation der Benutzer/Ressourcen
• Zugriff auf die Ressourcen
• Mindestfunktionalität:– single sign-on– Delegation– Integration lokaler Sicherheitslösungen
Fabric
Connectivity
Resource
Collective
Application
Grid Computing | Ralf Enderle Seite 10
Schichtenmodell – Resource
• Stellt u.a. Mechanismen zur– Initialisierung– Überwachung– Kontrolle– Vergütungvon Ressourcen zur Verfügung-> Es gibt:
InformationsprotokolleManagementprotokolle
• Bedient sich der Fabric-Schicht um auf konkrete lokale
Ressourcen zuzugreifen
Fabric
Connectivity
Resource
Collective
Application
Grid Computing | Ralf Enderle Seite 11
Schichtenmodell – Collective
• Interaktion über Ressourcengrenzen
• Beispiele für Dienste in dieser Schicht:– Directory service– Data replication service– Software discovery service– Monitoring service– ...
• Oft liegen die Dienste als SDK vor-> leichtere Verknüpfung mit der Anwendung
Fabric
Connectivity
Resource
Collective
Application
Grid Computing | Ralf Enderle Seite 12
Schichtenmodell – Application
• Einstiegspunkt für den Entwickler
• Zugriff auf die unteren Schichten-> Möglichkeit der Verknüpfung der Schichten, um die gestellte Aufgabe zu lösen
Fabric
Connectivity
Resource
Collective
Application
Grid Computing | Ralf Enderle Seite 13
Schichtenmodell – Beispiel
Grid Computing | Ralf Enderle Seite 14
Inhalt
– Einleitung
– Konzeptueller Aufbau eines Grid Systems
– Existierende Ansätze / Systeme
– Globus Toolkit
– Fazit
Grid Computing | Ralf Enderle Seite 15
Computing Grids [1]
• Zugriff auf Rechenressourcen
• vor allem aufwendige Berechnungen
• Abarbeitung meist in kleinen Teilschritten
• Parallel zu verarbeitende Probleme skalieren sehr gut
• Beispiel: SETI@home (basierend auf BOINC – Berkeley
Open Infrastructure for Network Computing)– Auswertung der Daten eines Radioteleskopen– Berechnung durch ein Clientprogramm auf (meist)
Heimanwender PCs– Ziel ist die Suche nach außerirdischem intelligenten Leben
Grid Computing | Ralf Enderle Seite 16
Computing Grids [2] - SETI@home
Grid Computing | Ralf Enderle Seite 17
Data Grid
• Dynamischer Speicherplatz
• Zwischen- und Endergebnisse von wissenschaftlichen
Berechnungen
• Oft kombiniert mit Computing Grids
• Beispiel: Data Grid der EU– bietet z.B. Zugriff auf die Daten des LHC
(Teilchenbeschleuniger) vom Cern– somit wird vielen Wissenschaftlern die Arbeit auf demselben
großen Datenbestand ermöglicht.
Grid Computing | Ralf Enderle Seite 18
Resource Grid
• Bündelung verschiedener Ressourcen
• Computing Grids sowie Data Grids lassen sich dem
Resource Grid unterordnen
• aber auch speziellere Systeme:– Teleskope– Analysegeräte– ...
• Beispiel: Fraunhofer Resource Grid– Ressourcen von mehreren Instututionen der Fraunhofer
Gesellschaft– Zugriff auch für externe Interessenten (Firmen) möglich
Grid Computing | Ralf Enderle Seite 19
Service Grid
• kapseln oft Ressourcen in Services zur einfacheren
Handhabung
• Bereitstellung konkreter Dienste für Aufgaben
• Beispiel: BIS-Grid (Betriebliche Informationssysteme)– Teilprojekt der D-Grid Initiative– Integration von dezentralen Informationssystemen
(CRM, ERP, PDM...)– Also Versuch der Integration von heterogenen
Umgebungen mit Grid-Ansätzen
Grid Computing | Ralf Enderle Seite 20
Information Grid
• Strukturierter und schneller Zugriff auf Informationen
• Integration von heterogenen Datenbeständen
• Herkunft / Speicherart sowie ursprüngliche Aufbereitung
der Daten für den Nutzer transparent-> einheitliche Sicht
• oft bei semantischer Zusatzinformation auch als
Knowledge Grid bezeichnet
Grid Computing | Ralf Enderle Seite 21
Zusammenspiel (nach Reinefeld/Schintke)
Grid Computing | Ralf Enderle Seite 22
Inhalt
– Einleitung
– Konzeptueller Aufbau eines Grid Systems
– Existierende Ansätze / Systeme
– Globus Toolkit
– Fazit
Grid Computing | Ralf Enderle Seite 23
Globus Toolkit V4
• Open Source Toolkit zum Bau von Grid Systemen
• Entstanden aus I-WAY
• Kann einzeln oder komplett eingesetzt werden
• Aufteilung in fünf große Bestandteile:– Security– Data Management– Execution Management– Information Services– Common Runtime
Grid Computing | Ralf Enderle Seite 24
Globus – Komponenten
Grid Computing | Ralf Enderle Seite 25
Globus – Security
• Sicherheitskomponente in Globus: GSI (Grid Security
Infrastructure)
• strikt standardisiertes Sicherheitssystem
• einheitliche Schnittstellen
• Integration von bestehender Sicherheitsinfrastruktur
möglich: z.B. Kerberos / Unix Sicherheitsrichtlinien / ...
• Es wird ein Mapping von bestehenden Systemen in die
GSI vorgenommen
Grid Computing | Ralf Enderle Seite 26
Globus – Data Management
• Datenmanagement in Globus: GridFTP
• Erweiterung des eigentlichen FTP-Protokolls– verlässliches Starten von abgebrochenen Verbindungen– einfaches Monitoring– paralleler Datentransfer– ...
• Eigenschaften: sicher, robust, schnell, effizient
• Durch die Standardisierung Interoperabilität gewährleistet
Das System der Globus Alliance, ein System der University of
Virginia sowie des Fermi Labs konnten in einem Test mit
GridFTP ohne Anpassungen zusammenarbeiten
Grid Computing | Ralf Enderle Seite 27
Globus – Execution Management
• GRAM (Globus Resource Allocation Manager Service)
• zustandsbehafteter Job-Kontrolldienst
• stellt Umgebung für den Job bereit
• Normaler Modus: in-Datei ......... out-Datei
• Aber auch Monitoring während der Ausführung möglich
Grid Computing | Ralf Enderle Seite 28
Globus – Information Service
• MDS (Monitoring and Discovery Service)
• Index service– sammelt Informationen– kann auf Anfrage Auskunft über die gesammelten Daten
geben
• Trigger service– sammelt auch wie der Index service Informationen– bietet die Möglichkeit, auf Ereignisse in den Informationen
direkt zu reagieren und eine andere Aktion anzustoßen
Grid Computing | Ralf Enderle Seite 29
Globus – Common Runtime
• drei unterstützte Runtimes:Python – C – Java
• Exemplarisch: JAVA CoG Kit (Java Commodity Grid Kit)– ermöglicht es wiederverwendbaren Code zu schreiben– Web Services lassen sich einfach ansprechen– viele vordefinierte Interfaces– Unterstützung der GUI-Modellierung (Swing, JSP) für Grid
Anwendungen– Java CoG Kit Desktop : Desktopumgebung um auf dem
Grid zu arbeiten
Grid Computing | Ralf Enderle Seite 30
Globus – Java CoG Kit Desktop
Grid Computing | Ralf Enderle Seite 31
Grid Computing - Fazit
• einheitliche Bedienung
• Bündelung verschiedenster Ressourcen
• bessere Auslastung der Ressourcen
• Bezahlsysteme integrierbar
• viele Probleme sind fast ausschließlich mit Grid Systemen
zu lösen
• ABER: recht komplex aufzusetzen
-> Eine genaue Untersuchung des jeweiligen
Anwendungskontextes ist nötig! Alternativen prüfen!