Grid-Middlewares & Übungssysteme

Ein Grid besteht im Wesentlich aus drei Elementen: den Grid-Ressourcen, der Grid-Middleware und den Anwendungen (siehe Architektur). Die Grid-Middleware implementiert damit die Funktionalität des Grids. Die Aufgabe der Grid-Middleware ist es den Anwendungen bzw. Nutzern einen Zugang zu den Grid-Ressourcen zu verschaffen und die Zusammenarbeit verschiedener Grid-Ressourcen zu organisieren. Die besondere Herausforderung ergibt sich dabei aus der Verteilung der Grid-Ressourcen sowohl räumlich als auch über Organisationsgrenzen hinweg.

Zu den typischen Aufgaben einer Grid-Middleware gehört es, passende Ressourcen für eine Nutzeranfrage zu finden, diese dem Nutzer zugänglich zu machen, die Nutzung zu überwachen, gegebenenfalls zu optimieren und schließlich deren Ergebnisse an den Nutzer zurückzuliefern. Im Fall eines Compute-Grids heißt dies, ein oder mehrere Rechner ausfindig zu machen auf denen eine Berechnung laufen kann, die Teile einer größeren Berechnung zu Verteilen, ggf. Daten für die Berechnung zu transportieren, die Berechnungen zu überwachen und Ergebnisse und/oder Fehler an den Nutzer zurück zu leiten. Im Idealfall soll durch die Verwendung einer Grid-Middleware die Vielzahl heterogener Ressourcen auf einheitliche Weise angesprochen und genutzt werden können. Anwendungen und Anwender sollen sich nicht mehr mit spezifischen Eigenschaften einzelner Ressourcen beschäftigen müssen, wie z.B. die Handhabung verschiedener Authentifizierungsmechanismen, verschiedener Batchsysteme oder verschiedene Möglichkeiten zum Transport großer Datenmengen. Derartige Probleme, die durch die Verteilung und Heterogenität der Ressourcen entstehen, sollte eine Grid-Middleware lösen. Die vollständige Transparenz der verwendeten Ressourcen wird heute jedoch meist noch nicht erreicht.


Eine wesentliche Aufgabe der Grid-Middleware ist es, den Zugriff auf Grid-Ressourcen, die oft von verschiedenen Organisationen bereitgestellt werden, abzusichern. Es müssen daher geeignete Authentifizierungs- und Autorisierungsmechanismen bereitgestellt werden. Viele Grid-Middlewares unterstützen daher die Authentifizierung mittels Zertifikaten (z.B. X.509) und erteilen nur eine zeitlich beschränkte Autorisierung für die Nutzung von Ressourcen. Andererseits sollen Anwendungen und Anwender aber auch Ressourcenanbieter nicht zu sehr durch Sicherheitsmechanismen eingeschränkt werden.


Es gibt Grid-Middleware die auf bestimmte Ressourcentypen spezialisiert ist aber auch Frameworks, die von Anwendern für ihre Aufgabe weitgehend angepasst werden können. Von der Vielzahl von existierenden Grid-Middlewares (http://gridcafe.web.cern.ch/gridcafe/gridprojects/middleware.html) werden hier entsprechend der Vorgaben des D-Grid nur folgende Middlewares betrachtet:

  • Das Globus Toolkit (GT) stellt eine Menge von open source Werkzeugen bereit auf deren Basis Grids und Grid-Applikationen erstellt werden können. Die Entwicklung des Globus Toolkit wird von der Globus Alliance koordiniert, wobei jedoch viele Projekte weltweit zum GT beitragen und beigetragen haben. (http://www.globus.org/)
  • UNICORE (Uniform Interface to Computing Resources) ist eine vollständige und sofort lauffähige Grid-Middleware. UNICORE besteht aus Software für Client- und Server-Systeme, die sowohl von Anwendern als auch Administratoren über eine GUI bedient werden kann. Entwickelt wird UNICORE federführend vom Supercomputing Center in Jülich. (http://www.unicore.eu/)
  • gLite ist eine Grid-Middleware die aus Entwicklungen für den Large Hadron Collider (LHC) bei der Europäischen Organisation für Kernforschung (CERN) hervorgegangen ist. Die Basis von gLite wurden in dem LCG-Projekt (LHC Computing Grid) entwickelt. Anschließend wurde gLite im Rahmen des EU-Projektes EGEE (Enabling Grids for E-sciencE) weitereentwickelt. Diese Arbeiten werden zurzeit im Projekt EGEE II fortgesetzt.
  • dCache ist eine Speicher-Grid-Middleware. dCache realisiert ein virtuelles Filesystem über unterschiedliche, verteilte Speichersysteme hinweg und ist auf den Austausch großer Datenmengen ausgelegt. Entwickelt wird dCache im Wesentlichen am Deutschen Elektronensynchrotron (DESY) in Hamburg. (http://www.dcache.org)