Javelin Internet-based parallel computing using Java.

Slides:



Advertisements
Ähnliche Präsentationen
programmiert April-Juni 2003 von Knut Riechmann
Advertisements

der Universität Oldenburg
der Universität Oldenburg
der Universität Oldenburg
der Universität Oldenburg
der Universität Oldenburg
1 Fraktale Julia-Mengen die Mandelbrotmenge komplexe Abbildungen realisiert als JAVA-Applet.
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Einführung in die Programmierung Ausführbare Klassen
Java News & Music Der Chat
Threads Richard Göbel.
Java: Objektorientierte Programmierung
FH-Hof Sockets in Java Richard Göbel. FH-Hof Kommunikation über das Internet - Grundlagen Ein Rechner wird im Internet über die so genannte IP- Adresse.
Java: Grundlagen der Sprache
Java: Grundlagen der Objektorientierung
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
M a r c – o l i v e r p a h l Die ObjektOrientierte Mühle Das Beispiel soll noch einmal das Konzept der Objektorientiertheit erläutern. Dabei werden außerdem.
Imperative Programmierung Funktionen und Parameter
PKJ 2005/1 Stefan Dissmann Methoden (Motivation) Idee: Identische Programmabschnitte zusammenfassen und mit einem Namen versehen Vorteile: Übersichtlichkeit.
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
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 Vorwoche Programm besteht aus mehreren Bestandteilen: Schlüsselwörter Sonderzeichen Bezeichner Kommentare Texte.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
JAVA RMI.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Einführung in Java1 Einführung in JAVA.
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Bestimmung des ggT zweier Zahlen
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Einfach verkettete Listen
Erste Schritte mit Eclipse Neues Projekt erstellen (1)
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Wir bauen uns eine Webapplikation!
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Java und Eclipse.
Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Grundlagen der Informatik I Thema 16: Ausnahmebehandlung.
7.1.5 Java RMI – Remote Method Invocation
Einfach und doppelt verkettete Listen in JAVA by Jens Weibler
Optimale Ursprungsgerade
CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002.
Starten der Entwicklungsumgebung (IDE)
Learning By Doing Parallelverarbeitung Multithreading (Nebenläufigkeit) Alte Idee der Parallelverarbeitung statt rein sequentieller Prozesse Parallelverarbeitung.
Seminar aus Softwareentwicklung
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
JUnit Grundkonzept Gruppe Markt. JUnit: Ziele Einfachheit: –Leicht erlernbare, bekannte Tools –Möglichst wenig Aufwand für die Implementierung von Testfällen.
Parallelisierung für Multiprozessor-Maschinen
Java Thread Scheduling Jin Zhou Proseminar Java Thread Scheduling November 2000.
Hauptseminar 2001 „Parallele Programmierung in Java“ - JPVM- Java Parallel Virtual Machine Referent: Sebastian Steininger.
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Schleifen
Programmiervorkurs WS 2014/15 Instanzmethoden
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Voyager Eigenschaften/Vorzüge Universalität: –ROI-Modelle: CORBA, RMI, DCOM –verschiedene Namens-, Verzeichnisdienste Nachrichtentypen: synchron, oneway,
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
Übung Informatik I exercise01. 2 Inhaltsübersicht Nachbesprechung Übung 1 Individuelle Fragen/Bemerkungen.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Java Programme nur ein bisschen objektorientiert.
Vererbung.
Mit der Turtle Java Programmieren
Cäsar-Verschlüsselung
Grundkurs Informatik mit Java
Cäsar-Verschlüsselung
Ein Referat von Sabrina Vissel, darleen paul und yannick fuchs
Implementieren von Klassen
 Präsentation transkript:

Javelin Internet-based parallel computing using Java

Themen Global Computing Zielsetzungen Grundkonzept Problemstellungen Struktur eines Javelin Programms Daten und Versuchsergebnisse Zusammenfassung und Ausblick

Global Computing Auslastung der am Internet hängenden Computer. Idee einer Parallelrechner Infrastruktur im Internet. Bereits existierende Projekte und Beispiele Javelin

Zielsetzungen Benutzbarkeit Sicherheit Privatsphäre Load Balancing Fehlertoleranz

Grundkonzept Clients Hosts Brokers

Broker Name Service BNS Host/Client Broker 1. Beim BNS registrieren 5. Connect 3. Broker list 2. BNS lookup

Broker Management Jeder Broker kann nur eine feste Anzahl von Hosts verwalten. Nur Rechner mit permanentem Internetzugang und fester IP sind als Broker brauchbar. Unterscheidung in primäre und sekundäre Broker.

Programmausführung 1. Client meldet sich an Broker an 2. Client sendet ID und Klassenname an Broker 3. Host fragt bei Broker nach ausführbarem Code 4. Broker überträgt Client ID, Klassenname und alle nötigen Daten an Host. 5. Die Anwendung wird in einem eigenen Thread ausgeführt. 6. Resultate werden an den Client zurückgeliefert. Client Broker Host

Arbeitsaufteilung Work Stealing Verwaltung einer Liste mit Aufträgen Verwaltung einer Liste mit Hosts Probalistische Suche nach Arbeit Deterministische Suche nach Arbeit

Deterministischer Ansatz

Fehlertoleranz

Aufbau eines Javelin- Programms Client Klasse zum Starten und zur Übergabe von Parametern. Host Klasse zur Ausführung auf einem Host Rechner. Work Klasse zur eigentlichen Berechnung der Problems.

Client - Klasse package javelin.beispiel Public class Client implements ResultListener, DoneListener { public Client (String broker) { jClient = new JavelinClient(„javelin.beispiel.Host“, broker); dm = new JavelinDDeque(new Work(), this); } Public void handleResult(Serializable result) { } Public void workDone() { jClient.terminate(); } Public static void main(String[] args) { Client client = new Client(args[0]); }

Host - Klasse package javelin.beispiel public class Host implements Runnable { public Host() { dm = new JavelinDDeque(); } public void run() { for(Work work = (Work)dm.getWork(); work != null; work = (Work)dm.getWork()) dm.returnResult(work.doWork()); }

Work - Klasse package javelin.beispiel; public class Work implements Splittable, Serializable { public String doWork() {.... return result; } public Splittable[] split() { Work[] works = {new Work(par 1), new Work(par 2)}; return works; } public int getSplitSize() { return 2; }

Daten und Versuchsergebnisse

Zusammenfassung und Ausblick Praktische Anwendungen Probleme Aktueller Stand von Javelin