Grundlagen des Grid-Computing

Submitted by AlexanderWillner on Thu, 28/09/2006 - 09:59.

Grundlagen des Grid-Computing

1. De?nition

Bei einem Grid handelt es sich um eine Infrastruktur, die eine integrierte, gemeinschaftliche Verwendung von geographisch auseinander meist liegenden, autonomen Ressourcen erlaubt. Versuche einer einheitlichen De?nition in der Literatur gibt es jedoch viele (vgl.[12, 13, 14]). Dieser Problematik hat sich Ian Foster, einer der treibenden Mitbegründer der Grid-Technologie der Universität Chicago, angenommen und hat eine übersichtliche 3-Punkte-Checkliste[15] aufgestellt. Die Eigenschaften eines Grid-Systems werden in kurzen Worten wie folgt de?niert: Ein Grid...
  • ...koordiniert Ressourcen die nicht einer zentralen Instanz untergeordnet sind...
    Ein Grid koordiniert und integriert Ressourcen und Benutzer unterschiedlicher administrativer Domänen innerhalb des selben Unternehmens oder innerhalb unterschiedlicher Länder. In diesem Zusammenhang werden u.a. auf die Bereiche Sicherheit, Abrechnung und Mitgliedschaft Rücksicht genommen (vgl. [16, 17]). Ressourcen können in diesem Zusammenhang unter anderem Cluster, Massenspeicher, Datenbanken, Anwendungen oder Messgeräte sein.
  • ...und verwendet offene, standardisierte Protokolle und Schnittstellen,
    Ein Grid nutzt offene und allgemein gehaltene Protokolle und Schnittstellen, die grundsätzliche Funktionen für die Authenti?zierung, die Autorisierung, die Ressourcen-Ermittlung und den Ressourcen-Zugriff gewährleisten.
  • ...um nicht triviale Dienstgüten bereitzustellen.
    Ein Grid verwendet bestehende Ressourcen in einer koordinierten Art und Weise, um verschiedene Dienstgüten bereitzustellen, abhängig von beispielsweise der Antwortzeit, dem Durchsatz, der Erreichbarkeit oder Sicherheit. Oder es erfolgt, um komplexen Benutzererwartungen zu entsprechen, eine Neueinteilung mehrerer Ressourcentypen, damit der Nutzen des kombinierten Systems signi?kant größer ist als die Summe seiner Teile.
Diese De?nition ist hilfreich bei der Abgrenzung verschiedener Technologien zu einem Grid. So werden sehr häu?g Systeme die in die Bereiche des "Distributed computing", "Cluster computing", "Peer to peer computing" oder "Meta computing" fallen, fälschlicherweise als Grid-Systeme bezeichnet. Wenngleich viele Aspekte der genannten Technologien in einem Grid Anwendung ?nden.

2. Herkunft

Konzepte für die Verteilung rechenintensiver Aufgaben hat es bereits in den 60er Jahren gegeben. Die meisten der heutigen Forschungsarbeiten an Grid-Systemen haben ihren Ursprung jedoch in frühen Experimenten von Hochgeschwindigkeitsnetzen, wie etwa innerhalb der Gigabit-Testumgebung an der University of Illinois im Jahr 1992[18]. Insbesondere jedoch machte das I-Way-Experiment[19] im Jahre 1995, in dem 17 Einrichtungen in den USA und Kanada zu einem Hochgeschwindigkeitsnetz zusammengeschlossen wurden, die Grid-Technologie außerhalb des alleinigen Forschungsfeldes der Netzwerktechnik publik. Der Begriff "Grid" hat seinen Ursprung in dem Vergleich dieser Technologie zum Stromnetz (engl. "Power Grid"). Demnach soll das Grid einem Benutzer ebenso einfach Ressourcen wie z.B. Rechenleistung oder Speicherplatz über das Internet zur Verfügung stellen, wie es möglich ist Strom aus einer Steckdose zu beziehen (s. Tab. 1.1.).

EigenschaftStromnetzGrid
Infrastruktur Verbindung verschiedener Kraftwerke und Wandlerstationen über Stromleitungen Verbindung verschiedener Ressourcen über das Internet mit Hilfe offener Standards.
Transparenz Herkunft des Stroms für den Endnutzer unbedeutend. Herkunft der Ressource (z.B. Rechenleistung) unbedeutend.
Verfügbarkeit Eine sehr gute Infrastruktur des Stromnetzes ist durch die Anbindung fast aller Haushalte gegeben. Durch die Nutzung verschiedener Plattformen und des Internets ist eine sehr gute Infrastruktur gegeben.
Abrechnung Die Abrechnung erfolgt auf Grundlage der verwendeten Menge von Strom. Die Abrechnung erfolgt auf Grundlage der verwendeten Mengen an Ressourcen.
Tabelle 1.1.: Vergleich: Stromnetz und Grid. Angelehnt an [20].

3. Zielsetzung

Die motivierende Zielsetzung, die zu der Entwicklung der Grid-Technologie geführt hat, war die gemeinsame, koordinierte Nutzung von Ressourcen und die gemeinsame Lösung von Problemen innerhalb dynamischer, institutionsübergreifender, virtueller Organisationen (vgl. [13]). Das bedeutet, nach der Festlegung von Abrechnungsdaten und Rechten soll ein direkter Zugang zu beispielsweise Rechenleistungen, Anwendungen, Daten oder Instrumenten gemeinschaftlich ermöglicht werden. Eine virtuelle Organisation (VO) ist in diesem Zusammenhang ein dynamischer Zusammenschluss von Individuen und/oder Institutionen, die gemeinsame Ziele bei der Nutzung des Grids verfolgen. Zwar liegt der Fokus vieler Arbeiten im Bereich des verteilten Rechnens, dennoch ist oberstes Ziel, analog zu der Entstehung des Internets, die Entwicklung eines einheitlichen, globalen Grids. Dieses könnte in vielen Bereichen u.A. der Wissenschaft, Medizin und Lehre eingesetzt werden (vgl. [21, 20]).

4. Architektur

4.1. Einleitung

Das Ergebnis nach etwa einem Jahrzehnt der intensiven Forschung und Entwicklung von Grid-Technologien, war unter anderem ein Konsens über die Anforderungen und die Architektur eines Grids. Auch wurden offene Standardprotokolle zur Nachrichtenkommunikation und Steuerung entworfen, um eine Basis für weitere interoperable Entwicklungen zu schaffen. Die Bedeutung solch einer Grundlage wird in Abbildung 2.1 ersichtlich.

Konzeptioneller Aufbau eines Grids
Abbildung 2.1: Konzeptioneller Aufbau eines Grids [21]

Protokolle und Schnittstellen können abhängig von ihrer Funktion in verschiedene Kategorien eingeteilt werden. Die Architektur eines Grids wird daher häu?g funktional in verschiedene Ebenen aufgeteilt. Komponenten auf einer Schicht besitzen ähnliche Charakteristiken und können auf Fähigkeiten und Verhaltensweisen von tieferen Schichten aufbauen.

Fabric. Die unterste Ebene dient dazu, ein gemeinsames Interface auf alle denkbaren Arten von Ressourcen zur Verfügung zu stellen. Von höheren Schichten aus erfolgt der Zugriff über standardisierte Verfahren. Alle Ressourcen, auf die eine solche einheitlicheSchnittstelle anwendbar ist, können in das Grid-Konzept eingebunden werden. Dies beinhaltet Computer, Speichersysteme, Netzwerke oder Sensoren.

Resource and connectivity protocols. Die Verbindungsschicht de?niert die Grundkommunikations- und Authenti?kationsprotokolle, die für das Grid benötigt werden. Während die Kommunikationsprotokolle den Austausch von Daten zwischen verschiedenen, durch die erste Ebene verbundenen Ressourcen ermöglichen, erlauben die Authenti?kationsprotokolle eine Kommunikation vertraulich statt?nden zu lassen und die Identität der beiden Kommunikationspartner sicherzustellen. Hierzu gehören auch die Delegation von Rechten und Verfahren zur einmaligen Authenti?zierung (single sign-on). Auf der Ressourcenschicht wird der gemeinsame Zugriff auf einzelne Ressourcen organisiert. Dies beinhaltet die Initiierung, Beobachtung, Kontrolle, Abrechnung und die Verhandlung von Sicherheitsparametern. Ebenso werden Rechenressourcen zugewiesen, reserviert, beobachtet und gesteuert. Die OGSA [22] ist eine noch in der Entwicklung be?ndliche Architektur, die in vielen Grid-Projekten die Realisierung dieser Schicht übernimmt. Das Globus Toolkit 4 (GT4) stellt eine bekannte Implementierung der OGSA Spezi?kation dar und bietet Software-Dienste und Bibliotheken, um ein Grid nach der OGSA Spezi?kation zu realisieren (s.u.).

Collective services. Die Aufgabe dieser Schichte ist die Koordination mehrerer Res- sourcen. Der Zugriff auf die Ressourcen erfolgt hierbei nicht mehr direkt, sondern lediglich über die darunterliegenden Protokolle und Schnittstellen. Die Aufgaben dieser Ebene beinhaltet unter anderem die Erstellung eines Verzeichnisdienstes, die Bereitstellung von Monitoring-, Diagnose- und Datenreplikationsdiensten. Des Weiteren werden Grid taugliche Entwicklungssysteme zur Verfügung gestellt, um bekannte Programmiermodelle auch in der Grid-Umgebung verwenden zu können.

User applications. In dieser Schicht werden alle Anwendungen zusammengefasst, die in der Umgebung einer virtuellen Organisation operieren. Die Dienste der unterliegenden Schichten werden von Anwendungen aufgerufen und können Ressourcen transparent nutzen.

4.2. Globus Toolkit 4

Das Globus-Toolkit [23, 24] der Globus-Alliance ist eine Middleware für Grid-Systeme. Obwohl es sich noch in der Entwicklung be?ndet, setzen, wie auch das Instant-Grid- Projekt, fast alle größeren Grid-Projekte auf dieses Toolkit auf. Es wird daher als Referenzimplementierung der OGSA Spezi?kation in diesem Zusammenhang kurz beschrieben. Das Globus-Projekt entstand aus einer Zusammenarbeit der University of Chicago und der University of Southern California unter Beteiligung von IBM und der NASA. Es basiert u.a. auf auf den Erfahrungen anderer, zur Grid-Technologie verwandten, Projekte wie Condor[25], Codine / Sun Grid Engine[26], Legion[27], Nimrod[28] und Unicore[29]. Das GT4 bietet alle notwendigen Komponenten zur Umsetzung von Grid-Systemen. Dies beinhaltet Bereiche der Sicherheit und der Daten-, Ressourcen-, sowie Aufgabenverwaltung. Des Weiteren bietet es Schnittstellen und Bibliotheken für gängige Programmierumgebungen (s. Abb. 4.1).

Komponenten des Globus Toolkit 4
Abbildung 4.1: Komponenten des Globus Toolkit 4 [30]

Security. Dieser Bereich umfasst Maßnahmen zur Authenti?kation und Autorisierung von Benutzern und Ressourcen. Die Kommunikation zwischen den Beteiligten wird abgesichert und Funktionen zur Verwaltung von Benutzer- und Gruppenrechten werden zur Verfügung gestellt.

Data Management. Module in diesem Abschnitt ermöglichen es, verteilte Daten im Grid zu lokalisieren (RLS), zu verschieben (GridFTP, RTP, DRS) und zu verwalten (OGSA-DAI). Execution Management. Die Werkzeuge zur Ausführungsverwaltung befassen sich mit der Initialisierung, Beobachtung, Planung und Koordination von verteilten Aufgaben.

Information Services. Der Informationsdienst (MDS) und die zusammenhängenden Komponenten dienen der Überwachung und der Identi?kation von Ressourcen und Diensten im Grid.

Common Runtime. Die allgemeine Laufzeitumgebung dient der plattformunabhängigen Implementierung der oben genannten Dienste. Es werden Bibliotheken bereitgestellt die die Erstellung von Abstraktionsschichten vereinfachen und die Umsetzung von Funktionalitäten auf Basis von Web-Services (WSRF) bequem ermöglichen. Die Installation und Kon?guration des GT4 erfordert aufgrund seiner Komplexität ein hohes Maß an Fachkenntnis und einen deutlichen Zeitaufwand. Eine detaillierte Beschreibung des Vorgangs ?ndet sich unter anderem in [31, 32]. Einen einfachen Weg zur Demonstration des Toolkits schlägt das Instant-Grid-Projekt ein.

5. Literatur

  • [12] I. Foster and C. Kesselman, "The grid: Blueprint for a new computing infrastructure," Morgan Kaufmann, Tech. Rep., 1999.
  • [13] I. Foster, C. Kesselman, and S. Tuecke, "The anatomy of the Grid: Enabling scalable virtual organizations," Lecture Notes in Computer Science, vol. 2150, pp. 1–??, 2001, fetched on the 21st of September 2006. [Online]. Available: http: //citeseer.ist.psu.edu/foster01anatomy.html
  • [14] I. Foster, C. Kesselman, J. M. Nick, and S. Tuecke, "The physiology of the grid," IBM Corporation, Poughkeepie, NY 12601, Tech. Rep., June 2002.
  • [15] I. Foster, "What is the grid? a three point checklist," July 2002.
  • [16] I. Foster, C. Kesselman, G. Tsudik, and S. Tuecke, "A security architecture for computational grids," in ACM Conference on Computer and Communications Security, 1998, pp. 83–92, fetched on the 13rd of August 2006. [Online]. Available: http://citeseer.ist.psu.edu/foster98security.html
  • [17] M. Humphrey and M. Thompson, "Security implications of typical grid computing usage scenarios," in Proceedings of Intl Symposium on High Performance Distributed Computing. (HPDC), San Francisco, CA., August 2001, pp. 7–9.
  • [18] C. Catlett, "In search of gigabit applications," Communications Magazine, IEEE, vol. 30, no. 4, pp. 42–51, 1992.
  • [19] T. DeFanti, I. Foster, M. Papka, R. Stevens, and T. Kuhfuss, "Overview of the i-way: Widearea visual supercomputing," in International Journal of Supercomputer Applications, vol. 10, 1996, pp. 123–130.
  • [20] CERN - European Organization for Nuclear Research, "Gridcafé - a brief explanation of the grid," fetched on the 21st of September 2006. [Online]. Available: http://gridcafe.web.cern.ch/gridcafe
  • [21] I. Foster, "The Grid: A New Infrastructure for 21st Century Science," Physics Today, vol. 55, no. 2, pp. 42–47, 2002.
  • [22] P. Janson, J. Dayka, A. Nadalin, N. Nagaratnam, F. Siebenlist, V. Welch, I. Foster, and S. Tuecke, "The security architecture for open grid services," IBM Corporation, Zurich Research Lab, Switzerland and Mathematics and Computer Science Division, Argonne National Laboratory, Argonne, Tech. Rep., July 2002.
  • [23] I. Foster and C. Kesselman, "Globus: A metacomputing infrastructure toolkit," The International Journal of Supercomputer Applications and High Performance Computing, vol. 11, no. 2, pp. 115–128, Summer 1997, fetched on the 21st of September 2006. [Online]. Available: http://citeseer.ist.psu.edu/article/foster96globu.html
  • [24] I. Foster, "A globus primer," An Early and Incomplete Draft, August 2005.
  • [25] M. Litzkow, M. Livny, and M. Mutka, "Condor-a hunter of idle workstations," Distributed Computing Systems, 1988., 8th International Conference on, pp. 104–111, 1988.
  • [26] W. Gentzsch et al., "Sun Grid Engine: Towards Creating a Compute Power Grid," Proceedings of the First IEEE/ACM International Symposium on Cluster Computing and the Grid, 2002.
  • [27] A. Natrajan, A. Nguyen-Tuong, M. Humphrey, M. Herrick, B. Clarke, and A. Grimshaw, "The Legion Grid Portal," Concurrency and Computation: Practice and Experience, vol. 14, no. 13-15, pp. 1365–1394, 2002.
  • [28] R. Buyya, D. Abramson, and J. Giddy, "Nimrod/g: An architecture for a resource management and scheduling system in a global computational grid," in Proceedings of the HPC ASIA2000, the 4th International Conference on High Performance Computing in Asia-Paci?c Region, Beijing, China. IEEE Computer Society Press, USA, 2000.
  • [29] D. Erwin et al., "UNICORE: A Grid computing environment," Concurrency and Com- putation: Practice and Experience, vol. 14, no. 13-15, pp. 1395–1410, 2002.
  • [30] Globus Documentation Project, "The Globus Toolkit 4 Programmer’s Tutorial," fetched on the 21st of September 2006. [Online]. Available: http://gdp.globus.org/ gt4-tutorial
  • [31] ——, "GT4 Admin Guide," fetched on the 22nd of September 2006. [Online]. Available: http://www.globus.org/toolkit/docs/4.0/admin/docbook
  • [32] Leibniz-Rechenzentrum der Wissenschaften, "Installationsanleitung für Globus Toolkit 4.0.1," fetched on the 22nd of September 2006. [Online]. Available: http://www.grid.lrz.de/de/mware/globus/GT4InstallGuide1-0.html