Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Parallele Programmierung in Java

Ähnliche Präsentationen


Präsentation zum Thema: "Parallele Programmierung in Java"—  Präsentation transkript:

1 Parallele Programmierung in Java
Hauptseminar Parallele Programmierung in Java Transparente verteilte Objekte Arnim Kreutzer

2 Einführung Inhalt Schluß Laufzeitumgebung Entfernte Klassen Einführung

3 Einführung Motivation
Nachteile Sockets keine GC, entfernte Adressen / Methodenaufrufe, Data Marshaling Nachteile RMI Zusätzliche Exceptions, örtlich gebundene Objekte, keine Migration

4 Programmierumgebung für Cluster Applications
Einführung Ziele Programmierumgebung für Cluster Applications Forschungsplattform

5 Einführung Grundlagen
Studienarbeit von Matthias Zenger: „Transparente Objektverteilung in Java“ 1997 Java RMI / KARMI

6 Einführung Highlights
Java-like multi-threaded Programmierung Javas Objektsemantik Entfernte Threads Dynamische Objektverteilung Explizite Plazierung von Objekten/Threads Synchronisation entfernter Objekte Optimierte Örtlichkeiten

7 Entfernte Klassen Aufteilung
class B statischer Anteil nicht-statischer Anteil Class B_class Repräsentation des statischen Anteils von B Class B_impl Repräsentation des nicht- statischen Anteils von B

8 Entfernte Klassen Kompilieren
JavaParty Code JavaParty Compiler JPC JavaParty Transformation Regulärer Javacompiler Pures Java mit RMI Ausdrücken Regulärer RMI Stub & Skeleton Generator Portable ByteCode

9 Entfernte Klassen Objekthierachie
remote class B extends A implements C C B A Object Eingeführter Klassenmodifikator

10 Entfernte Klassen Entfernte Objekthierachie

11 Entfernte Klassen Generierte Klassen

12 Entfernte Klassen Synchronisation
Problem: Keine maschinenübergreifende Threads Klasse für Signalobjekte und Monitorklasse Aktuell: Arbeit an transparente Synchronisation

13 Laufzeitsystem Struktur

14 Laufzeitumgebung Objektinstantiierung I
Wie? Lokale Instantiierung Umzug auf Ziel-JVM Nachteil: teuer Instantiierung auf Ziel-JVM

15 Laufzeitumgebung Objektinstantiierung II
B (T z) { ...getConstrObj („B“)._new (z); } Handle B_intf _new (T z) {... return new B_impl (z); Konstruktorobjekt B_impl (T z) ... Entferntes Objekt new B (x) Lokale JVM Entfernte JVM

16 Laufzeitumgebung Objektmigration
1. Signal von der Ziel JVM an Objekt, dass Umzug beginnen soll 2. Feststellung der Umzugsfähigkeit / Sperre setzen / Serialisieren 3. Erzeugung eines neuen Objekts (Kopie) aus serialisierter Form / Stubreferenz an noch aktuelles Objekt schicken 4. Das jetzt veraltete Objekt setzt einen Verweis auf neuen Stub

17 Schluß Zusammenfassung
+ Anforderungen gut umgesetzt - Inkonsistenzen bei der Migration - Sourcecode nicht gut dokumentiert

18 Installationsanleitung
Schluß Informationen Dokumente JavaParty-HomePage: Antworten Meine mail: Downloads Installationsanleitung


Herunterladen ppt "Parallele Programmierung in Java"

Ähnliche Präsentationen


Google-Anzeigen