Das World Wide Web ist ein verteiltes System in dem
Informationen
unter den Nutzern geteilt werden. Grid Computing stellt in diesem
Zusammenhang den nächsten Schritt da. Der Ansatz, der hierbei
verfolgt wird, ist das nicht nur die Informationen selbst untereinander
geteilt werden, sondern zusätzlich auch die Ressourcen, die
dem
Einzelnen zur Verfügung stehen.
Grid Computing beschreibt demnach nicht eine neue Variante des
Internets, sondern ist als Konzept zu verstehen, nach dem die
Zusammenarbeit von unterschiedlichen Gruppen durch Teilen ihrer
Ressourcen verbessert wird.
Zum besseren Verständnis sind diese Definitionen zur Trennung der Begrifflichkeiten:
Internet:
Das Internet ist eine Infrastruktur bestehend aus Netzwerkverbindungen
und standardisierten Protokollen, um Daten zwischen beliebigen
Geräten und beliebigen Distanzen auszutauschen.
Web:
Das World Wide Web erlaubt den beliebigen und weltweiten Zugriff auf
Informationen. Es bedient sich des Internets als Transportmedium.
Grid:
Das Grid erlaubt den beliebigen und weltweiten Zugriff auf alle Arten
von Ressourcen. Dabei wird ebenfalls das Internet als Transportmedium
genutzt. Das Grid ist somit eine Verallgemeinerung des Web, indem die
zugreifbaren Ressourcen auf Rechnerleistung, Daten, Sensoren, Anlagen,
Services usw. erweitert werden.
Die ersten Ansätze des Grid Computings und die Idee
des
organisations übergreifenden Teiles von Computerressourcen zur
Bewältigung besonders rechenintensiver Probleme stammt aus der
wissenschaftlichen Gemeinschaft und hatten Anfang der 90er Jahre ihren
Ursprung im heutigen Sinne in den Universitäten der USA. Die
Forschungseinrichtungen hatten zur Auswertung ihrer wissenschaftlichen
Daten oder zur Berechnung aufwendiger Simulationen Rechenzentren zur
Verfügung, in denen diese Berechnungen lokal abliefen.
Durch ein immer stärker ansteigendes Datenvolumen und somit
auch
einen gestiegenen Bedarf an Rechenleistung zur Verarbeitung dieser
Daten, mussten Wege gefunden werden, um eine kostenminimale Erweiterung
der bestehenden Ressourcen zu erreichen.
Dazu wurden mehrer Rechenzentren unterschiedlicher Standorte
über
das Internet so verknüpft, dass sich ihre Rechenleistung
kumulierte, wobei die lokalen Rechencluster als Knoten in dem
entstandenen Grid arbeiteten (Meta Computing - ein Cluster aus Clustern). Darüber hinaus konnte die
Gesamtleistung durch dynamisches Anbinden nicht ausgelasteter Server
anderer Bereiche erhöht werden.
Als Motivation für Grid Computing gibt es daher eine Reihe wichtiger Punkte. Die Verbesserung der Zusammenarbeit ist in vielen Bereichen mit großen Vorteilen verbunden. Einerseits kann die Anschaffung eigener Ressourcen umgangen werden, wenn man in der Lage ist bereits bestehende Ressourcen eines Partners zu nutzen, andererseits kann die Entwicklungszeit eines Projekts durch das Teilen der eigenen Ressourcen mit den beteiligten Partnern verkürzt werden. Neben der verbesserten Zusammenarbeit ist das Nutzen von nicht ausgelasteten Ressourcen zur Erweiterung der eigenen Kapazitäten ein Vorteil der sich durch Grid Computing ergibt. Hierbei wird hauptsächlich die Wirtschaftlichkeit dieser Ressourcen verbessert, da nicht genutzte Kapazitäten verwendet werden.
Zusammenarbeit muss jedoch in einem geregelten Rahmen stattfinden, wobei Sicherheitsaspekte und Verlässlichkeit eine große Rolle spielen. Ähnlich wie beim Web mussten offene Standards gefunden werden, die eine verlässliche Adaptation der Technologie und eine Grundlage zur Zusammenarbeit sicher stellten, um Grid Computing für die breite Masse der Wissenschaftler und für die Wirtschaft zu ermöglichen. Die wichtigste Institution auf diesem Wege ist das Open Grid Forum, welches die Verabschiedung von Standards und die Bündelung des Wissens der Grid Gemeinschaft als Ziele hat. Die Umsetzung dieser Standards wird unter anderem durch die Globus Alliance vorangetrieben, die mit dem Globus Toolkit ein freies Framework zur Entwicklung von Grid Software zur Verfügung stellt.
[top]
Eine virtuelle Organisation ist eine Vereinigung von Personen,
Institutionen, Unternehmen und realen Organisationen, die, verbunden
durch ihre gemeinsamen Interessen, beschließen durch Teilen
ihrer Ressourcen untereinander Probleme kooperativ zu lösen.
Eine virtuelle Organisation kann nur
vorübergehend bestehen und/oder veränderbar sein.
Virtuelle
Organisationen werden über dynamische Beziehungen
untereinander
wie etwa Rollen und Zugangsrechte definiert, die Beteiligungen von
(realen oder virtuellen) Teilnehmern festlegen. Der meist
projektbezogene Charakter einer virtuellen Organisation bedingt ihre
Struktur und Lebenszeit.
In Anlehnung an das Stromnetz (Power Grid) ist der Begriff des Grid Computings geprägt worden. Dem Nutzer ist dabei die Technik, der Aufbau und Kapazität des Abgebots egal, solange die von ihm gestellten Ansprüche befriedigt werden. Dieser Vergleich ist allerdings nicht ganz korrekt, da der Nutzer durch das Teilen seiner eigenen Ressourcen aktiv an der Bereitstellung des Angebots teilnehmen kann.
Das Grid Konzept beschreibt vielmehr die Möglichkeit über
das Internet auf
Ressourcen ohne zentrale
Organisation dynamisch zugreifen zu können. Der Begriff
Grid kann dabei als Gitter verstanden
werden, in dem die unterschiedlichen Ressourcentypen skalierbar
abgebildet werden.
Als Ressourcen kommen dabei unter anderem Rechner, Datenbanken,
Applikationen, Sensoren und Versuchsanlagen in Frage. Die
Problemstellung bedingt dabei die Ausprägung des
Grids.
Ein Grid ermöglicht, je nach Ausprägung, die
Interoperabilität innerhalb einer dynamischen und heterogenen
Gemeinschaft von virtuellen Organisationen. Jede an einem Grid
beteiligte virtuelle Organisation kann ihre Ressourcen anbieten und
über die Nutzung fremder Ressourcen mit anderen virtuellen
Organisationen des Grids verhandeln. Ein Grid ist heterogen, da die
an ihr beteiligten virtuellen Organisationen unterschiedliche
Hardware-, Netzwerk-, Basis- und Anwendungs-Software verwenden
können. Des Weiteren ist die Beziehung zwischen virtuellen
Organisationen von unterschiedlichem Vertrauen geprägt, und
der
Zugang zu Ressourcen unterliegt unterschiedlichen Nutzungsbedingungen (z.B.
Kosten, Zuständigkeiten und Berechtigungen).
Als wichtige Merkmale eines Grids lassen sich folgende Punkte
aufführen (3-Punkte-Checkliste nach Ian Foster) :
Koordinierung von Ressourcen, die nicht einer zentralen Kontrollinstanz unterliegen. Ein Grid intergriert und koordiniert Ressourcen und Benutzer, die sich in unterschiedlichen Kontrolldomänen befinden.
Die Verwendung von offenen, standardisierten und universell einsetzbaren Protokollen und Schnittstellen.
Als grobe Untergliederung lassen sich fünf Ausprägungen von Grids einteilen:
Computing Grids:
Sie geben einem Benutzer die Möglichkeit verteilte
Rechenleistung
zu beziehen, die er lokal nicht zur Verfügung hat. Bei diesem
verteilten Rechen läuft die Anwendungen des Benutzers auf
Rechnern
verschiedenster Standorte, um beispielsweise ungenutzte
Rechnerkapazitäten auszulasten oder zur Lösung eines
besonders rechenintensiven Problems beizutragen.
Data-Grids:
Sie stellen große Mengen von Daten für die
gemeinsame
Nutzung und Verarbeitung zur Verfügung. Entscheidend ist
hierbei,
dass die Daten und deren Organisation nicht zentral gesteuert werden,
sondern jeder Teilnehmer die Hoheit über die von ihm zur
Verfügung gestellten Daten behält. Data Grids liegen
demnach
ein dezentrales Management und eine organisations- und ortsungebundene
Sicht auf die Daten zu Grunde.
Application-Grids:
Sie stellen den ersten Schritt zu einer
virtuellen Organisation da. Ziel ist es eine
organisationsübergreifende Auslastung von Ressourcen und eine
breites Angebot für den Nutzer, wobei der universelle Zugriff
auf bestimmte Anwendungen im Vordergrund steht. Wichtige Aspekte sind
hierbei die schnelle Übertragung von Daten, Authentisierung
und
Autorisierung, um einen geregelten Zugriff auf die angebotenen
Anwendungen zu erreichen. Das Application-Grid zeichnet sich dabei
meist durch eine vertikale Organisation aus, bei der eine
individuelle Integration der einzelnen Komponenten erfolgt.
Ressourcen-Grids:
Der nächste
Schritt ausgehend vom Application-Grid, ist die Einführung
eines
Rollenmodells. Ein Ressourcen-Grid unterscheidet dabei die Rollen des
Grid-Nutzers, des Grid-Providers und des Ressourcen-Providers. Dabei
greift der Grid-Nutzer auf die Infrastruktur des Grid-Providers zu
und nutzt dabei die vom Ressourcen-Provider angebotenen Ressourcen. Der
kozeptionelle Unterschied zum Application-Grid besteht darin, dass
durch Offenlegung der definierten
Schnittstellen und Beschreibung des Angebots in Form von
Spezifikationen, jeder Ressourcen-Provider sicherstellen muss,
welchen
Anforderungen seine Ressourcen genügen müssen, um im
Grid
des Grid-Providers angeboten werden zu können.
Service-Grids:
Bei einem
Service-Grid werden die Technik des Ressourcen-Grids mit dem Konzept
der nutzerorientierten Services kombiniert. Ein Service-Grid besteht
in der Regel aus mehreren Komponenten, von denen jede von einem
Ressourcen-Provider bereitgestellt werden kann. Im Unterschied zum
Ressourcen-Grid werden hier die Ressourcen-Provider nicht mehr
gegenüber dem Grid-Nutzer exponiert, so dass der Aufbau des
Grids für den Nutzer weitestgehend transparent bleibt
(Virtualisierung von Ressourcen durch Services).
Grid Computing ist die Vereinigung mehrerer bereits
bestehender Teildisziplinen, wobei je nach Bedarf der Schwerpunkt
unterschiedlich ausgeprägt sein kann oder nur eine
Auswahl der möglichen Komponenten verwirklicht wird.
Verteiltes und/oder paralleles Rechnen (distributed/parallel
computing), Clustering und High-Performance-Computing, Peer to Peer
Netzwerke, Outsourcing von Datenbanken und Anwendungen durch
Bereitstellung von Services und Virtualisierung sind im Bezug auf Grid
Computing als Teildisziplinen zu verstehen.
Vergleich
von Cluster und Grid:
Die Supercomputer der Top500
Liste sind meist als Cluster organisiert. Ein Cluster besitzt
zur Bearbeitung seiner Aufgaben eine zentrale Steuerungsinstanz, die
über alle angebundenen Hosts die Kontrolle besitzt. Der
Systemstatus, der Status der Useranfragen und die Kontrolle
über die einzelnen Komponenten obliegen dieser
Steuerungsinstanz. Homogene Cluster bestehen dabei meist aus
identischen Einzelkomponenten, die alle mit dem gleichen Betriebssystem
laufen. Heterogene Cluster sind ein Verbund unterschiedlicher
Komponenten und Betriebssysteme. Meist werden Cluster in einer
Lokalität als sog. Rechnerfarm eingerichtet.
Im Vergleich zum Grid ist der entscheidende Unterschied, dass die
Kontrolle der Hosts und die Zuteilung von Aufgaben zentral
erfolgt. Weiterhin sind die verwendeten Protokolle und Schnittstellen
meist für den Zweck ihrer Verwendung spezialisiert und sind
daher nicht universell einsetzbar. Durch Einrichten einer offenen und
standardisierten Architektur lassen sich Cluster jedoch
hervorragend als Knotenpunkte in einem Grid verwenden, sodass sie die
Rolle eines Ressourcen-Providers übernehmen.
Web Services und Grid Services:
Web Services stellen Dienste bereit, die über das Internt
Informationen an Anwendungen liefern. Dabei werden automatisch Daten
ausgetauscht und/oder Funktionen auf entfernten Rechnern
aufgerufen.
Das Web Service Modell basiert im wesentlichen auf drei
Basistechnologien: WSDL (Web Service Description Language), UDDI
(Universal Discription Discovery and Integration) und SOAP (ehemals Simple
Object Access Protocol). Mit diesen Technologien wird die Grundlage
für die Anwendungskommunikation durch Dienste geschaffen: Finden
eines Dienstes, Binden des Dienstes an den Anfragenden und
anschließend der Datenaustausch.
Damit ein Web Service zu einem Grid Service wird, muss dessen Erreichbarkeit in das Grid Modell integriert werden. Dazu werden sog. Grid Services Handles geschaffen, die eine konstante Erreichbarkeit auf die Service Instanz definieren. Die Auflösung dieses Service Handles zu einer Service Referenz wird dann im Sinne einer URI Auflösung vollzogen, wobei aus der Perspektive des Benutzers stehts die gleiche Serviceinstanz angesprochen wird.
[top]