zur Gliederung

Einleitung


[Beschreibung] ... [Virtuelle Organisation] ... [Was ist ein Grid] ... [Was ist Grid Computing] ... [weiter]

Beschreibung des Themas : Grid Computing

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]

Die virtuelle Organisation VO

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. 

[top]

Was ist ein Grid - Das Grid als Konzept

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) :

  1. Koordinierung von Ressourcen, die nicht einer zentralen Kontrollinstanz unterliegen. Ein Grid intergriert und koordiniert Ressourcen und Benutzer, die sich in unterschiedlichen Kontrolldomänen befinden. 

  2. Die Verwendung von offenen, standardisierten und universell einsetzbaren Protokollen und Schnittstellen.

  3. Das Bereitstellen nicht trivialer Servicequalität (QoS). Ein Grid verlangt, dass seine zur Verfügung stehenden Ressourcen in einer koordinierten Art und Weise benutzt werden, um die verschiedenen Servicequalitäten liefern zu können. Im Bezug auf Antwortzeit, Durchsatz, Verwendbarkeit, Umverteilung und Sicherheit stellen die Komponenten des kombinierten Systems einen erheblich grösseren Nutzen da, als die Summe seiner Teile.

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).

Der Service-Provider stellt dabei eine Generalisierung des Grid-Providers da, indem er für den Aufbau des Gesamtservice verantwortlich ist und die Ressourcen-Provider auswählt. Jede virtuelle Organisation kann in diesem Sinne Nutzer und Ressourcen-Provider gleichzeitig sein.

Beispielhafter Aufbau eines Service Grids:
servicegrid

[top]

Was ist Grid Computing - Abgrenzung zu konventionellen Techniken

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]