Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf bitte mit, ihn zu verbessern, und entferne anschließend diese Markierung. |
Das Konzept des Grid-Computing [ˈgɹɪd kəmˈpjuːtɪŋ] wurde erstmalig Ende 1998 in dem Buch "The Grid: Blueprint for a New Computing Infrastructure" [1] vorgestellt. Bei einem Grid handelt es sich um eine Infrastruktur, die eine integrierte, gemeinschaftliche Verwendung von meist geographisch auseinander liegenden, autonomen Ressourcen erlaubt. Der Begriff Grid hat seinen Ursprung in dem Vergleich dieser Technologie zum Stromnetz (engl. power grid).
Inhaltsverzeichnis |
Der erste Versuch einer Definition stammt von Ian Foster und Carl Kesselman in dem Buch "The Grid: Blueprint for a New Computing Infrastructure"[1]:
“A computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive, and inexpensive access to high-end computational capabilities.”
„Ein Computational Grid ist eine Hardware- und Software-Infrastruktur, die einen zuverlässigen, konsistenten, von überall erreichbaren und preiswerten Zugriff auf die Kapazitäten von Hochleistungsrechnern ermöglicht.“
Da diese Definition vor der eigentlichen Entstehung von Grids verfasst wurde, wurde sie von Ian Foster in der zweiten Auflage des Buches[2] noch einmal deutlich verfeinert:
“The sharing that we are concerned with is not primarily file exchange but rather direct access to computers, software, data, and other resources, as is required by a range of collaborative problem-solving and resource-brokering strategies emerging in industry, science, and engineering. This sharing is, necessarily, highly controlled, with resource providers and consumers defining clearly and carefully just what is shared, who is allowed to share, and the conditions under which sharing occurs. A set of individuals and/or institutions defined by such sharing rules form what we call a virtual organization.”
„Die gemeinsame Nutzung von Ressourcen, mit der wir uns hier beschäftigen, ist nicht primär der Austausch von Dateien, sondern vielmehr der direkte Zugriff auf Computer, Software, Daten und andere Ressourcen, wie sie bei einer Reihe von kollaborativen, problemlösenden und Ressourcen vermittelnden Strategien benötigt werden, die zurzeit in Industrie, Wissenschaft und im Ingenieurwesen auftauchen. Diese gemeinsame Nutzung von Ressourcen ist, notwendigerweise, in einem Höchstmaß kontrolliert, wobei die Anbieter und Konsumenten der Ressourcen klar und eindeutig festlegen, welche Ressourcen geteilt werden, wem die gemeinsame Nutzung erlaubt ist, und unter welchen Bedingungen die gemeinsame Nutzung erfolgt. Eine Menge von Individuen und/oder Institutionen, die sich durch solche Richtlinien zur gemeinsamen Nutzung von Ressourcen ergeben, formen das, was wir eine Virtuelle Organisation nennen.“
Der wesentliche Unterschied zur ursprünglichen Definition ist, dass die gemeinsame Nutzung von Ressourcen durch Virtuelle Organisationen bestimmt wird. Diese spielen auch in den heutigen Implementationen des Grids eine zentrale Rolle. Auch werden nun nicht mehr nur Hochleistungsrechner als Ressource bezeichnet sondern allgemeine Ressourcen, wie beispielsweise physikalische Experimente.
Es gibt noch weitere Versuche einer einheitlichen Definition in der Literatur. (vgl. [3][4]).
Es geschieht häufig, dass Systeme, die in die Bereiche des Cluster computing, Peer to peer computing, Meta computing oder insbesondere ins Distributed computing (z.B. SETI@home) fallen, fälschlicherweise als Grid-Systeme bezeichnet werden. Diese weisen zwar Aspekte des Grid Computing auf, jedoch fehlen wesentliche Punkte um sie als Grid zu bezeichnen. Dieser Problematik hat sich Ian Foster in einer übersichtliche 3-Punkte-Checkliste [5] angenommen. Die Eigenschaften eines Grid-Systems werden in kurzen Worten wie folgt definiert:
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 mit Hochgeschwindigkeitsnetzen. In diesem Zusammenhang sind insbesondere die Projekte FAFNER und I-WAY zu nennen.
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. Der Benutzer übergibt seinen Auftrag über genormte Schnittstellen an das Grid, woraufhin die Ressourcenallokation automatisch erfolgt.
Das I-WAY-Projekt [8] (Information Wide Area Year) wurde im Jahr 1995 innerhalb der Gigabit-Testumgebung an der University of Illinois[9], in dem 17 Einrichtungen in den USA und Kanada zu einem Hochgeschwindigkeitsnetz zusammengeschlossen wurden, durchgeführt. Es hatte zur Aufgabe, verschiedene Supercomputer unter Verwendung existierender Netzwerke zu verbinden. I-WAY hat die Entwicklung des Globus Projektes in hohem Maße unterstützt.
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. [3]). 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.
Grob gesprochen lassen sich Grid-Computings unterteilen in Klassen, wie
Die Klasse des Computing grid ist vergleichbar mit dem Power grid, also dem Stromnetz: Dazu stellt der Verbraucher von Rechenleistung eine Verbindung zum Rechennetz her, ähnlich wie der Stromverbraucher zum Stromversorgungsnetz. Dort ist alles, was hinter der Steckdose passiert, für den Konsumenten verborgen, er nutzt einfach die angebotene Leistung.
In der Klasse des Data grid kooperieren nicht nur die (Hochleistungs-)Computersysteme der Beteiligten, um Rechenleistung zur Verfügung zu stellen, sondern auch Datenbestände werden verknüpft. Zugang zu solchen Grids bietet meist ein Grid-Portal.
Daneben wird auch die Bereitstellung von Netzwerkressourcen "gridifiziert", d. h. eine automatische Auswahl aus einem Pool von Ressourcen aufgrund bestimmter QoS-Parameter getroffen. Idealerweise sollte die Wahl der Ressourcen applikationsgetrieben, also abhängig von der Anwendung im Computing Grid oder Data Grid sein.
Zur Architektur eines Grid gibt es mehrere Konzepte. Jedem bekannten Konzept ist eigentümlich, dass es außer der nachfragenden Instanz und der von dort gestellten tatsächlichen Leistungsanforderung eine koordinierende Instanz für die Agglomeration von Rechenleistung und für die Zusammenführung der Teilleistungen geben muss. Außerdem ist eine strenge Hierarchie erforderlich, welche die Agglomeration von Rechenleistung nach objektiven Kriterien zulässt oder ausschließt. Jeder Computer in dem "Gitter" ist eine den anderen Computern zunächst hierarchisch gleichgestellte Einheit (Peer-2-Peer).
Die typischen Aufgaben, bei denen sich Grid-Computing als Strategie anbietet, sind solche, die die Leistung einzelner Computer überfordern. Dazu gehören beispielsweise die Integration, Auswertung und Darstellung von sehr großen Datenmengen aus der naturwissenschaftlichen und medizinischen Forschung. In der Routine werden die Techniken auch angewandt in der Meteorologie und rechenintensiven Simulationen in der Industrie. Insbesondere die Teilchenphysik mit Großexperimenten (z. B. der Large Hadron Collider) als naturwissenschaftliche Anwendung ist ein Vorreiter in der Weiterentwicklung und Etablierung von Grid-Technologien.
Die typischen Probleme, die Grid-Computing mit sich bringt, sind der steigende Aufwand als Teil der verfügbaren Leistung für die Koordination. Daher steigt die Rechenleistung wegen des Koordinationsaufwandes nie linear mit der Zahl der beteiligten Rechner. Dieser Aspekt tritt bei komplexen numerischen Aufgaben in den Hintergrund.
Eine mögliche Softwarearchitektur für Grids ist die von Ian Foster mitentwickelte Open Grid Service Architecture (OGSA). Diese wird in Ansätzen bereits in Ihrem Vorläufer, der Open Grid Services Infrastructure (OGSI), beschrieben. Deren Grundidee ist die Darstellung von beteiligten Komponenten (Rechner, Speicherplatz, Mikroskope, ...) als Grid-Services in einer offenen Komponentenarchitektur.
Mit der Konvergenz der Web-Services des W3C und des OGSA Standards des OGF wurden Grid-Services auf einer technischen Ebene, so wie sie beispielsweise im Globus Toolkit 4 implementiert sind, zu Web-Services, welche die technische Funktionalitäten der Grid-Middleware ermöglichen. OGSA schlägt in diesem Zusammenhang den Einsatz von WSRF (dem Web Services Resource Framework) als grundlegenden Baustein für Service-Grids vor. So bekommen die Webservices, deren Einsatz einheitliche Zugriffsverfahren auf die einzelnen Dienste eines Grids ermöglicht, zusätzlich noch einen Zustand: Sie werden mit statusbehafteten (engl. stateful) Ressourcen (Wie Dateien, Java-Objekten bzw. POJOs, Datensätzen in einer Datenbank) assoziiert. Dies ermöglicht es erst, Funktionalitäten auszuführen, die sich über mehrere Transaktionen erstrecken. Die Kombination eines Web-Services mit einer solchen statusbehafteten Ressource bildet eine sogenannte WS-Resource.
Ein zentrales und hardwareunabhängiges Konzept hinter der Grid-Philosophie ist das der virtuellen Organisationen (VO, siehe dort). Dabei werden Ressourcen (bzw. Services) dynamisch virtuellen Organisationen zugewiesen. Dies erfordert eine Infrastruktur, die Datensicherheit und Datenschutz wie auch Anonymität garantiert.
Praktisch gesehen benötigt man an Hardware nichts weiter als einen Computer mit einer Netzwerkverbindung. Auf diesen Grid-Computern übernimmt eine Software das Lösen einer Teilaufgabe, die ein - in der Regel zentraler - Server zur Verfügung stellt. Dieser Server benutzt Software, die eine große Aufgabe in eine Anzahl von Teilaufgaben für alle Knoten im Grid aufspalten kann und die Teilergebnisse wieder zusammenfasst.
Das im März 2006 zuendegegangene EGEE Projekt (Enabling Grids for E-sciencE, früher Enabling Grids for E-science in Europe) ist das größte Grid-Projekt der Europäischen Union, mittlerweile mit weltweitem Einsatzbereich. Unter dem Namen EGEE2 wird es seit April 2006 fortgesetzt. Das Projekt wurde in der ersten Projektphase von der EU mit 32 Millionen Euro gefördert und stellt die weltweit größte Grid-Infrastruktur dar.
Beteiligt sind unter anderen CERN (Schweiz), Forschungszentrum Karlsruhe (FZK, Deutschland), Rutherford Appleton Laboratory (RAL, Vereinigtes Königreich), Istituto Nazionale di Fisica Nucleare (INFN, Italien) und Academia Sinica (ASCC, Taiwan). Siehe auch: Enabling Grids for E-sciencE.
Building and Promoting a Linux-Based Operating System to Support Virtual Organizations for Next Generation Grids ist ein Projekt, welches im 6. Rahmenprogramm von der Europäischen Union gefördert wird. Neben 17 europäischen Projektpartnern sind auch zwei aus China an XtreemOS beteiligt. Es ist im Juli 2006 gestartet und soll vier Jahre lang laufen.
Wie in diversen anderen Ländern (z.B. US: Cyberinfrastructure, UK: UK e-Science / OMII, NL: BIG-Grid) gibt es auch in Deutschland und Österreich Grid Initiativen zum Aufbau einer nationalen Grid-Infrastruktur.