Fraunhofer Resource Grid

Ähnliche Dokumente
Fraunhofer Resource Grid

Instant Grid Stand Mai 2006

Instant Grid. Griddix Projekttreffen Göttingen. Andreas Hoheisel Seite 2. Hoheisel_2005_InstantGrid

ERAMAS. Umweltrisikoanalyse- und managementsystem. FIRST Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik

Instant Grid Stand August 2006

Instant-Grid. als Baukasten für Grid-Workflows. Ulrich Schwardmann. Gesellschaft für wissenschaftliche Datenverarbeitung mbh Göttingen

Ein Komponentenmodell für Softwarekomponenten des Fraunhofer Resource Grid

Instant Grid Stand Februar 2006

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit Grid Systeme 1

Abschlussvortrag zur Bachelorarbeit. Konzeption und Aufbau eines Grid Testlabors am Beispiel des Globus Toolkit 4

Grundlagen des Grid Computing

Service Oriented Architecture für Grid-Computing

Grundlagen des Grid Computing

Grundlagen des Grid Computing

Steffen Hofmann Freie Universität Berlin ZEDAT Identity Management & Media (IM) Einführung in Spring Web Flow

OpenPDM. The Integration Platform. Dr. Karsten Theis PROSTEP AG PROSTEP AG Dolivostraße Darmstadt

Scheduling Mechanisms for the Grid

Protokoll. über das Kickoff-Meeting Instant-Grid am 14. November 2005

Web Services Composition (BPWS4J )

Prozessunterstützung durch Grid- Workflows

Ralf Enderle Grid Computing. Seminar am Institut für verteilte Systeme im WS 07/08 - Forschungstrends im Bereich Verteilte Systeme -

Linux - a bit advanced

BMC Control M Tipps & Tricks 3

Use Case Dynamo. D-Grid Review

Generierung von Steuerungsprogrammcode für SPS und μc aus Petri-Netz-Modellen

1 Bestehende Middleware - Komponenten

Dämon-Prozesse ( deamon )

Absicherung von Grid Services Transparenter Application Level Gateway

Das Instant-Grid ein Grid-Demonstrations-Toolkit

Software-Engineering SS03. Zustandsautomat

DGI-2 ZentraleDienste

Nebenläufige Programme mit Python

Transaktionen in der Praxis. Dr. Karsten Tolle

Wiederholungsanweisungen. fußgesteuert kopfgesteuert Zählschleife

Linux Prinzipien und Programmierung

VNUML Projektpraktikum

Grundlagen des Grid Computing

SAS Metadatenmanagement Reporting und Analyse

Hochleistungsrechnen in Grids. Seminar: Grid-Middleware. Mirko Dietrich 4. Dezember 2006

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Validiert das RTF-Template auf syntaktische Fehler und gibt Hinweis auf Zeilennummer in der RTF-Datei. der eingebetteten XML-Daten

Securing SOAP e-services

Liferay-Portal für Gridanwendung

Hauptseminar Data Grid

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

Shell-Scripting Linux-Kurs der Unix-AG

Monitore. Klicken bearbeiten

Explizite Cursor. Cursor. Steuerung des expliziten Cursors. Explizite Cursor Funktionen

GridMate The Grid Matlab Extension

Prozesse. Stefan Janssen. Alexander Sczyrba

Javakurs für Anfänger

Grundlagen des Grid Computing

Vorbesprechung. LVA-Leiter: Leiter: T. Fahringer Büro: ICT Gebäude, 2. Stock, Tür 3M06 Mail: dps.uibk.ac.

Geschäftsprozessmodellierung essmodellierung mit BPEL

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen

Java und XML 2. Java und XML

Grundlagen zur nebenläufigen Programmierung in Java

SHELL WE BEGIN? EINE EINFÜHRUNG IN DIE SHELL. Max Rosin - ANKÜNDIGUNGEN

Bash-Scripting Linux-Kurs der Unix-AG

Zeitlich abhängig von OWB?

Wissenschaftliche Vertiefung Web Services. Esslingen, 22. Januar 2016 Simon Schneider

Petri-Netze / Eine Einführung (Teil 2)

Wiederholung: Beginn

Möglichkeiten der Orchestrierung von Grid Web Services mit BPEL. Uschi Beck Marko Brosowski

Inhalt 12 Petri-Netze Grundlagen

A Generic Database Web Service for the Venice Lightweight Service Grid

VoiceXML 3.0. Jan Pit Wagner Fachbereich Informatik Seminar Moderne Webtechnologien 25. November 2009

Einführung - Systeme

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Oracle Fusion Middleware Überwachung mit Oracle BAM

Monitoring der GEO600-Jobs Beispiel für Applikations- Monitoring

SOA goes real Service-orientierte Architekturen erfolgreich planen und einführen

Event Stream Processing & Complex Event Processing. Dirk Bade

Integration of D-Grid Sites in NGI-DE Monitoring

Open Grid Services Architecture (OGSA)

Metadata Service Respository (MDS) - Sehen, lernen, verstehen!

Datenbanksysteme I Datenbankprogrammierung Felix Naumann

Prozedurale Datenbank- Anwendungsprogrammierung

Dirk Reinemann Working Student Sales Consulting

The process runs automatically and the user is guided through it. Data acquisition and the evaluation are done automatically.

IT / Softwareentwicklung. Webservice für Transaktionsnachrichten

Steuerungsstrukturen. Ablaufsteuerung der PL/SQL Ausführung. IF Anweisungen. Einfaches IF

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

XML-RPC zur Backend- Kommunikation in einem mobilen SBB-Projekt

Softwareupdate-Anleitung // AC Porty L Netzteileinschub

Technologische Entwicklung von GIS und Internet der letzten Jahre

Multidisziplinäre und verteilte Simulationen in der Industrie

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Programmierkurs Java

BIS-Grid: Kommerzieller Einsatz von Grid-Middleware am Beispiel betrieblicher Informationssysteme. Prof. Dr. W. Hasselbring

glite Testbed am RRZN und Workload Management Grid Seminar 2005 Stefan Piger, Jan Wiebelitz

Einführung in die technische Informatik

Einführung in die Informationstechnik. Eingabe - Verarbeitung - Ausgabe CIUS - KREISLICHT. Realschule Tamm Technik Axel Steinbach

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

Parallelverarbeitung mit Ruby

3-schichtige Informationssystem-Architektur

Flexibilität im Prozess mit Oracle Business Rules 11g

Business Process Management schlägt die Brücke zwischen Geschäftsprozessen und Service-orientierter Architektur

Die Zukunft steuern mit CONTROL-M/Forecast 6.3. Ditzingen, Juni 2007

Transkript:

Fraunhofer Resource Grid

Fraunhofer Resource Grid Grid Job Handler auf Basis von Petrinetzen Andreas Hoheisel (andreas.hoheisel@first.fraunhofer.de) Uwe Der (uwe.der@first.fraunhofer.de)

n User Run Simple Globus Job Run Grid Job Assemble/ Run Grid Job Solve Problem 1 Web Portal Task Mapping GResourceDL 1 Web Services GResourceDL Repository n GResourceDL (SOAP) Java Application Grid Job Builder GResourceDL (SOAP) <hardware> <software> <data> <user> GJobDL (SOAP) Web Service m Grid Job Handler 1 (Meta) Scheduler RSL (GRAM), GridFTP Globus MDS, LDAP Seite 3

Bausteine des FhRG: Grid Job Handler (FIRST) Grid Job Handler Software zur Ausführung und Steuerung von gekoppelten Grid-Anwendungen Prozessmodellierung Verteilung des Grid-Jobs auf die geeigneten Ressourcen Abarbeiten des Jobs unter Verwendung von Grid- Middleware (z.b. Globus Java Commodity Grid Kit) Komponentenumgebung Monitoring Integration ins FhRG lose Kopplung von Komponenten über Dateieingabe/Ausgabe Job-Status (Pending, Active, Failed, Done) Kommunikation mit anderen FhRG-Diensten per SOAP ( WebService) Seite 4

Seite 5

Wieso Petrinetze? Seite 6

Motivation Problem Beschreibung komplexer Prozessabläufe von Grid- Anwendungen DAG B A C Directed Acyclic Graph (siehe Condor, Cactus, UNICORE) keine bidirektionale Kopplung (Interaktion) keine Schleifen D PARENT A CHILD B C PARENT B C CHILD D Petrinetze Grafische Ablaufsteuerung diskreter Systeme A B Seite 7

Petrinetze Stellen Transitionen Dateien, Kontrollstellen Softwarekomponenten, Kontrolltransitionen Pfeile von Stellen nach Transitionen (Stelle ist Eingabestelle der Transition) Pfeile von Transitionen nach Stellen (Stelle ist Ausgabestelle der Transition) Marken Daten, Zustand (failed, done,...) Regeln Verfeinerung Beschreibung des Zustands Eine Transition ist aktiviert, wenn alle ihre Eingabestellen belegt sind und alle Ausgabestellen noch nicht ihre maximale Kapazität erreicht haben Eine Transition kann durch ein Petrinetz ersetzt werden Petrinetz beschreibt nicht nur Prozessablauf, sondern auch Zustand des Systems Seite 8

Petri Nets (from van der Aalst und Kumar, 2000) Task Sequence Choice Seite 9

Petri Nets Condition Seite 10

Petri Nets Parallel execution with synchronization Seite 11

Petri Nets Parallel execution without synchronization Seite 12

Petri Nets Wait all with time out Seite 13

Petri Nets Wait any with time out Seite 14

Petri Nets While do Seite 15

Spezielle Transitionen Seite 16

JobHandler: Transitionen vom Typ MethodCall <transition id = "unpack_data"> <methodcall>unpack()</methodcall> </transition> unpack() unpack(): Entpacken von tar.gz-dateien transferdata(): Übertragen von Dateien transferexecutable(string softwaretransitionid): Übertragen der ausführbaren Dateien auf den Zielrechner transferdata(string softwaretransitionid): Übertragen von Eingabedateien auf den Zielrechner Seite 17

JobHandler: Transitionen vom Typ Condition <transition id = "A_done"> <condition>isdone()</condition> </transition> isdone(): Wahr, wenn alle Eingabestellen true isfailed(): Wahr, wenn mindestens eine Eingabestelle false countlt(int maxcount): Zählt die Anzahl, wie oft eine Transition bisher geschaltet hat. Wahr, falls Anzahl kleiner als maxcount negate(string transitionid): Negierung der Bedingung einer anderen Transition (entspricht ELSE bei IF THEN), z.b. negate(count.lt.7) schaltet nur dann, wenn die Bedingung der Transition count.lt.7 nicht erfüllt ist Seite 18

FhRG Loop begin end count < 7!(count < 7) transferexecutable(addhostname) unpack() addhostname start exit status HostList oldhostlist stdin input stdout stderr newhostlist transferdata(addhostname) transferdata(addhostname) Seite 19

XML-Beschreibung von Petrinetzen Seite 20

Beschreibung von Petrinetzen in XML PNML Petri Net Markup Language (modified from Jüngel, Kindler, Weber; HU-Berlin) <place id="start"> <initialmarking> <value type="boolean" op="eq">true</value> </initialmarking> </place> <place id="output"/> <transition id="program"/> <arc type="p2t" id="arc1"> start <placeref id="start" /> <transitionref id="program" /> </arc> <arc type="t2p" id="arc2"> <transitionref id="program"/> <placeref id="output" /> </arc> program output Seite 21

Ablauf GridJobHandler Seite 22

Ablauf JobHandler Einlesen des GJobDL-Dokuments per validierenden DOM-Parser Erzeugen des Petrinetzes aus der Job-Beschreibung Prüfen des Petrinetzes (Wohlgeformtheit, Lebendigkeit, Deadlocks, Fallen,...) Start des GridJobs (eigener Thread) Sammeln aller aktivierten Transitionen Ggf. Auswerten von Bedingungen (conditions) Sperren der Eingabe- und Ausgabestellen (lock) Ggf. Resource Mapping Repository, (Meta-)Scheduler Ggf. Verfeinern des Petrinetzes Einfügen eines GridFTPs Ggf. Erzeugen und Submitten des AtomicJobs per GRAM Transition schaltet, wenn Atomic Job done oder failed. Eingabe- und Ausgabestellen werden freigegeben (unlock) Seite 23

Sammeln aller aktivierten Transitionen begin failed d25.dat d26.dat start stdin input 1 input 2 cat.sh exit status stdout stderr output 1 done d25-26.dat d27.dat start stdin input 1 input 2 cat.sh exit status stdout stderr output 1 failed end done d25-27.dat Seite 24

Sperren der Eingabe- und Ausgabestellen begin failed d25.dat d26.dat start stdin input 1 input 2 cat.sh exit status stdout stderr output 1 done d25-26.dat d27.dat start stdin input 1 input 2 cat.sh exit status stdout stderr output 1 failed end done d25-27.dat Seite 25

Resource Mapping Resource Manager Contact = harlekin.first.gmd.de: begin failed d25.dat d26.dat cat.sh start exit status stdin stdout stderr input 1 output 1 input 2 done d25-26.dat harlekin.first.gmd.de:/tmp/d25.dat d27.dat p1.itwm.uni-kl.de:/data/d26.dat failed harlekin.first.gmd.de:/tmp/d25-d26.dat end cat.sh start exit status stdin stdout stderr input 1 done d25-27.dat output 1 input 2 Seite 26

Verfeinern des Petrinetzes Einfügen eines GridFTPs Resource Manager Contact = harlekin.first.gmd.de: cat.sh begin cat.sh d25.dat d26.dat start stdin input 1 input 2 exit status stdout stderr output 1 d25-26.dat harlekin:d26.dat GridFTP p1.itwm.uni-kl.de:/data/d26.dat Seite 27

... Schalten der Transition begin failed d25.dat d26.dat start stdin input 1 input 2 cat.sh exit status stdout stderr output 1 done d25-26.dat d27.dat start stdin input 1 input 2 cat.sh exit status stdout stderr output 1 failed end done d25-27.dat Seite 28

Sammeln aller aktivierten Transitionen... Konflikt Auswerten der Bedingungen isfailed() und isdone() begin failed d25.dat d26.dat start stdin input 1 input 2 cat.sh exit status stdout stderr output 1 done d25-26.dat d27.dat start stdin input 1 input 2 cat.sh exit status stdout stderr output 1 failed end done d25-27.dat Seite 29

Beispiel einer Grid- Anwendung: ERAMAS Seite 30

ERAMAS: Schadstofftransport in der Atmosphäre: Unfall Quellstärkemodul Atmosphärenmodell Expositionsmodell start Eingabedaten Diagnostisches Windfeldmodell dwm Ausgabedaten dwm Benutzerschnittstelle Eingabedaten Ausgabedaten Quellstärkemodul Quellstärkemodul Quellstärkemodul Unfallspezifische Daten (Ort, Schadstoff,...) Preprocessing Eingabedaten Lagrange Lagrange Ausgabedaten Lagrange Eingabedaten Bewertung Modell Bewertung Ausgabedaten Bewertung Eingabedaten Visualisierung Visualisierung end Seite 31

Ausblick Seite 32

Ausblick Petrinetze und OGSA? Feingranulare Kopplung? Wie gliedert sich Prozessmodellierung mit Petrinetzen in OGSA ein? Bisher: Eine Transition eine Softwarekomponente Zukunft: Eine Transition eine spezielle Funktionalität einer Softwarekomponente (Methodenaufruf) Komponentenarchitektur a la CORBA, WebService Simulation von Petrinetzen Prognose für advanced reservation von Ressourcen ( Scheduler) auf Basis von Software und Hardware- Benchmarks Weitere Informationen http://www.fhrg.fhg.de http://www.andreas-hoheisel.de Seite 33