Institut für Softwarewissenschaft

Slides:



Advertisements
Ähnliche Präsentationen
Developing your Business to Success We are looking for business partners. Enterprise Content Management with OS|ECM Version 6.
Advertisements

DI Christian Donner cd (at) donners.com
Inhalt – Technische Grundlagen
© 2003 Guido Badertscher Spontane Vernetzung - UPnP 9. Jänner 2004 Spontane Vernetzung Guido Badertscher.
WebServices and Grid Computing
Datenbankzugriff im WWW (Kommerzielle Systeme)
On a Buzzword: Hierachical Structure David Parnas.
Web Services und Workflow-Steuerung
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
JAVA RMI.
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
1. Einführung Lernziele: Auffrischen des Wissens aus Rechnernetze
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Überlegungen zur Architektur eines Fachinformations-Netzwerkes am Beispiel des CeGIM Mehrwert ist es nicht nur, Daten von ihren Quellen zu den Nutzern.
OGSI und Jini im Focus Sebastian Albrecht. 2 Gliederung OGSI Einordnung neue Komponenten Zukunft Jini Entstehung Architektur Lookup Service Bewertung.
Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele
SOMA Service-Oriented Mobile learning Architecture.
2 Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele.
Open Services Gateway Initiative
Nestor Workshop im Rahmen der GES 2007 Digitale Langzeitarchivierung und Grid: Gemeinsam sind wir stärker? Anforderungen von eScience und Grid-Technologie.
Don`t make me think! A Common Sense Approach to Web Usability
Software Architektur III
Die .NET Common Language Runtime
Die .NET Common Language Runtime
TWS/Graph HORIZONT Produkt-Präsentation Software für Rechenzentren
1 Alexander Arimond, University of Kaiserslautern, Germany Entwicklung und Evaluation eines Raytracing-Dienstes für das Venice Service Grid Alexander Arimond.
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Webservice Grundlagen
UNIVERSITÄT ZU KÖLN HISTORISCH-KULTURWISSENSCHAFTLICHE INFORMATIONSVERARBEITUNG REUSABLE - CONTENT SS 2013 MARIA WAGNER ReST.
Sesame Florian Mayrhuber
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Management- und Web Services- Architekturen
Einführung in Web Services Web Services in der Praxis
Untersuchungen zur Erstellung eines
Voyager Eigenschaften/Vorzüge Universalität: –ROI-Modelle: CORBA, RMI, DCOM –verschiedene Namens-, Verzeichnisdienste Nachrichtentypen: synchron, oneway,
Reinhold Rumberger Web Services.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Modalverben.
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
->Prinzip ->Systeme ->Peer – to – Peer
Universal Plug and Play
Präsentiert von Riccardo Fuda.  Klassische (symmetrische) Kryptographie  Der weg zur modernen Kryptographie  Message Authentification Codes  Asymmetrische.
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Grid Computing Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel. :
XML Die “E-Lance Economy” oder die “Digital Economy” stellt neue Anforderungen an Funktionalität im Netz. XML wurde vom World Wide Web Consortium (W3C)
FTS usage at GridKa Forschungszentrum Karlsruhe GmbH
Welcome to Web Services & Grid Computing Jens Mache
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Grid Computing Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel. :
ORB – Konzepte Ist – Analyse der betrieblichen Notwendigkeiten, Anforderungsableitung an moderne Lösungskonzepte, alternative ORB – Konzepte mit Zukunft,
Gregor Graf Oracle Portal (Part of the Oracle Application Server 9i) Gregor Graf (2001,2002)
1 Persistence Strategies for WebServices Senior Consultant Java Forum Stuttgart, 27. Juni 2002.
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
1 Lutz Ullrich SOA – serviceorientierte Architektur SOA – Was ist das?
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Einflußreiche Systeme Dr. Wolfgang Wörndl.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Web Services Dr. Wolfgang Wörndl
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
SOAP - WSDL Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 2 Hauptseminar: Virtuelle.
Premiere Conferencing GmbH
Prof. Dr.-Ing. Franz-Josef Behr Geodaten und Datenmodell
eSciDoc als Plattform für die Wissenschaft Anwendungen und Szenarien
- moodle – a internet based learning platform
 Präsentation transkript:

Institut für Softwarewissenschaft 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 11.30-12.30

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

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

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

Web im Vergleich zum Grid Classical Web Grid More computation

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

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

Grid Computing - Definition Definition nach www.globus.org1: „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, 2001 - Globus 2, 2003 - Globus 3)

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)

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

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)

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

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.

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.

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

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

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

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.

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

Sanduhr-Modell – Internet heute

Sanduhr-Modell – Globus Grid

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.

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

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.

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)

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.

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.

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“

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

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

Die Evolution von Software Services (3)

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

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

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

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

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 TradeExceprion If the symbol is not recognized. * @return The cost of the purchase. */ float buy (int quantity, String symbol ) throws TradeException; } Itrader.java

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“ ) ) else throw new TradeException( “symbol “ + symbol + “not recognized“); }

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

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

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

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.

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

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

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

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

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,…

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.

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