Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Grid Computing PowerPoint Presentation
Download Presentation
Grid Computing

Grid Computing

133 Vues Download Presentation
Télécharger la présentation

Grid Computing

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Grid Computing Konzepte, Techniken und Anwendungen Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel. : 01/4277 38825 E-mail : brezany@par.univie.ac.at Sprechstunde: Dienstag 13.00-14.00

  2. Motivation für Grids Grundbegriffe Bestehende Architekturen Neue Entwicklungen Web Services Integration von Web Services und Grid Services OGSA (Open Grid Service Architecture) Lernziele

  3. Grid Computing – ein relativ neues Forschungsgebiet Früher nur in wissenschaftlichen Kreisen bekannt und „big-science“ Anwendungen. Jetzt näher zum „every-day life“ (e-Business, medicine, usw.) Große Firmen (IBM, Sun, Microsoft) machen jetzt auch mit. Bei Grid Computing geht es um das gemeinsame Verwenden von verschiedenen Arten von Resourcen, eine moderne Sharing-Community Einführung

  4. Beispiel Wasserversorgung – Früher: „Hausquelle“ / Brunnen – Heute: Wassersammelstelle Leitungen  Wasserhahn Beispiel Energieversorgung Früher: Generator Heute: „Großer Generator“Stromleitungen  Steckdose Power Grid  Computational Grid / Grid Computing (z.B.: NASA: „Information Power Grid“ (www.ipg.nasa.gov)) Logische Konsequenz: Grid Computing Rechenleistung (und vieles mehr) aus der „Steckdose“ Viele Rechner zu einem Großen Netz verbunden; Vorteile: Komplett neue Möglichkeiten der Zusammenarbeit für Unternehmen Hardwareersparnis („mieten“) (vgl. Generator / Quelle) Teuere Software „mieten“ statt kaufen Selbst z.B. Rechenleistung anbieten Einleitende Visionen

  5. "The Internet is about getting computers to talk together; Grid computing is about getting computers to work together." Tom Hawk, IBM's general manager of Grid computing Grid Computing Vision

  6. Tim Berners-Lee replies to the question „What did you have in mind when you first developed the Web?“ by saying "The dream behind the Web is of a common information space in which we communicate by sharing information.“ If applied to the Grid computing this sentence can be rephrased to “The dream behind the Grid computing is a common resource space in which we can work together using shared recources.“ Grid Computing Vision (2)

  7. Semantic Grid Semantic Web Richer semantics Classical Web Classical Grid More computation Web im Vergleich zum Grid (3) Source: Norman Paton

  8. Definition nach www.globus.org1: „The Grid“ ist eine Infrastruktur, die eine integrierte, gemeinschaftliche Verwendung von Ressourcen erlaubt. Als Ressourcen kommen nicht Rechenleistungund Speicherplatz in Frage, sondern ganze (und beliebige) Geräte können im Gridgemeinschaftlichverwendet werden, also zum Beispiel Hochleistungscomputer, Netzwerke,Datenbanken, Teleskope, Mikroskope bis zu Elektronenbeschleunigern. Ziel des Grid istes, dass man auf Geräte zugreifen kann, als ob man sie besitzen würde, ohne sie kaufenzu müssen. Charakteristika von Grid-Anwendungen: - Große Datenmengen - Großer Rechenaufwand Sicheres Resourcen-Sharing zwischen unabhängigenOrganisationen ----------------------------------------------------------- 1Praktisch alle wichtigsten Grid Projekte bauen auf middleware Globus (1998 -Globus 1, 2001 - Globus 2, 2003 - Globus 3, 2005 – Globus 4) Grid Computing - Definition

  9. Das Grid-Problem: – Koordinierte gemeinsame Resourcennutzung (-sharing) und gemeinsamesLösen von Problemen in dynamischen, multiinstitutionalen „Organisationen“. – Sharing bedeutet hier: Direkter Zugang zu Computern, Software, Daten, Geräten, etc. – Sharing Regeln zwischen Anbietern und Benutzern definieren wem was wie wann zur Verfügung steht. Anzahl von Individuen und/oder Institutionen Sharing Regeln Grid Problem VO (Virtual Org.)

  10. Gemeinsame Verwendung von geographisch getrennten Resourcen: – Keine gemeinsame Zentrale – Keine zentrale Kontrolle – Niemand ist allwissend – Keine Vertrauensbeziehungen untereinander Komplexe Anforderungen: – Programm X auf den Rechnern von Y ausführen (Vertrag P)wobei die Daten von Z stammen (Vertrag Q).Y und Z müssen keine Beziehung haben. (Delegation) Grid Voraussetzungen

  11. • Zweck, Ziel, Größe, Dauer, Struktur, etc. variieren Anforderungen von VOs: – Hochflexible Sharing-Beziehungen (C/S bis P2P) – Ausgereifte und präzise Kontrolle – Feine und grobe Zugangskontrolle – Abrechnung – Zeitplanung Virtuelle Organisation (VO)

  12. VO Beispiel Figure:An actual organization can participate in one or more VOs by sharing some or all of its resources. We show three actual organizations (the ovals), and two VOs: P, which links participants in an aerospace design consortium, and Q, which links colleagues who have agreed to share spare computing cycles, for example to run ray tracing computations. The organization on the left participates in P, the one to the right participates in Q, and the third is a member of both P and Q. The policies governing access to resources (summarized in “quotes”) vary according to the actual organizations, resources, and VOs involved.

  13. • Protokoll: – Menge von Regeln für Endpunkte von Telekommunikationssystemen zumInformationsaustausch – Standardprotokoll gewährleistet Interoperabilität • Dienst (Service): – Netzwerkfähige Instanz mit einer bestimmten Fähigkeit Definiert durch Protokoll und Reaktion auf eine Protokoll-Nachricht (service = protocol + behavior) • Application Program Interface (API): – Standardinterface für Zugriff auf Funktionalität (ein Protokoll kann mehrere APIs haben) – Ermöglicht Portabilität • Software Develpment Kit (SDK): – Implementiert ein API (zB. Globus Toolkit) Definitionen: Protokoll, Dienst, API, SDK

  14. Application Internet Protocol Architecture “Coordinating multiple resources”: ubiquitous infrastructure services, app-specific distributed services Collective “Sharing single resources”: negotiating access, controlling use Resource “Talking to things”: communication (Internet protocols) & security Connectivity Transport Internet “Controlling things locally”: Access to, & control of, resources Fabric Link Grid Protokoll Architektur vs. IP Architektur Application

  15. Data Grid • Ursprüngliche Motivation: Wissenschaftliche Anwendungen • sind sehr daten intensiv und enorm große Menge von • Forschern aus der ganzen Welt will einen schnellen • Zugriff auf diese Daten haben. • Perspektive Anwendungen von Data Grids: Medical Grids, • E-Business und E-Commerce Grids. Computing Grid

  16. Modell Architecture für Data Grids Attribute Specification Replica Catalog Metadata Catalog Application Multiple Locations Logical Collection and Logical File Name MDS Selected Replica Replica Selection Performance Information & Predictions GridFTP commands NWS Disk Cache TapeLibrary Disk Array Disk Cache Replica Location 1 Replica Location 2 Replica Location 3

  17. 2 different kinds of files: Master files (owned by their creators) Replica files. There may be many replicas of a master file. Replicas are owned by, managed by, and may be deleted by, the Grid. The notion of replicas is new, and critical in a Grid environment. Example: Before a DataGrid job can run at site A, data at site B may need to be copied to site A. This data may then be used by subsequent jobs at site A, or may be needed by jobs at site C, which has a better network connection to site A than site B. For this reason, the data should be kept at site A as long as possible. The ReplicaManager keeps track of all replica data so that the replica selection service can select the optimal replica to use for a given job, or to request the creation of a new replica. Storage Model

  18. Data Replication Across Grid Nodes By providing a copy (replica) of a data item close to a client application, access times can be reduced. Replication can also help in load balancing and can improve reliability. X/data/file1.DB file1.DB Y/data/file1.DB (logical name) Z/data/file1.DB X, Y, Z – Grid sites Replica Catalog (physical names)

  19. Die bisher diskutierten Konzepte implementiert von mehreren SDK, z.B. Globus (U.S.), Unicorn (EU Projekt), European Data Grid (EU Projekt), usw. Nur in wissenschaftlichen Kreisen gut bekannt und Fokus auf „big-science“ Anwendungen. Fast keine Anbindung von Datenbanktechnologien, Anwendung von „flat files“. Notwendigkeit näher zum „every-day life“ (e-Business, medicine, usw.) zu sein. Ignorierung von Web Entwicklung – Web Service Technologien Große Firmen (IBM, Sun, Microsoft, usw.) beginen jetzt auch mitzumachen. Richtung: Web Services State of the Art in 2002

  20. Integration von Grid- und Webtechnologien - zuerst nur eine Initiative vom Globus-Projekt und IBM; jetzt eine Aufgabe des Global Grid Forums. Erweiterung von Web Service Standards wie SOAPund WDSL um die offenen Spezifikationen von Globus. OGSA- ein Set von Spezifikationen und Standards, das die Vorteile von Grid-Computing mit denen von Webservices kombinieren soll. Damit will man eine Plattform schaffen, die eine gemeinsame Nutzung von Anwendungen- und Computer-Ressourcen über das Internet auch für den kommerziellen Bereich interessant macht. Das neue Set an OGSA-Spezifikationen erweitert Standards wie XML, WSDL und SOAP mit Grid-Computing-Standards, die vom Globus-Projekt-Team entwickelt wurden. Integration von Grid und Web Services:Open Grid Service Architecture - OGSA

  21. Software Dienst (service) akzeptiert einen digitalen Antrag (Abfrage, usw.) und liefert eine digitale Antwort. „Web service“ – Abkürzung für „Web of Services“ Web Services – der Baukasten für verteilte Systeme

  22. Die Evolution von Software Services SOAP ist ein universalles Protokoll, das alles verbindet.

  23. SOAP – Simple Object Access Protocol Der neue Standard für Netzwerk-Kommunikation zwischen software services. SOAP messages sind über HTTP gesendete XML Dokumente.

  24. SOAP – Simple Object Access Protocol (2) SOAP Prozessor konvertiert XML Nachrichten in native Aufrufe.

  25. SOAP – Simple Object Access Protocol (3) Der Client braucht WSDL, bevor er den Service aufruft.

  26. Publizierung eines Dienstes Beispiel: Aktienkauf – Anwendung des Packages GLUE package example.soap; // An interface for buying stock public interface ITrader { /* * Purchase the specific stock * @param quantity The number of shares to purchase. * @param symbol The ticker symbol of the company. * @throws TradeException, if the symbol is not recognized. * @return The cost of the purchase. */ float buy (int quantity, String symbol ) throws TradeException; } Itrader.java

  27. Publizierung eines Dienstes (2) Trader.java package example.soap; public class Trader implements Itrader { public float buy (int quantity, String symbol ) throws TradeException { if (symbol.equals( “IBM“ ) ) return 117.4 * quantity; else if (symbol.equals( “MSFT“ ) ) return 117.4 * quantity; else throw new TradeException( “symbol “ + symbol + “not recognized“); } }

  28. Publizierung eines Dienstes (3) TraderServer.java package example.soap; import -----.registry.Registry; import -----.server.http.HTTP; public class TradeServer { public static void main ( String[] args ) throws Exception { // start a web server on port 8003, accept messages via /soap HTTP.startup (“http://localhost:8003/soap“ ); // publish an instance of Trader Registry.publish( “trader“, new Trader() ); } }

  29. Bindung zu einem Web-Service Wenn ein Objekt schon als Web-Service publiziert ist, kann sich der SOAP-Client zu ihm binden und ihn aufrufen. package example.soap; import -----.registry.Registry; public class TraderClient { public static void main ( String[] args ) throws Exception { // the URL of the web service WSDL file String url = ( “http://localhost:8003/soap/trader.wsdl“ ); // read the WSDL file and bind to its associated web service ITrader trader = (ITrader) Registry.bind( url, ITrader.class ); // invoke the web service as if it was a local object float ibmCost = trader.buy (54, “IBM“ ); System.out.println( “IBM cost is “ + ibmCost ); } } TraderClient.java

  30. Der Client Proxy Der binding Prozeß antwortet mit einem proxy, der eine Java Schnittstelle implementiert, deren Metode die Methoden der entferneten Stelle wiederspiegeln.

  31. WSDL – Web Service Description Language WSDL beschreibt, was ein Web Service machen kann, wo er sich befindet, und wie er aufgerufen werden kann. Eine Anwendung kann sich theoretisch einen optimalen Service aus mehreren Services wählen. WSDL

  32. UDDI UDDI – Universal Description, Discovery , and Integration UDDI ermöglicht Publikation und Abfragen von Informationen über Services. UDDI wirkt als „Heirats“-Vermittler zwischen Service- Anbietern und Konsumenten.

  33. UDDI (2) • Veröffentlichen Finden • Binden Service Registrierung Service Provider Service Verbraucher

  34. UDDI (3) Öffentliche UDDI-Operatoren synchronisieren regelmäßig ihre Inhalte.

  35. Einordnung radikales Refactoring von Grid ‚alt‘ (Globus 2) Integration von Technologien der Grid- und WebService-Community Ziele ermöglichen verteilter, heterogener und dynamischer VOs effizientes Ressource-Sharing Plattform- und Programmiersprachenunabhängigkeit basierend auf offenen Standards Virtualisierung e-business und e-science Anwendungen, auch kommerzielle Nutzung auf Basis moderner Technologien (Web Services, Grid Technologien) Players … wer steht dahinter? Global Grid Forum (ursprünglich initiiert von Globus, IBM), zusätzlichANL, NASA, US DOE, US NSF, HP-Compaq, Intel, Microsoft, Sun,… Open Grid Service Architecture - OGSA

  36. Ein Service ist eine netzwerkfähige Entität, die ihre Funktionalität durch Nachrichtenaustausch anbietet. Ein Grid Service ist ein Web Service, dass die in der WSDL beschriebenen OGSA-Interfaces implementiert und damit in Verbindung stehende Konventionen befolgt. Ein Grid ist eine erweiterbare, dynamische Menge von einzelnen Grid Services, die auf unterschiedliche Art und Weise miteinander kombiniert werden können, um den individuellen Anforderungen von VOs entsprechen zu können. Service - Grid Service - Grid

  37. OGSA: Architecture Client Definition: WSDL Messages: zB SOAP Transport: zB HTTP Grid Service Factory WebService Business- Logic WebService- Community OGSA Grid- Community Notification serviceData Konventionen Hosting Environment Hardware

  38. GT1 GT2 OGSI Started far apart in apps & tech Have been converging ? WSDL 2, WSDM WSDL, WS-* HTTP Grid and Web Services:Convergence? 1991  Grid  2004 Web GT – Globus Toolkit, OGSI – Open Grid Service Infrastructure However, despite enthusiasm for OGSI, adoption within Web community turned out to be problematic

  39. Web Service Invocation

  40. Web Service Invocation (2)

  41. The Idea of Grid Services • Web Services are stateless and persistent. • Grid Services are stateful and persistent or transient. • Lifecycle Management • Notifications • Service Data Elements • GSH / GSR

  42. Web Service: A software component identified by a URI [RFC 2396], whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML based messages conveyed by Internet protocols. (Web Services Glossary, WS-Arch W3C Working Group, Draft 14 May 2003) Web Service Consumer:An software component that sends messages to a Web Service. Stateful Web Service: A Web Service that maintains some state between different operation invocations issued by the same or different Web Service Consumers. Grid Service(s): A general term used to refer to all aspects of OGSI. The term “Grid Service” is sometimes used to refer to a Grid Service Description document and/or a Grid Service Instance for a particular service. Grid Service Description:A WSDL(-like) document that defines the interface of Grid Service Instances. The defined interface must extend the OGSI GridService portType. Grid Service Instance:A stateful Web service whose interface adheres to that defined by a Grid Service Description and whose lifetime management properties are well defined. Service Data Element:An attribute-like construct exposing state information through operations defined by the GridService portType. Grid Service Handle:A URI that permanently identifies a Grid Service Instance. Grid Service Reference: A temporal, binding-specific endpoint that provides access to a Grid Service Instance. Terminology

  43. Grid Service – OGSA – OGSI – GT3OGSA – Open Grid Service Architecture

  44. Grid Services are defined by OGSA. The Open Grid Services Architecture (OGSA) aims to define a new common and standard architecture for grid-based applications. Right at the center of this new architecture is the concept of a Grid Service. OGSA defines what Grid Services are, what they should be capable of, what types of technologies they should be based on, but doesn't give a technical and detailed specification (which would be needed to implement a Grid Service). Grid Services are specified by OGSI. The Open Grid Services Infrastructure is a formal and technical specification of the concepts described in OGSA, including Grid Services. The Globus Toolkit 3 is an implementation of OGSI. GT3 is a usable implementation of everything that is specified in OGSI (and, therefore, of everything that is defined in OGSA). Grid Services are based on Web Services. Grid Services are an extension of Web Services. We'll see what Web Services are in the next page, and what Grid Services are in the page after that. I still don't get it: What is the difference between OGSA, OGSI, and GT3? Consider the following simple example. Suppose you want to build a new house. The first thing you need to do is to hire an architect to draw up all the plans, so you can get an idea of what your house will look like. Once you're happy with the architect's job, it's time to hire an engineer who will make detailed blueprints that specify construction details (like where to put the master beams, the power cables, the plumbing, etc.). The engineer then passes all those blueprints to qualified professional workers (construction workers, electricians, plumbers, etc) who will actually build the house. We could say that OGSA (the definition) is the architect, OGSI (the specification) is the engineer, and GT3 (the implementation) is the workers. Grid Service – OGSA – OGSI – GT3 (2)

  45. OGSA – Grid Service

  46. Service Data

  47. Service Data

  48. Service Data

  49. Notification Interfaces

  50. Motivation for Notifications