Hochleistungsrechnen in Grids ProActive Markus Matz 11.12.2006
Übersicht Grids Merkmale Probleme ProActive Aktive Objekte Knoten Virtuelle Knoten Grid Komponenten Kompatibilität & Anwendungen Markus Matz Hochleistungsrechnen in Grids - ProActive 2
Grid Merkmale groß verteilt heterogen organisationsübergreifend dynamisch Markus Matz Hochleistungsrechnen in Grids - ProActive 3
Grids Probleme Verfügbarkeit Ausfallsicherheit heterogen dynamisch Markus Matz Hochleistungsrechnen in Grids - ProActive 4
Übersicht Grids Merkmale Probleme ProActive Aktive Objekte Knoten Virtuelle Knoten Grid Komponenten Kompatibilität & Anwendungen Markus Matz Hochleistungsrechnen in Grids - ProActive 5
ProActive früher JavaLL Institute National de Recherche en Information et en Automatique, 1998 Grid-Middleware vollständig in Java entwickelt hardwareunabhängig Einzel- und Mehrprozessor geeignet Markus Matz Hochleistungsrechnen in Grids - ProActive 6
ProActive Aktive Objekte für verteilte Systeme angepasste Java Klasse eigener Thread entscheiden welcher Methodenaufruf bearbeitet wird mobil können zu Gruppen zusammengefasst werden Markus Matz Hochleistungsrechnen in Grids - ProActive 7
ProActive Aktive Objekte class A{ } public A(){ } public void foo(...){ } public V bar(...){ } A a = (A) ProActive.newActive(''A'', params, ''rmi://plm.uniks.de/node''); Markus Matz Hochleistungsrechnen in Grids - ProActive 8
ProActive Aktive Objekte wait-by-necessity future object Antwort auf Methodenaufrufe Platzhalter für Ergebnis Methodenaufruf auf future object blockiert, wenn Ergebnis unbestimmt Markus Matz Hochleistungsrechnen in Grids - ProActive 9
ProActive Aktive Objekte a.foo(...); //asynchroner Aufruf v = a.bar(...); //asynchroner Aufruf, liefert ein future object... v.f(...); //blockiert, wenn v noch unbestimmt Markus Matz Hochleistungsrechnen in Grids - ProActive 10
Übersicht Grids Merkmale Probleme ProActive Aktive Objekte Knoten Virtuelle Knoten Grid Komponenten Kompatibilität & Anwendungen Markus Matz Hochleistungsrechnen in Grids - ProActive 11
ProActive Knoten repräsentieren Java Virtual Machines Abstraktion vom wirklichen Standort erzeugen, registrieren, suchen von Aktiven Objekten ermöglichen Migration von Aktiven Objekten Markus Matz Hochleistungsrechnen in Grids - ProActive 12
ProActive Aktive Objekte class A{ } public A(){ } public void foo(...){ } public V bar(...){ } A a = (A) ProActive.newActive(''A'', params, ''rmi://plm.uniks.de/node''); Markus Matz Hochleistungsrechnen in Grids - ProActive 13
ProActive Knoten migrateto(string nodeurl) migrate to the location given by the URL of the node migrateto(node node) migrate to the location of the given node migrateto(object o) migrate to the same location as an existing active object ProActive Manual, S. 147 Markus Matz Hochleistungsrechnen in Grids - ProActive 14
Übersicht Grids Merkmale Probleme ProActive Aktive Objekte Knoten Virtuelle Knoten Grid Komponenten Kompatibilität & Anwendungen Markus Matz Hochleistungsrechnen in Grids - ProActive 15
ProActive Virtuelle Knoten trennen Anwendung von Ausführungsschicht Anwendungen auf verschiedenen Systemen lauffähig fassen Knoten zusammen abstrakte Beschreibung einer Anwendung Quellcode bleibt frei von Maschinennamen und Protokollen Markus Matz Hochleistungsrechnen in Grids - ProActive 16
Übersicht Grids Merkmale Probleme ProActive Aktive Objekte Knoten Virtuelle Knoten Grid Komponenten Kompatibilität & Anwendungen Markus Matz Hochleistungsrechnen in Grids - ProActive 17
ProActive Komponenten modularer Programmaufbau Austauschbarkeit Wiederverwendbarkeit definierte Schnittstellen Markus Matz Hochleistungsrechnen in Grids - ProActive 18
ProActive Komponenten primitive Komponenten implementieren Funktionalität zusammengesetzt Komponenten bestehen aus weiteren Komponenten parallele Komponenten geben Methodenaufrufe parallel an andere Komponenten weiter Markus Matz Hochleistungsrechnen in Grids - ProActive 19
ProActive Komponenten Markus Matz Hochleistungsrechnen in Grids - ProActive 20
Übersicht Grids Merkmale Probleme ProActive Aktive Objekte Knoten Virtuelle Knoten Grid Komponenten Kompatibilität & Anwendungen Markus Matz Hochleistungsrechnen in Grids - ProActive 21
ProActive Kompatibilität HTTP Transport, Jini, OSGi, JMX ssh, rsh, RMI/ssh Tunneling Globus: GT2, GT3, and GT4, sshgsi LSF, PBS, Sun Grid Engine, NorduGrid, Unicore, EGEE glite Markus Matz Hochleistungsrechnen in Grids - ProActive 22
ProActive Anwendungen Einsatz in der Forschung n-damen-problem n-körper-problem Speisende Philosophen Problem 3D Renderer Markus Matz Hochleistungsrechnen in Grids - ProActive 23
ProActive Fragen? Markus Matz Hochleistungsrechnen in Grids - ProActive 24
ProActive Vielen Dank für die Aufmerksamkeit! Markus Matz Hochleistungsrechnen in Grids - ProActive 25