Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Institut für Softwarewissenschaft

Ähnliche Präsentationen


Präsentation zum Thema: "Institut für Softwarewissenschaft"—  Präsentation transkript:

1 Institut für Softwarewissenschaft
Grid Computing Konzepte, Techniken und Anwendungen Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel. : 01/ Sprechstunde: Dienstag

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

3 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

4 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: Komplett neue Möglichkeiten der Zusammenarbeit für Unternehmen Hardwareersparnis („mieten“) (vgl. Generator / Quelle) Teuere Software „mieten“ statt kaufen Selbst z.B. Rechenleistung anbieten

5 Web im Vergleich zum Grid
Classical Web Grid More computation

6 Web im Vergleich zum Grid (2)
Classical Web Semantic Richer semantics

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

8 Grid Computing - Definition
Definition nach „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 1Praktisch alle wichtigsten Grid Projekte bauen auf middleware Globus (1998 -Globus 1, Globus 2, Globus 3)

9 Abstrakte Grid Architektur
gni – Grid node (Knoten) Grid node: Computing Element (CE), Storage Element (SE), telescope, microscope, etc. ni – compute node ioi – I/O node n1 n2 io1 gn1 gn6 IN gn2 WN n4 n3 io2 gn5 gn3 gn4 Example: gn2 – combined CE and SE (research of Prof. Schikuta, Univ. Vienna)

10 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 VO (Virtual Org.)

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

12 Virtuelle Organisation (VO)
• 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

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

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

15 Definitionen: Protokoll, Dienst, API, SDK
– 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

16 Grid Protokoll Architektur vs. IP Architektur
Application Internet Transport Application Link Internet Protocol Architecture Collective “Coordinating multiple resources”: ubiquitous infrastructure services, app-specific distributed services Resource “Sharing single resources”: negotiating access, controlling use We define Grid architecture in terms of a layered collection of protocols. Fabric layer includes the protocols and interfaces that provide access to the resources that are being shared, including computers, storage systems, datasets, programs, and networks. This layer is a logical view rather then a physical view. For example, the view of a cluster with a local resource manager is defined by the local resource manger, and not the cluster hardware. Likewise, the fabric provided by a storage system is defined by the file system that is available on that system, not the raw disk or tapes. The connectivity layer defines core protocols required for Grid-specific network transactions. This layer includes the IP protocol stack (system level application protocols [e.g. DNS, RSVP, Routing], transport and internet layers), as well as core Grid security protocols for authentication and authorization. Resource layer defines protocols to initiate and control sharing of (local) resources. Services defined at this level are gatekeeper, GRIS, along with some user oriented application protocols from the Internet protocol suite, such as file-transfer. Collective layer defines protocols that provide system oriented capabilities that are expected to be wide scale in deployment and generic in function. This includes GIIS, bandwidth brokers, resource brokers,…. Application layer defines protocols and services that are parochial in nature, targeted towards a specific application domain or class of applications. These are are are … arrgh Connectivity “Talking to things”: communication (Internet protocols) & security Fabric “Controlling things locally”: Access to, & control of, resources

17 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

18 Grid Architektur (2) • Resource Layer: (neck)
– Grid Resource Allocation Management (GRAM) Zuweisung, Reservierung, Monitoring, Steuerung von Rechenresourcen – GridFTP 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.

19 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

20 Sanduhr-Modell – Internet heute

21 Sanduhr-Modell – Globus Grid

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

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

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

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

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

27 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, die vom Globus-Projekt-Team entwickelt wurden.

28 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“

29 Die Evolution von Software Services
Programme in Assembler, C, usw.; Komponentfunktionen kommunizieren in einzelnen Speicherbereich. Entfernete Programme können kollaborieren.

30 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

31 Die Evolution von Software Services (3)

32 Die Evolution von Software Services (4)
SOAP ist ein universalles Protokoll, das alles verbindet.

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

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

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

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

37 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 * quantity; else if (symbol.equals( “MSFT“ ) ) else throw new TradeException( “symbol “ + symbol + “not recognized“); }

38 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() ); }

39 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

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

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

42 UDDI UDDI – Universal Description, Discovery , and Integration
UDDI ermöglicht Publikation und Abfragen von Informationen über Services. Beispiel: “ACME”- Kreditkontrollen

43 UDDI (2) UDDI wirkt als „Heirats“-Vermittler zwischen Service- Anbietern und Konsumenten.

44 UDDI (3) Veröffentlichen Finden Binden Service Registrierung Service
Provider Service Verbraucher

45 UDDI (4) Öffentliche UDDI-Operatoren synchronisieren regelmäßig ihre Inhalte.

46 Open Grid Service Architecture - OGSA
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ätzlich ANL, NASA, US DOE, US NSF, HP-Compaq, Intel, Microsoft, Sun,…

47 Service - Grid 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.

48 OGSA: Architecture Client Grid Service Factory WebService Business-
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


Herunterladen ppt "Institut für Softwarewissenschaft"

Ähnliche Präsentationen


Google-Anzeigen