Скачать презентацию Grid Computing Konzepte Techniken und Anwendungen Peter Brezany Скачать презентацию Grid Computing Konzepte Techniken und Anwendungen Peter Brezany

927a2b293786185fa272199614dad30c.ppt

  • Количество слайдов: 48

Grid Computing Konzepte, Techniken und Anwendungen Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel. Grid Computing Konzepte, Techniken und Anwendungen Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel. : 01/4277 38825 E-mail : [email protected] univie. ac. at Sprechstunde: Dienstag 11. 30 -12. 30 P. Brezany Institut für Softwarewissenschaft - Universität Wien

Lernziele • Motivation für Grids • Grundbegriffe • Bestehende Architekturen • Neue Entwicklungen – Lernziele • Motivation für Grids • Grundbegriffe • Bestehende Architekturen • Neue Entwicklungen – Web Services – Integration von Web Services und Grid Services – OGSS (Open Grid Service Architecture) P. Brezany Institut für Softwarewissenschaft - Universität Wien 2

Einführung • Grid Computing – ein relativ neues Forschungsgebiet • Früher nur in wissenschaftlichen Einführung • 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 P. Brezany Institut für Softwarewissenschaft - Universität Wien 3

Einleitende Visionen • Beispiel Wasserversorgung – Früher: „Hausquelle“ / Brunnen – Heute: Wassersammelstelle Leitungen Einleitende Visionen • 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: – – P. Brezany Komplett neue Möglichkeiten der Zusammenarbeit für Unternehmen Hardwareersparnis („mieten“) (vgl. Generator / Quelle) Teuere Software „mieten“ statt kaufen Selbst z. B. Rechenleistung anbieten Institut für Softwarewissenschaft - Universität Wien 4

Web im Vergleich zum Grid Classical Web Classical Grid More computation P. Brezany Institut Web im Vergleich zum Grid Classical Web Classical Grid More computation P. Brezany Institut für Softwarewissenschaft - Universität Wien 5

Richer semantics Web im Vergleich zum Grid (2) P. Brezany Semantic Web Classical Web Richer semantics Web im Vergleich zum Grid (2) P. Brezany Semantic Web Classical Web Institut für Softwarewissenschaft - Universität Wien 6

Richer semantics Web im Vergleich zum Grid (3) Semantic Web Semantic Grid Classical Web Richer semantics Web im Vergleich zum Grid (3) Semantic Web Semantic Grid Classical Web Classical Grid Source: Norman Paton P. Brezany More computation Institut für Softwarewissenschaft - Universität Wien 7

Grid Computing - Definition • Definition nach www. globus. org 1: „The Grid“ ist Grid Computing - Definition • Definition nach www. globus. org 1: „The Grid“ ist eine Infrastruktur, die eine integrierte, gemeinschaftliche Verwendung von Ressourcen erlaubt. Als Ressourcen kommen nicht Rechenleistung und Speicherplatz in Frage, sondern ganze (und beliebige) Geräte können im Grid gemeinschaftlich verwendet werden, also zum Beispiel Hochleistungscomputer, Netzwerke, Datenbanken, Teleskope, Mikroskope bis zu Elektronenbeschleunigern. Ziel des Grid ist es, dass man auf Geräte zugreifen kann, als ob man sie besitzen würde, ohne sie kaufen zu müssen. • Charakteristika von Grid-Anwendungen: - Große Datenmengen - Großer Rechenaufwand – Sicheres Resourcen-Sharing zwischen unabhängigen Organisationen -----------------------------1 Praktisch alle wichtigsten Grid Projekte bauen auf middleware Globus (1998 Globus 1, 2001 - Globus 2, 2003 - Globus 3) P. Brezany Institut für Softwarewissenschaft - Universität Wien 8

Abstrakte Grid Architektur gni – Grid node (Knoten) ni – compute node Grid node: Abstrakte Grid Architektur gni – Grid node (Knoten) ni – compute node Grid node: Computing Element (CE), Storage Element (SE), telescope, microscope, etc. n 1 gn 6 gn 2 WN gn 5 gn 3 n 2 ioi – I/O node io 1 IN n 4 n 3 io 2 gn 4 Example: gn 2 – combined CE and SE (research of Prof. Schikuta, Univ. Vienna) P. Brezany Institut für Softwarewissenschaft - Universität Wien 9

Grid Problem • Das Grid-Problem: – Koordinierte gemeinsame Resourcennutzung (-sharing) und gemeinsames Lösen von Grid Problem • Das Grid-Problem: – Koordinierte gemeinsame Resourcennutzung (-sharing) und gemeinsames Lö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 P. Brezany Institut für Softwarewissenschaft - Universität Wien VO (Virtual Org. ) 10

Grid Voraussetzungen • Gemeinsame Verwendung von geographisch getrennten Resourcen: – – Keine gemeinsame Zentrale Grid Voraussetzungen • 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) P. Brezany Institut für Softwarewissenschaft - Universität Wien 11

Virtuelle Organisation (VO) • Zweck, Ziel, Größe, Dauer, Struktur, etc. variieren • Anforderungen von Virtuelle Organisation (VO) • Zweck, Ziel, Größe, Dauer, Struktur, etc. variieren • Anforderungen von VOs: – – – P. Brezany Hochflexible Sharing-Beziehungen (C/S bis P 2 P) Ausgereifte und präzise Kontrolle Feine und grobe Zugangskontrolle Abrechnung Zeitplanung Institut für Softwarewissenschaft - Universität Wien 12

VO Beispiel • Autohersteller beauftragt: – Application service provider (ASP) Finanzielle Vorhersage – Storage VO Beispiel • Autohersteller beauftragt: – Application service provider (ASP) Finanzielle Vorhersage – Storage service provider (SSP) (Historische) Daten – Cycle providers Rechenleistung für die Analyse Szenarienanalysen für neue Fabrik (bzw. Standort) durchzuführen. P. Brezany Institut für Softwarewissenschaft - Universität Wien 13

VO Beispiel (2) Figure: An actual organization can participate in one or more VOs VO Beispiel (2) 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 14 involved. P. Brezany Institut für Softwarewissenschaft - Universität Wien

Definitionen: Protokoll, Dienst, API, SDK • Protokoll: – Menge von Regeln für Endpunkte von Definitionen: Protokoll, Dienst, API, SDK • Protokoll: – Menge von Regeln für Endpunkte von Telekommunikationssystemen zum Informationsaustausch – Standardprotokoll gewährleistet Interoperabilität • Dienst: – Netzwerkfähige Instanz mit einer bestimmten Fähigkeit Definiert durch Protokoll und Reaktion auf eine Protokoll-Nachricht (service = protocol + behavior) • API: – Standardinterface für Zugriff auf Funktionalität (ein Protokoll kann mehrere APIs haben) – Ermöglicht Portabilität • SDK: • – Implementiert ein API für Softwarewissenschaft - Universität Wien P. Brezany Institut 15

Grid Protokoll Architektur vs. IP Architektur “Coordinating multiple resources”: ubiquitous infrastructure services, appspecific distributed Grid Protokoll Architektur vs. IP Architektur “Coordinating multiple resources”: ubiquitous infrastructure services, appspecific distributed services “Sharing single resources”: negotiating access, controlling use “Talking to things”: communication (Internet protocols) & security “Controlling things locally”: Access to, & control of, resources P. Brezany Collective Application Resource Connectivity Transport Internet Fabric Link Institut für Softwarewissenschaft - Universität Wien 16 Internet Protocol Architecture Application

Grid Architektur (1) • Fabric: – (Computer / Dateisysteme / Archive / Netzwerke / Grid Architektur (1) • Fabric: – (Computer / Dateisysteme / Archive / Netzwerke / Sensoren /. . . ) (open, read, write, close, . . . ) – Kaum Beschränkungen am low-level solang Schnittstellen erfüllt • Connectivity: (neck) – Kommunikation (IP, DNS, Routing, . . . ) – Sicherheit (Grid Security Infrastructure, GSI) - Einheitliche Authentifikation - Single sign-on - Delegation - Public Key Technologie P. Brezany Institut für Softwarewissenschaft - Universität Wien 17

Grid Architektur (2) • Resource Layer: (neck) – Grid Resource Allocation Management (GRAM) Zuweisung, Grid Architektur (2) • Resource Layer: (neck) – Grid Resource Allocation Management (GRAM) Zuweisung, Reservierung, Monitoring, Steuerung von Rechenresourcen – Grid. FTP Protokoll (FTP Erweiterungen) Hochgeschwindigkeitsdatenzugriff und –Transport – Grid Resource Information Service (GRIS) Zugang zu Struktur- und Statusinformationen – Netzwerkreservierung, Beobachtung und Steuerung – Baut auf Connectivity Layer (GSI & IP) auf. P. Brezany Institut für Softwarewissenschaft - Universität Wien 18

Grid Architektur (3) • Collective Layer: – Globale Protokolle und Dienste – Baut auf Grid Architektur (3) • Collective Layer: – Globale Protokolle und Dienste – Baut auf dem „neck“ auf – ist komplett „unabhängig“ von den Resourcen – – Verzeichnisdienste Monitoring- und Diagnosedienste Datenreplikationsdienste etc. • Applications: – Verwenden Dienste beliebiger Layer P. Brezany Institut für Softwarewissenschaft - Universität Wien 19

Sanduhr-Modell – Internet heute P. Brezany Institut für Softwarewissenschaft - Universität Wien 20 Sanduhr-Modell – Internet heute P. Brezany Institut für Softwarewissenschaft - Universität Wien 20

Sanduhr-Modell – Globus Grid P. Brezany Institut für Softwarewissenschaft - Universität Wien 21 Sanduhr-Modell – Globus Grid P. Brezany Institut für Softwarewissenschaft - Universität Wien 21

Data Grid • Ursprüngliche Motivation: Wissenschaftliche Anwendungen sind sehr daten intensiv und enorm große 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. P. Brezany Institut für Softwarewissenschaft - Universität Wien 22

Modell Architecture für Data Grids Metadata Catalog Attribute Specification Application Logical Collection and Logical Modell Architecture für Data Grids Metadata Catalog Attribute Specification Application Logical Collection and Logical File Name Selected Replica Grid. FTP commands Replica Catalog Multiple Locations Replica Selection Performance Information & Predictions MDS NWS Disk Cache Tape Library Disk Array Replica Location 1 P. Brezany Disk Cache Replica Location 2 Institut für Softwarewissenschaft - Universität Wien Replica Location 3 23

Storage Model 2 different kinds of files: • Master files (owned by their creators) Storage Model 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 Data. Grid 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 Replica. Manager 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. P. Brezany Institut für Softwarewissenschaft - Universität Wien 24

Data Replication Across Grid Nodes By providing a copy (replica) of a data item 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/file 1. DB Y/data/file 1. DB (logical name) Z/data/file 1. DB X, Y, Z – Grid sites P. Brezany Replica Catalog Institut für Softwarewissenschaft - Universität Wien (physical names) 25

SQLDatabase. Service This servis allows to efficiently store, retrieve and query very large amounts SQLDatabase. Service This servis allows to efficiently store, retrieve and query very large amounts of meta data held in any type of local or remote RDBMS. The database can be used for the implementation of catalogs. Spitfire project : A set of grid enabled database middleware services – access to relational databases. P. Brezany Institut für Softwarewissenschaft - Universität Wien 26

Integration von Grid und Web Services: Open Grid Service Architecture - OGSA • Integration Integration von Grid und Web Services: Open Grid Service Architecture - OGSA • 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 SOAP und 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, 27 P. Brezany Institut für Softwarewissenschaft - Universität Wien

Web Services – der Baukasten für verteilte Systeme • Software Dienst (service) akzeptiert einen Web Services – der Baukasten für verteilte Systeme • Software Dienst (service) akzeptiert einen digitalen Antrag (Abfrage, usw. ) und liefert eine digitale Antwort. • „Web service“ – Abkürzung für „Web of Services“ P. Brezany Institut für Softwarewissenschaft - Universität Wien 28

Die Evolution von Software Services Programme in Assembler, C, usw. ; Komponentfunktionen kommunizieren in Die Evolution von Software Services Programme in Assembler, C, usw. ; Komponentfunktionen kommunizieren in einzelnen Speicherbereich. Entfernete Programme können kollaborieren. P. Brezany Institut für Softwarewissenschaft - Universität Wien 29

Die Evolution von Software Services (2) 2 LANS, 1 benutzt CORBA und 1 benutzt Die Evolution von Software Services (2) 2 LANS, 1 benutzt CORBA und 1 benutzt DCOM 2 verbundene LANS; sie benutzen eine CORBA/DCOM Brücke P. Brezany Institut für Softwarewissenschaft - Universität Wien 30

Die Evolution von Software Services (3) P. Brezany Institut für Softwarewissenschaft - Universität Wien Die Evolution von Software Services (3) P. Brezany Institut für Softwarewissenschaft - Universität Wien 31

Die Evolution von Software Services (4) SOAP ist ein universalles Protokoll, das alles verbindet. Die Evolution von Software Services (4) SOAP ist ein universalles Protokoll, das alles verbindet. P. Brezany Institut für Softwarewissenschaft - Universität Wien 32

SOAP – Simple Object Access Protocol Der neue Standard für Netzwerk-Kommunikation zwischen software services. SOAP – Simple Object Access Protocol Der neue Standard für Netzwerk-Kommunikation zwischen software services. SOAP messages sind über HTTP gesendete XML Dokumente. P. Brezany Institut für Softwarewissenschaft - Universität Wien 33

SOAP – Simple Object Access Protocol (2) SOAP Prozessor konvertiert XML Nachrichten in native SOAP – Simple Object Access Protocol (2) SOAP Prozessor konvertiert XML Nachrichten in native Aufrufe. P. Brezany Institut für Softwarewissenschaft - Universität Wien 34

SOAP – Simple Object Access Protocol (3) Der Client braucht WSDL, bevor er den SOAP – Simple Object Access Protocol (3) Der Client braucht WSDL, bevor er den Service aufruft. P. Brezany Institut für Softwarewissenschaft - Universität Wien 35

Publizierung eines Dienstes Beispiel: Aktienkauf – Anwendung des Packages GLUE Itrader. java package example. Publizierung eines Dienstes Beispiel: Aktienkauf – Anwendung des Packages GLUE Itrader. java 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 Trade. Exceprion If the symbol is not recognized. * @return The cost of the purchase. */ float buy (int quantity, String symbol ) throws Trade. Exception; } P. Brezany Institut für Softwarewissenschaft - Universität Wien 36

Publizierung eines Dienstes (2) Trader. java package example. soap; public class Trader implements Itrader Publizierung eines Dienstes (2) Trader. java package example. soap; public class Trader implements Itrader { public float buy (int quantity, String symbol ) throws Trade. Exception { if (symbol. equals( “IBM“ ) ) return 117. 4 * quantity; else if (symbol. equals( “MSFT“ ) ) return 117. 4 * quantity; else throw new Trade. Exception( “symbol “ + symbol + “not recognized“); } } P. Brezany Institut für Softwarewissenschaft - Universität Wien 37

Publizierung eines Dienstes (3) Trader. Server. java package example. soap; import -----. registry. Registry; Publizierung eines Dienstes (3) Trader. Server. java package example. soap; import -----. registry. Registry; import -----. server. http. HTTP; public class Trade. Server { 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“ ); } P. Brezany // publish an instance of Trader Registry. publish( “trader“, new Trader() ); } Institut für Softwarewissenschaft - Universität Wien 38

Bindung zu einem Web-Service Wenn ein Objekt schon als Web-Service publiziert ist, kann sich 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; Trader. Client. java public class Trader. Client { 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 ); } P. Brezany // invoke the web service as if it was a local object float ibm. Cost = trader. buy (54, “IBM“ ); System. out. println( “IBM cost is “ + ibm. Cost ); } Institut für Softwarewissenschaft - Universität Wien 39

Der Client Proxy Der binding Prozeß antwortet mit einem proxy, der eine Java Schnittstelle Der Client Proxy Der binding Prozeß antwortet mit einem proxy, der eine Java Schnittstelle implementiert, deren Metode die Methoden der entferneten Stelle wiederspiegeln. P. Brezany Institut für Softwarewissenschaft - Universität Wien 40

WSDL • WSDL – Web Service Description Language • WSDL beschreibt, was ein Web WSDL • 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. P. Brezany Institut für Softwarewissenschaft - Universität Wien 41

UDDI • UDDI – Universal Description, Discovery , and Integration • UDDI ermöglicht Publikation UDDI • UDDI – Universal Description, Discovery , and Integration • UDDI ermöglicht Publikation und Abfragen von Informationen über Services. Beispiel: “ACME”- Kreditkontrollen P. Brezany Institut für Softwarewissenschaft - Universität Wien 42

UDDI (2) UDDI wirkt als „Heirats“-Vermittler zwischen Service- Anbietern und Konsumenten. P. Brezany Institut UDDI (2) UDDI wirkt als „Heirats“-Vermittler zwischen Service- Anbietern und Konsumenten. P. Brezany Institut für Softwarewissenschaft - Universität Wien 43

UDDI (3) Service Registrierung Veröffentlichen Finden Service Provider Service Verbraucher Binden P. Brezany Institut UDDI (3) Service Registrierung Veröffentlichen Finden Service Provider Service Verbraucher Binden P. Brezany Institut für Softwarewissenschaft - Universität Wien 44

UDDI (4) Öffentliche UDDI-Operatoren synchronisieren regelmäßig ihre Inhalte. P. Brezany Institut für Softwarewissenschaft - UDDI (4) Öffentliche UDDI-Operatoren synchronisieren regelmäßig ihre Inhalte. P. Brezany Institut für Softwarewissenschaft - Universität Wien 45

Open Grid Service Architecture - OGSA • Einordnung – radikales Refactoring von Grid ‚alt‘ Open Grid Service Architecture - OGSA • Einordnung – radikales Refactoring von Grid ‚alt‘ (Globus 2) – Integration von Technologien der Grid- und Web. Service-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ätzlich ANL, NASA, US DOE, US NSF, HP-Compaq, Intel, Microsoft, Sun, … P. Brezany Institut für Softwarewissenschaft - Universität Wien 46

Service - Grid • Ein Service ist eine netzwerkfähige Entität, die ihre Funktionalität durch Service - Grid • 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. P. Brezany Institut für Softwarewissenschaft - Universität Wien 47

OGSA: Architecture Client Definition: WSDL Messages: z. B SOAP Transport: z. B HTTP Grid OGSA: Architecture Client Definition: WSDL Messages: z. B SOAP Transport: z. B HTTP Grid Service Factory Web. Service OGSA Notification Grid. Community service. Data Business. Logic Web. Service. Community Konventionen Hosting Environment Hardware P. Brezany Institut für Softwarewissenschaft - Universität Wien 48