Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Javelin Internet-based parallel computing using Java.

Ähnliche Präsentationen


Präsentation zum Thema: "Javelin Internet-based parallel computing using Java."—  Präsentation transkript:

1 Javelin Internet-based parallel computing using Java

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

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

4 Zielsetzungen Benutzbarkeit Sicherheit Privatsphäre Load Balancing Fehlertoleranz

5 Grundkonzept Clients Hosts Brokers

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

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

8 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

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

10 Deterministischer Ansatz

11

12

13 Fehlertoleranz

14

15

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

17 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]); }

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

19 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; }

20 Daten und Versuchsergebnisse

21

22 Zusammenfassung und Ausblick Praktische Anwendungen Probleme Aktueller Stand von Javelin


Herunterladen ppt "Javelin Internet-based parallel computing using Java."

Ähnliche Präsentationen


Google-Anzeigen