Definition Was ist Grid Computing?

Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Nico Litzel

Beim Grid Computing stellen viele lose über Netzwerke miteinander verbundene Rechner ungenutzte Kapazität für Anwendungen mit hohem Ressourcenbedarf zur Verfügung. Die Rechnerausstattungen können sehr heterogen sein. Grid Computing kann Hochleistungsrechner ersetzen.

Anbieter zum Thema

(Bild: © aga7ta - stock.adobe.com)

Das Grid Computing ist eine besondere Form des verteilten Rechnens. Im Gegensatz zu einem Cluster sind die einzelnen Rechner eher lose gekoppelt und besitzen eine sehr heterogene, geografisch zerstreute Struktur. Über das Internet lassen sich eine Vielzahl von verschiedenen Rechnern für das Grid Computing zu einem virtuellen Hochleistungsrechner miteinander verbinden. Grid Computing lässt sich einsetzen, um rechen- oder speicherintensive Anwendungen aus der Forschung aber auch aus der Wirtschaft zu bedienen. Für die Verbindung der Rechner kommen in der Regel offene Standards und Schnittstellen zum Einsatz.

Die Grundlagen des Grid Computing entwickelten Ian Foster, Carl Kesselman und Steven Tuecke bereits im Jahr 2001. Im Gegensatz zu physischen Hochleistungsrechnern oder Rechner-Clustern kann die Rechenleistung beim Grid Computing oftmals sehr viel günstiger und ohne große Investitionen bereitgestellt werden. Um am Grid Computing teilzunehmen, ist auf den einzelnen Rechnern eine spezielle Software installiert. Die Verwaltung der vielen verschiedenen Rechner übernimmt eine Distributed Resource Manager (DRM). Ein Grid kann beispielsweise aus tausenden normalen Desktop PCs bestehen, die ihre ungenutzte Rechenleistung im Hintergrund dem Grid Computing bereitstellen. Grid Computing ist unter anderem im Big-Data-Umfeld einsetzbar, um rechenintensive Datenanalysen oder Datenoperationen durchzuführen. Es stellt eine Alternative zu konventionellen Data Warehouses dar.

Abgrenzung gegenüber Cluster Computing und Peer-to-Peer-Computing

Oftmals wird der Begriff Grid Computing auch im Zusammenhang mit Cluster Computing und Peer-to-Peer-Computing verwendet. Grid Computing lässt sich jedoch vom Cluster und Peer-to-Peer-Computing eindeutig abgrenzen. Für das Grid Computing müssen folgende drei Eigenschaften erfüllt sein. Das Grid koordiniert verteilte Ressourcen, die keiner zentralen Hierarchie unterworfen sind. Hierfür verwendet das Grid offene, standardisierte Protokolle. Der Nutzen der bereitgestellten Ressourcen und Dienste des Grid Computing ist signifikant größer als die Summe einzelner Teile.

Die Architektur des Grid Computing

Für das Grid Computing existieren unterschiedliche Architekturkonzepte. Alle Konzepte haben gemeinsam, dass es neben den verteilten Rechnern eine Instanz geben muss, die für die Koordination und die Agglomeration der Ressourcen sorgt. Die durch die einzelnen Rechner gelieferten Teilergebnisse führt diese Instanz zusammen und stellt sie der anfragenden Anwendung zur Verfügung. Die einzelnen Computer im Grid sind hierarchisch gleichgestellt und durch die koordinierende Instanz gesteuert. Mit der Anzahl an Computern steigt der Aufwand für die Koordination. Dies ist der Grund dafür, dass sich die Leistungsfähigkeit eines Grids nicht linear mit der Anzahl der Rechner steigern lässt.

Eine mögliche Architektur ist die sogenannte Open Grid Services Architecture (OGSA). Sie verfolgt die Grundidee, die beteiligten Komponenten in einer offenen Komponentenarchitektur darzustellen. Hierfür verwendet OGSA ein Web Services Resource Framework (WSRF) als Basisbaustein des Grids.

Die verschiedenen Arten des Grid Computing

Abhängig von den Anwendungsszenarien, die das Grid Computing bedienen soll, und von den miteinander verbundenen Ressourcen existieren unterschiedliche Arten des Grid Computing. Folgende fünf Arten können unterschieden werden:

  • Die Compute Grids (Rechengrids),
  • die Data Grids,
  • die Application Grids,
  • die Resource Grids und
  • die Service Grids.

Compute Grids (Rechengrids) stellen dem User oder der Anwendung verteilte Rechenleistung zur Verfügung, mit der rechenintensive Aufgaben ausführbar sind. Data Grids ermöglichen die gemeinsame Nutzung von großen verteilten Datenmengen. Die Kontrolle über die Daten behält diejenige Instanz, die sie bereitstellt. In einem Application Grid stellen die gekoppelten Systeme übergreifende Anwendungen bereit. Dies können beispielsweise Accounting-, Autorisierung- oder Analyseanwendungen sein. Resource Grids erweitern die Application Grids und stellen die Betriebsmittel für die verteilten Anwendungen zur Verfügung. Das Service Grid verfolgt ein servicorientiertes Konzept und bietet dem Anwender Komplettservices.

Beispiele für Computing Grids

Grid Computing bietet zahlreiche Anwendungsfälle. Vor allem wissenschaftliche Projekte stützen sich oft auf das Grid Computing. Das größte Grid-Projekt in Europa war das EGEE (Enabling Grids for E-science in Europe). Es stellte die weltweit größte Grid-Infrastruktur zur Verfügung und wurde 2010 von EGI (European Grid Infrastructure) abgelöst.

Ein sehr bekanntes Computing Grid ist SETI@home (Search for Extraterrestrial Intelligence). Es wurde von der Berkeley Universität in Kalifornien ins Leben gerufen und verarbeitet Daten von Radio-Observatorien.

Das NorduGrid ist aus dem Zusammenschluss von fünf skandinavischen Instituten entstanden. Es basiert auf der Grid-Middleware ARC. Ein Computing Grid auf Basis des Linux Operating Systems stellt da XtreemOS dar. XtreemOS wird von der Europäischen Union gefördert. Für die wissenschaftliche Erforschung von neurodegenerativen Erkrankungen ist das neuGRID vorgesehen.

(ID:44806788)