Javelin Internet-based parallel computing using Java.
-
Upload
ros-munster -
Category
Documents
-
view
121 -
download
0
Transcript of Javelin Internet-based parallel computing using Java.
![Page 1: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/1.jpg)
Javelin
Internet-based parallel computing using Java
![Page 2: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/2.jpg)
Themen
Global Computing Zielsetzungen Grundkonzept Problemstellungen Struktur eines Javelin Programms Daten und Versuchsergebnisse Zusammenfassung und Ausblick
![Page 3: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/3.jpg)
Global Computing
Auslastung der am Internet hängenden Computer.
Idee einer Parallelrechner Infrastruktur im Internet.
Bereits existierende Projekte und Beispiele
Javelin
![Page 4: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/4.jpg)
Zielsetzungen Benutzbarkeit Sicherheit Privatsphäre Load Balancing Fehlertoleranz
![Page 5: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/5.jpg)
Grundkonzept
Clients
Hosts
Brokers
![Page 6: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/6.jpg)
Broker Name Service
BNSBNS
Host/ClientHost/Client
BrokerBroker
1. Beim BNS registrieren
5. Connect
3. Broker list2.
BN
S lo
okup
![Page 7: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/7.jpg)
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.
![Page 8: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/8.jpg)
Programmausführung1. Client meldet sich an Broker an2. Client sendet ID und
Klassenname an Broker3. Host fragt bei Broker nach
ausführbarem Code4. 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.
ClientClient
BrokerBroker
HostHost
![Page 9: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/9.jpg)
Arbeitsaufteilung Work Stealing Verwaltung einer Liste mit
Aufträgen Verwaltung einer Liste mit Hosts Probalistische Suche nach Arbeit Deterministische Suche nach
Arbeit
![Page 10: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/10.jpg)
Deterministischer Ansatz
![Page 11: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/11.jpg)
Deterministischer Ansatz
![Page 12: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/12.jpg)
Deterministischer Ansatz
![Page 13: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/13.jpg)
Fehlertoleranz
![Page 14: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/14.jpg)
Fehlertoleranz
![Page 15: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/15.jpg)
Fehlertoleranz
![Page 16: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/16.jpg)
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.
![Page 17: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/17.jpg)
Client - Klassepackage 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]);
}
![Page 18: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/18.jpg)
Host - Klassepackage 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());
}
}
![Page 19: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/19.jpg)
Work - Klassepackage 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;
}
}
![Page 20: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/20.jpg)
Daten und Versuchsergebnisse
![Page 21: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/21.jpg)
Daten und Versuchsergebnisse
![Page 22: Javelin Internet-based parallel computing using Java.](https://reader036.fdocuments.net/reader036/viewer/2022062318/55204d8249795902118d5053/html5/thumbnails/22.jpg)
Zusammenfassung und Ausblick
Praktische Anwendungen
Probleme
Aktueller Stand von Javelin