grid computing

48
Institut für Softwarewissenschaft - Universität Wien P.Brezany 1 Grid Computing Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel. : 01/4277 38825 E-mail : [email protected] Sprechstunde: Dienstag 11.30-12.30 Konzepte, Techniken und Anwendungen

Upload: zurina

Post on 12-Jan-2016

21 views

Category:

Documents


0 download

DESCRIPTION

Grid Computing. Konzepte, Techniken und Anwendungen. Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel. : 01/4277 38825 E-mail : [email protected] Sprechstunde: Dienstag 11.30-12.30. Motivation für Grids Grundbegriffe Bestehende Architekturen - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany1

Grid Computing

Peter Brezany

Institut für Softwarewissenschaft

Universität Wien

Tel. : 01/4277 38825

E-mail : [email protected]

Sprechstunde: Dienstag 11.30-12.30

Konzepte, Techniken und Anwendungen

Page 2: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany2

Lernziele• Motivation für Grids

• Grundbegriffe

• Bestehende Architekturen

• Neue Entwicklungen

– Web Services– Integration von Web Services und Grid Services– OGSS (Open Grid Service Architecture)

Page 3: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany3

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

Page 4: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany4

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

Page 5: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany5

Web im Vergleich zum Grid

ClassicalWeb

ClassicalGrid

More computation

Page 6: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany6

Web im Vergleich zum Grid (2)

ClassicalWeb

SemanticWeb

Ric

her

sem

antic

s

Page 7: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany7

Web im Vergleich zum Grid (3)

ClassicalWeb

ClassicalGrid

SemanticWeb

Ric

her

sem

antic

s

More computation

SemanticGrid

Source: Norman Paton

Page 8: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany8

Grid Computing - Definition• Definition nach www.globus.org1: „The Grid“ ist eine Infrastruktur, die eine integrierte, gemeinschaftlicheVerwendung 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, dassman 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)

Page 9: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany9

Abstrakte Grid Architektur

WN

gn1

gn2

gn5

gn6

gn4

gn3

gni – Grid node (Knoten)

Grid node: Computing Element (CE), Storage Element (SE),

telescope, microscope, etc.

IN

n1 n2

n3n4

ni – compute node

io2

io1

ioi – I/O node

Example:gn2 – combined CE and SE (research of Prof. Schikuta, Univ. Vienna)

Page 10: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany10

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

Page 11: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany11

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)

Page 12: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany12

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

Page 13: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany13

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.

Page 14: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany14

VO Beispiel (2)

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

Page 15: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany15

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

Page 16: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany16

Grid Protokoll Architektur vs. IP Architektur

Application

Fabric“Controlling things locally”: Access to, & control of, resources

Connectivity“Talking to things”: communication (Internet protocols) & security

Resource“Sharing single resources”: negotiating access, controlling use

Collective“Coordinating multiple resources”: ubiquitous infrastructure services, app-specific distributed services

InternetTransport

Application

Link

Inte

rnet P

roto

col

Arch

itectu

re

Page 17: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany17

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

Page 18: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany18

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.

Page 19: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany19

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

Page 20: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany20

Sanduhr-Modell – Internet heute

Page 21: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany21

Sanduhr-Modell – Globus Grid

Page 22: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany22

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.

Page 23: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany23

Modell Architecture für Data Grids

Metadata Catalog

Replica Catalog

Tape Library

Disk Cache

Attribute Specification

Logical Collection and Logical File Name

Disk Array Disk Cache

Application

Replica Selection

Multiple Locations

NWS

SelectedReplica

GridFTP commands PerformanceInformation &Predictions

Replica Location 1 Replica Location 2 Replica Location 3

MDS

Page 24: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany24

Storage Model2 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 Gridenvironment. 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.

Page 25: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany25

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.

file1.DB

Z/data/file1.DB

X/data/file1.DB

Y/data/file1.DB

Replica Catalog

(logical name)

(physical names)X, Y, Z – Grid sites

Page 26: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany26

SQLDatabaseService

This servis allows to efficiently store, retrieve and query verylarge amounts of meta data held in any type of local or remoteRDBMS. The database can be used for the implementation of catalogs.

Spitfire project : A set of grid enabled database middlewareservices – access to relational databases.

Page 27: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany27

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.

Page 28: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany28

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“

Page 29: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany29

Die Evolution von Software Services

Programme in Assembler, C, usw.;Komponentfunktionen kommunizierenin einzelnen Speicherbereich.

Entfernete Programme könnenkollaborieren.

Page 30: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany30

Die Evolution von Software Services (2)

2 LANS, 1 benutzt CORBAund 1 benutzt DCOM

2 verbundene LANS; siebenutzen eine CORBA/DCOMBrücke

Page 31: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany31

Die Evolution

von Software

Services (3)

Page 32: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany32

Die Evolution von Software Services (4)

SOAP ist ein universalles Protokoll, das alles verbindet.

Page 33: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany33

SOAP – Simple Object Access Protocol

Der neue Standard für Netzwerk-Kommunikation zwischensoftware services.

SOAP messages sind über HTTP gesendete XML Dokumente.

Page 34: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany34

SOAP – Simple Object Access Protocol (2)

SOAP Prozessor konvertiert XML Nachrichten in native Aufrufe.

Page 35: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany35

SOAP – Simple Object Access Protocol (3)

Der Client braucht WSDL, bevor er den Service aufruft.

Page 36: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany36

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

Page 37: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany37

Publizierung eines Dienstes (2)

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“);

} }

Trader.java

Page 38: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany38

Publizierung eines Dienstes (3)

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 /soapHTTP.startup (“http://localhost:8003/soap“ );

// publish an instance of TraderRegistry.publish( “trader“, new Trader() );}

}

TraderServer.java

Page 39: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany39

Bindung zu einem Web-ServiceWenn 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 fileString 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 objectfloat ibmCost = trader.buy (54, “IBM“ );System.out.println( “IBM cost is “ + ibmCost );

} }

TraderClient.java

Page 40: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany40

Der Client Proxy

Der binding Prozeß antwortet mit einem proxy, der eine JavaSchnittstelle implementiert, deren Metode die Methodender entferneten Stelle wiederspiegeln.

Page 41: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany41

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.

Page 42: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany42

UDDI• UDDI – Universal Description, Discovery , and

Integration• UDDI ermöglicht Publikation und Abfragen von

Informationen über Services.

Beispiel: “ACME”- Kreditkontrollen

Page 43: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany43

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

Page 44: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany44

Veröffentlichen Finden

Binden

ServiceProvider

ServiceRegistrierung

ServiceVerbraucher

UDDI (3)

Page 45: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany45

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

Page 46: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany46

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

Page 47: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany47

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.

Page 48: Grid Computing

Institut für Softwarewissenschaft - Universität Wien

P.Brezany48

OGSA: Architecture

Factory

Notification

serviceData

WebService

Hosting Environment

Hardware

Client

Definition: WSDLMessages: zB SOAPTransport: zB HTTP

Konventionen

Grid Service

OGSA

Grid-Community

Business-Logic

WebService-Community