Grid-Computing

Grid-Computing

Grid-Computing ist eine Form des verteilten Rechnens, bei der ein virtueller Supercomputer aus einem Cluster lose gekoppelter Computer erzeugt wird. Es wurde entwickelt, um rechenintensive wissenschaftliche – insbesondere mathematische – Probleme zu lösen. Heute wird Grid-Computing in vielen Bereichen, zum Teil auch kommerziell, eingesetzt, so zum Beispiel in der Pharmaforschung und den Wirtschaftswissenschaften, beim elektronischen Handel und bei Webdiensten. Es wird auch zum Risikomanagement in der Baudynamik und beim Finanzmanagement genutzt.

Von typischen Computerclustern unterscheidet sich Grid-Computing in der wesentlich loseren Kopplung, der Heterogenität und der geographischen Zerstreuung der Computer. Des Weiteren ist ein Grid meistens bestimmt für eine spezielle Anwendung und nutzt häufig standardisierte Programmbibliotheken und Middleware.

Inhaltsverzeichnis

Grundlagen

Definition

Der erste Versuch einer Definition stammt von Ian Foster und Carl Kesselman in dem Buch "The Grid: Blueprint for a New Computing Infrastructure":

A computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive, and inexpensive access to high-end computational capabilities.[1]
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 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.[2]
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]).

Fälschlicherweise werden Systeme wie Cluster computing, Peer to peer computing, Meta computing oder insbesondere Distributed computing (z.B. SETI@home) als Grid-Systeme bezeichnet. 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 übersichtlichen 3-Punkte-Checkliste [5] angenommen. Die Eigenschaften eines Grid-Systems werden in kurzen Worten wie folgt definiert:

Ein Grid...
… koordiniert Ressourcen, die nicht einer zentralen Instanz untergeordnet sind …
Ein Grid koordiniert und integriert Ressourcen und Benutzer unterschiedlicher administrativer Domänen innerhalb desselben Unternehmens oder innerhalb unterschiedlicher Länder. In diesem Zusammenhang werden u. a. auf Sicherheit, Abrechnung und Mitgliedschaft Rücksicht genommen (vgl. [6][7]). Ressourcen können 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 Authentifizierung, 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 signifikant größer ist als die Summe seiner Teile.

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

I-WAY

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-Projekts in hohem Maße unterstützt.

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. [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 beim verteilten Rechnen, dennoch ist oberstes Ziel, analog zu der Entstehung des Internets, die Entwicklung eines einheitlichen, globalen Grids.

Klassifikation

Grob gesprochen lassen sich Grid-Computings unterteilen in Klassen, wie

  • Rechengrids (Computing Grids): Zugriff auf verteilte Rechenressourcen
  • Datengrids (Data Grids): Zugriff auf verteilte Datenbanken
  • Ressource Grids
  • Service Grids
  • Knowledge Grids

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.

Architektur und Implementierungen

Allgemeines

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.

OGSA

Eine mögliche Softwarearchitektur für Grids ist die von Ian Foster mitentwickelte Open Grid Services 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 technischen 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.

  • OGF
  • OGSA

Virtuelle Organisationen

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.

Implementierungen / Grid-Middleware

  • g-Eclipse
  • Globus Toolkit
  • Unicore
  • gLite
  • Sun Grid Engine

Hardware

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.

Wissenschaftliche Projekte

EGEE

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 Einsatz. 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), Karlsruher Institut für Technologie (KIT, 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.

Nordugrid

Das offene Grid Nordugrid auf der Basis der Grid-Middleware ARC ist aus einem Zusammenschluss von fünf skandinavischen Instituten hervorgegangen.

XtreemOS

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.

Neugrid

Neugrid ist ein Projekt, das von der Europäischen Union im 7. Rahmenprogramm finanziert wurde. Seine Infrastruktur ermöglicht der Wissenschaft die Erforschung von neurodegenerativen Erkrankungen.

Nationale Grid Infrastruktur Initiativen

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.

Literatur

Siehe auch

Weblinks

Referenzen

  1. I. Foster and C. Kesselman, "The Grid: Blueprint for a new computing infrastructure,” Morgan Kaufmann, Tech. Rep., 1998.
  2. I. Foster and C. Kesselman, "The Grid: Blueprint for a new computing infrastructure,” 2. Auflage, Morgan Kaufmann, Tech. Rep., 2003. ISBN 978-1-55860-933-4
  3. a b I. Foster, C. Kesselman, and S. Tuecke, “The Anatomy of the Grid: Enabling Scalable Virtual Organizations,” International Journal of High Performance Computing Applications, vol. 15, no. 3, pp. 200–222, 2001.
  4. I. Foster, C. Kesselman, J. M. Nick, and S. Tuecke, “The physiology of the grid,” IBM Corporation, Poughkeepie, NY 12601, Tech. Rep., June 2002.
  5. I. Foster, “What is the Grid? A three point checklist,” July 2002.
  6. 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.
  7. M. Humphrey and M. Thompson, “Security implications of typical grid computing usage scenarios,” in Proceedings of Intl Symposium on High Performance Distributed Com- puting. (HPDC), San Francisco, CA., August 2001, pp. 7–9.
  8. 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.
  9. C. Catlett, "In search of gigabit applications," Communications Magazine, IEEE, vol. 30, no. 4, pp. 42–51, 1992.

Wikimedia Foundation.

Игры ⚽ Поможем написать реферат

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Grid computing — is a term referring to the combination of computer resources from multiple administrative domains to reach a common goal. The grid can be thought of as a distributed system with non interactive workloads that involve a large number of files. What …   Wikipedia

  • grid computing — ➔ computing * * * grid computing UK US noun [U] (also grid) IT ► the process of connecting computers together using the internet so that they can share information: »It s the latest evolution of grid computing, in which PCs are used to sort… …   Financial and business terms

  • Grid Computing —   [dt. »(auf einem) Gitter rechnen«, verteiltes Rechnen] das, das Benutzen von Ressourcen entfernter Computer für die elektronische Datenverarbeitung. Dieses Konzept kann als Erweiterung des Parallelrechners angesehen werden, bei dem mehrere… …   Universal-Lexikon

  • Grid computing — es una tecnología que permite aprovechar los ciclos de procesamiento no utilizado de los cientos, miles o millones de ordenadores conectados a una red. Desarrollado en ámbitos científicos a principios de los 90, su entrada al mercado comercial… …   Enciclopedia Universal

  • Grid Computing — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Grid Computing ist eine Form des verteilten Rechnens, bei der ein… …   Deutsch Wikipedia

  • Grid computing — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Grid Computing ist eine Form des verteilten Rechnens, bei der ein… …   Deutsch Wikipedia

  • Grid Computing — Grille informatique Pour les articles homonymes, voir Grille …   Wikipédia en Français

  • Grid computing — Grille informatique Pour les articles homonymes, voir Grille …   Wikipédia en Français

  • Grid\ Computing — Um rechenintensive Computer Aufgaben zu bewältigen, sind nicht unbedingt Grossrechner notwendig: Beim Grid Computing werden viele verschiedene Rechner zusammengeschlossen, um Rechenaufgaben in kurzer Zeit zu bewältigen. Grid Computing bedeutet… …   Online-Wörterbuch Deutsch-Lexikon

  • grid computing — grid com.puting n [U] a system of running a computer program using a lot of small computers that are connected together in order to do very complicated jobs …   Dictionary of contemporary English

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”