institut für softwarewissenschaft - universität wienp.brezany 1 grid computing peter brezany...
TRANSCRIPT
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
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– OGSA (Open Grid Service Architecture)
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
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
Institut für Softwarewissenschaft - Universität Wien
P.Brezany5
Web im Vergleich zum Grid
ClassicalWeb
ClassicalGrid
More computation
Institut für Softwarewissenschaft - Universität Wien
P.Brezany6
Web im Vergleich zum Grid (2)
ClassicalWeb
SemanticWeb
Ric
her
sem
antic
s
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
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)
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)
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.)
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)
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
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.
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.
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
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
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
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.
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
Institut für Softwarewissenschaft - Universität Wien
P.Brezany20
Sanduhr-Modell – Internet heute
Institut für Softwarewissenschaft - Universität Wien
P.Brezany21
Sanduhr-Modell – Globus Grid
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.
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
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.
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
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.
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.
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“
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.
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
Institut für Softwarewissenschaft - Universität Wien
P.Brezany31
Die Evolution
von Software
Services (3)
Institut für Softwarewissenschaft - Universität Wien
P.Brezany32
Die Evolution von Software Services (4)
SOAP ist ein universalles Protokoll, das alles verbindet.
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.
Institut für Softwarewissenschaft - Universität Wien
P.Brezany34
SOAP – Simple Object Access Protocol (2)
SOAP Prozessor konvertiert XML Nachrichten in native Aufrufe.
Institut für Softwarewissenschaft - Universität Wien
P.Brezany35
SOAP – Simple Object Access Protocol (3)
Der Client braucht WSDL, bevor er den Service aufruft.
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
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
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
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
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.
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.
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
Institut für Softwarewissenschaft - Universität Wien
P.Brezany43
UDDI (2)UDDI wirkt als „Heirats“-Vermittler zwischen Service- Anbietern und Konsumenten.
Institut für Softwarewissenschaft - Universität Wien
P.Brezany44
Veröffentlichen Finden
Binden
ServiceProvider
ServiceRegistrierung
ServiceVerbraucher
UDDI (3)
Institut für Softwarewissenschaft - Universität Wien
P.Brezany45
UDDI (4)Öffentliche UDDI-Operatoren synchronisieren regelmäßig ihre Inhalte.
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,…
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.
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