Grid-Technologie Teil 1: Grundlagen, Dienste und Tools

08.06.2006 von Dr. Klaus Manhart
Grids verteilen Rechenaufgaben und nutzen die Ressourcen der angebundenen Computer. Das dahinter stehende Optimierungspotential entdecken zunehmend auch Unternehmen und Software-Konzerne. Im ersten Teil behandeln wir die Grundlagen der Grid-Technologie.

Nach zehn Jahren World Wide Web steht die IT vor einer weiteren Revolution: dem Grid Computing. Während das Web mittels Hypertext-Verbindungen den einfachen Zugang zu statischen Informationen ermöglicht, bietet ein Grid den unkomplizierten Zugriff auf die Ressourcen selbst an: Auf Rechner, Speicher, Anwendungen und Daten.

Der Grundgedanke des Grid Computing basiert auf der Bereitstellung von Rechenleistung durch „Versorgungsbetriebe“ (englisch „utility“). Ähnlich wie bei der Versorgung mit Wasser, Gas und Strom über ein öffentliches Netz wird bei Grids Leistung nach Bedarf angefordert – in dem Umfang und zu dem Zeitpunkt, in dem diese benötigt wird.

Grid Computing verwendet vor allem brach liegende, nicht genutzte IT-Ressourcen, die geografisch weltweit verteilt sein können. Solche Ressourcen wie Rechner, Speicher, Netzwerke, Datenbanken, Archive, Messinstrumente oder Softwaredienste werden im Grid-Computing zu einer „ganzheitlichen Ressource“ verknüpft und nutzbar gemacht. IT-Betriebsmittel werden damit so leicht zugänglich und verfügbar gemacht wie Wasser, Gas und Strom.

Serie: Grid-Technologie

Teil 1

Grundlagen

Teil 2

Tools und Anwendungen

Höhere Serverauslastung durch Grids

Grids werden häufig in der Wissenschaft eingesetzt, um aufwändige Forschungsprojekte durch Vernetzung regional verteilter Server umzusetzen. In diesem Anwendungsgebiet liegt der Vorteil von Grids für Unternehmen in der optimierten Nutzung und Auslastung ihrer IT-Infrastruktur.

Hier gibt es hohes Optimierungspotential, denn die heutige Unternehmens-IT ist meist noch so organisiert wie Fabriken vor zwanzig Jahren - mit aufgeblähten Strukturen und viel Redundanz.

Während traditionelle Großrechner Nutzungsgrade zwischen 60 und 80 Prozent aufweisen, kommen RISC-Systeme auf Werte zwischen 30 und 40 Prozent und Server auf der Basis der Intel-Architektur nur auf eine Auslastung von 10 bis 15 Prozent. Grid-Computing soll hier für Abhilfe sorgen und IT-Prozesse optimieren. Damit ließen sich deutlich bessere Nutzungsgrade von Hardware und Software erreichen.

Grids in der Wissenschaft

Grid-Anwendungen in der Physik

Derzeit wird Grid Computing vor allem für spezielle technisch-wissenschaftliche Anwendungen eingesetzt. Hier werden vor allem Probleme bearbeitet, deren Untersuchung mit klassischen Mitteln der Informatik nicht möglich ist. In der Klimaforschung, der Molekularbiologie, der Genforschung, der Teilchenphysik und der Computermedizin kommen Wissenschaftler immer häufiger an die Grenzen ihrer IT-Ressourcen. Die Gründe sind die explodierende Datenflut und die immer mehr Rechenleistung verschlingenden Anwendungen. Zudem müssen meist große räumliche Distanzen bei Gemeinschaftsprojekten überwunden werden.

Grids versprechen für die globale wissenschaftliche Zusammenarbeit auf Gebieten mit rechenintensiven Problemen und großen Datenmengen eine Lösung. Für diese Vision hat sich der Begriff „E-Science“ („E“ steht hier für „extented“ oder „enhanced“) etabliert durchgesetzt.

Pionier und Vorzeigebeispiel für die Entwicklung und Nutzung der Grid-Technologie ist das Kernforschungszentrum CERN in Genf. Deren weltweit vernetzte Forschergruppen mit ihren komplexen Rechner- und Auswerteressourcen profitieren enorm von Grids.

Das weltweit größte Grid wird derzeit am CERN mit dem Large Hadron Collider Computing Grid (LCG) für die im Jahre 2007 beginnenden Experimente aufgebaut. Das LCG besteht aus mehr als 100 Standorten in 31 Ländern mit den dortigen Universitäten und Forschungseinrichtungen. Dabei verfügt dieses Grid über mehr als 10.000 CPUs und insgesamt etwa 10 Millionen Gigabyte Speicherplatz.

Grid-Anwendungen in der Astronomie

In der Radioastronomie stößt man mit Hilfe von Grids in bisher nicht erkennbare Bereiche vor. Bekanntestes Beispiel für die neuen Möglichkeiten ist das Radioteleskop LOFAR (LOw Frequency ARray, http://www.astron.nl, http://www.ivoa.net), das sich in den Niederlanden und Teilen Deutschlands im Bau befindet.

Da klassische physische Teleskope an mechanische Grenzen bei Stabilität und Genauigkeit gestoßen sind, geht man völlig neue Wege, indem 25.000 Radiosensoren auf einer Kreisfläche von 350 km Durchmesser verteilt werden. Diese werden über ein 10-Terabit/s-Netz mit einem Superrechner verbunden, in dem dann das Bild entsteht. Auf diese Weise wird eine Empfindlichkeit und Sehschärfe erreicht, die um den Faktor 1000 höher ist als bisherige Möglichkeiten.

Grid-Initiativen und -Projekte

Internationale Grid-Projekte

Weltweit gibt es eine stattliche Anzahl von Grid-Initiativen und -Projekten, die größtenteils von den einzelnen Regierungen unterstützt werden. Als gemeinsame Unternehmung von sechs europäischen Forschungsinstituten wurde das von der EU geförderte Computerprojekt DataGrid ins Leben gerufen. Das vom CERN geleitete Computernetzwerk verbindet Rechenzentren aus verschiedenen Ländern Europas miteinander und soll Forschern helfen, die riesige Menge an Daten auszuwerten, die bei ihren Experimenten anfallen.

Zugeschnitten auf Wirtschafts- und Industriebedürfnisse ist das EU-geförderte Nextgrid-Projekt. Dieses Vorhaben soll bis 2010 eine Grid-Architektur für kommerzielle Anforderungen liefern. Partner auf diesem Weg sind Intel, Fujitsu Siemens, NEC, Microsoft, SAP, T-Systems, HP Invent Europe und das Forschungszentrum Jülich.

Zu den national geförderten Aktivitäten zählen das „Cyberinfrastructure“- Programm der USA, NorduGrid in Schweden, DutchGrid und das Virtual Laboratory for e-Science

Nationale Grid-Projkte

In Deutschland ist Grid Computing noch weitgehend Niemandsland. Zumindest einige Wissenschaftler und die Bundesregierung haben die Zeichen der Zeit erkannt. 2003 wurde vom Bundesforschungsministerium die D-Grid-Initiative ins Leben gerufen, ein Projekt zur Förderung eines Grid-basierten e-Science-Frameworks in Deutschland.

Einige Teilprojekte laufen bereits. Um nur einige Beispiele zu nennen: Im HEP Community-Grid werden Anwendungen und Komponenten zur Datenauswertung in der Hochenergiephysik entwickelt. Das ASTRO-Grid Projekt vereint die astronomischen und astrophysikalischen Wissenschaftsinstitutionen in eine bundesweite Forschungs-Organisationsstruktur für verteiltes kollaboratives Arbeiten. Im Projekt INGRID soll eine Grid-Umgebung für ingenieurwissenschaftliche Anwendungen erstellt werden. Sie soll die Modellierung, Simulation und Optimierung für Anwendungen aus der Gießereitechnik, Umformtechnik, Grundwasserströmung, Turbinensimulation und Strömungs- und Strukturmechanik ermöglichen.

Weitere Grid-Initiativen finden Sie beim E-Science Forum. Eine ausführliche, sehr übersichtliche deutschsprachige Liste mit Grid-Projekten aus verschiedenen Wissenschaftsdisziplinen finden Sie hier. Weitere Übersichten finden Sie hier (http://distributedcomputing.info/) und hier (http://www.altes-beckhaus.com/cf/wiki/index.php?title=Crunching_Family:Portal).

Grid-Architektur

Grundlagen der Grid-Architektur

Wie funktioniert ein Grid? Um ein funktionierendes Gridsystem zu entwickeln sind mehrere Zwischenstufen notwendig. Die reine Vernetzung und Aggregation der Rechenleistung ergibt noch keine Grid-Architektur, sondern entspräche lediglich einem Clustersystem.

Abstrakt gesprochen werden in einem Grid über eine Grid-Software alle verteilten Ressourcen verbunden. Dies sind kleinste Software-Sensoren, die in den einzelnen Ressourcen sitzen. Sie überwachen diese und versorgen sie gegebenenfalls mit Aufträgen. Die Sensoren - und damit die Ressourcen selbst - sind mit einem Master oder Ressourcen-Broker verbunden, der sämtliche Informationen aller verfügbaren Ressourcen in einem Katalog speichert und permanent aktualisiert. Außerdem nimmt er die eingehenden Rechenaufträge entgegen und leitet sie an einen geeigneten, verfügbaren Rechner im Grid weiter.

Andere Komponenten der Grid-Software-Architektur sorgen nun dafür, dass das Grid mit einem Sicherheitssystem ausgestattet ist, so dass nur autorisierte Benutzer vom Grid akzeptiert werden. Weitere Dienste ermöglichen den Zugriff auf die Anwendungen und die Daten des Benutzers, die irgendwo im Grid verteilt sein können, oder sie sorgen nach erfolgreicher Arbeit für die gewünschte Bereitstellung der Ergebnisse.

Aufbau der Grid-Architektur I

Der Aufbau eines Gridsystems ist in Schichten unterteilt und an das OSI-Modell angelehnt. Die folgende Abbildung stellt die verschiedenen Schichten und Protokolle eines Grids im Vergleich zum Aufbau des Internet dar.

Die unterste Schicht – die Fabrik Layer – ist dafür zuständig, dass die unterschiedlichsten lokalen Ressourcen genutzt werden können. Dazu gehören Ressourcen wie Rechenleistung, Speicher, Sensoren Dateisysteme, Datenbanken oder digitale Bibliotheken. Die Fabrik Schicht realisiert eine Hardware- und Dienstunabhängigkeit, indem sie den darüber liegenden Schichten eine einheitliche Schnittstelle für den Zugriff auf die verschiedenen Ressourcen bereitstellt.

Die nächste Schicht, der Connectivity Layer, übernimmt die Kommunikation zwischen heterogenen Systemen. Hier werden Kommunikations- und Authentifizierungsprotokolle für die Netztransaktionen festgelegt. Zu den Aufgaben der Kommunikationsprotokolle gehören Transport, Routing und Adressierung.

In der nächst höher gelegenen Resource-Schicht liegen die Ressourcen, wie Hardware, Speicher und die Rechenkapazitäten. Die Ressource Layer ist für sichere Verhandlungen und zum Initiieren und Überwachen zuständig.

Aufbau der Grid-Architektur II

Während die Resource-Schicht für einzelne Ressourcen zuständig ist, steuert die darüber liegende Collective-Schicht die Verwendung ganzer Ressourcensammlungen. Mit Hilfe der Protokolle und Dienste dieser Schicht wird eine effiziente und zuverlässige Bearbeitung der Aufgaben durch Nutzung mehrerer Ressourcen unterstützt.

In der obersten Schicht befinden sich die Applikationen und Dienste für den Anwender. Die Application Layer stellt die Grid-Applikationen dar. Grid-Dienste sind die Management Funktionen, wie zum Beispiel Accounting, Abrechnungs- und Monitoringfunktionen. Nur durch diese Funktionen lassen sich die Ressourcen sicher verteilen.

Die eigentliche Intelligenz des Grid sitzt in der Middleware. In dieser Schicht werden die Protokolle und Kontrollinstrumente des Grid bereitgestellt.

Grid-Standards - Grundlagen

Damit die unterschiedlichsten Ressourcen in dem verteilten System zusammenarbeiten können, werden gemeinsame Protokolle verwendet. Die Protokolle müssen frei und standardisiert sein um das Erstellen von Grid-Anwendungen zu erleichtern.

Hinsichtlich der Standards und Protokolle ist beim Grid-Computing derzeit noch einiges im Fluss. Vor allem zwei Institutionen spielen hier eine Rolle: Das Global Grid Forum und OASIS.

Das Global Grid Forum (GGF) ist das bedeutendste Konsortium, das einheitliche Grid-Standards und Empfehlungen herausgibt. Im GGF arbeiten über 400 Organisationen aus mehr als 50 Ländern zusammen, über 25 Arbeitsgruppen erarbeiten Grid-Standards und -Spezifikationen in verschiedenen Bereichen.

Der wichtigste GGF-Standard ist die 2002 eingeführte Open Grid Service Architecture (OGSA). Die Architektur beschreibt den Bauplan zum Aufbau einer Grid-fähigen Infrastruktur.

OGSA-Standards

Bei OGSA werden bewährte Standards wie http, XML, SOAP und WSDL als Grundlage genutzt. Die unterste Schicht ist bei OGSA die Ressource Schicht. Sie besteht aus den physikalischen Ressourcen wie Server, Speicher oder Netzwerke, die von mehreren logischen Ressourcen wie Datenbanken oder Verzeichnissen benutzt werden können.

Diese Ressourcen werden der nächsten Schicht durch Web Services repräsentiert. Mit der Verwendung von Web Services erhält man über die Web Services Description Language (WSDL) Standardmechanismen zur Definition von Schnittstellen - unabhängig von der Implementation oder von den Protokollen, die für den Aufruf verwendet werden. So ist ein einheitlicher Aufruf der verschiedenen Implementierungen eines Dienstes möglich.

Für den Einsatz im Grid muss jedoch auch die Interaktion zwischen den einzelnen Services standardisiert sein. Dafür werden Grid Services verwendet – eine spezielle Form von Web Services, die sich an bestimmte Konventionen bei der Client-Interaktion halten und definierte Schnittstellen zur Verfügung stellen.

OGSA-Architektur

Eine wichtige Schnittstelle zu den Web Services bildet die Open Grid Service Infrastructure (OGSI). Sie macht Web Services erst zu Grid Services, indem sie die Dienste und ihr Zusammenspiel im Einzelnen definiert. Damit wird einheitliches Verhalten und Interaktion mit allen Grid Diensten sichergestellt.

OGSI legt dabei die Grid Services als „Stateful Web Services“ fest und deckt unter anderem Lebenszeitverwaltung, Dienste-Daten und Dienste-Gruppen sowie Schnittstellen-Definitionen ab. Dabei verwendet OGSI gleiche oder ähnliche Entwurfmuster, wie sie aus der objektorientierten Programmierung bekannt sind.

Die nächste OGSA-Schicht, die Architected Services Schicht, baut auf die Web Service Schicht mit der OGSI-Erweiterung auf und wird von höher geordneten Services genutzt. Dazu gehören Kerndienste wie ein Servicemanagement für die Verwaltung der Dienste. Ganz oben in OGSA befinden sich dann die Applikationen.

OGSA/OGSI in der Kritik

OGSA und OGSI sind nicht unumstritten. Zwar werden beide Standards von der Grid-Community akzeptiert, nicht aber von der Web-Service-Gemeinschaft, für die OGSA und Web Services nicht konvergent sind. Der Web-Service-Community gehen die Änderungen an den Web Service-Spezifikationen wesentlich zu weit.

Die Kritik an OGSI betrifft insbesondere die mangelnde Kooperation mit den existierenden XML- und Web-Service-Systemwerkzeugen und der ungenügenden Harmonie mit den Web-Service-Spezifikationen.

Diese Kritik an OGSI hat zur Entwicklung des alternativen Standards WSRF (Web Services Resource Framework) mit besserer Web-Service-Kompatibilität und –Integration geführt. Für diesen Standard zeichnet das Standardisierungs-Gremium OASIS verantwortlich - die Public Review Drafts von OASIS datieren von Juni 2005 (http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrf).

Die „Stateful Web Services“ von OSGI werden bei WSRF durch gewöhnliche Web Services ersetzt, die jetzt aber auf „Stateful Resources“ zugreifen. Die Grid-Dienste des OGSA-Modells werden somit durch gewöhnliche Web Services realisiert. Mit WSRF wurde ein vorläufiger Konvergenzpunkt der Grid- und WS-Standardisierungsentwicklungen erreicht.

Ausblick

Im zweiten Teil der Serie „ Grid-Technologie: Grundlagen, Dienste und Tools“ widmen wir uns den Diensten und Tools für das Grid-Computing. Dazu erläutern wir unter anderem die Grid-Software „Globus Toolkit“ und andere Grid-Computing-Tools. Zusätzlich stellen wir die wichtigsten Grid-Technologien namhafter Unternehmen wie IBM, HP, Oracle und Sun detailliert vor. (hal)

Serie: Grid-Technologie

Teil 1

Grundlagen

Teil 2

Tools und Anwendungen