Parallele Programmierung in Java

Slides:



Advertisements
Ähnliche Präsentationen
Software Engeniering II
Advertisements

Objektorientierte Programmierung
Seminar Internet-Technologien : Java
DGC 1. 2 Motivation x new(x) delete(x) Speicher DGC 3 Inhalt Einführung GC / DGC Der ideale DGC Algorithmen Zusammenfassung.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Einführung in die Programmierung Ausführbare Klassen
Einführung in die Programmierung Zusammenfassung
DI Christian Donner cd (at) donners.com
Objektorientierte Programmierung Definition von Klassen
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Internetzugriff mit Strings und Streams
Ausnahmen HS Merseburg (FH) WS 06/07.
Threads Richard Göbel.
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
Simon Georg Pinkel Alice Server Pages Funktionale Programmierung und das Web.
Ein Beispiel in Java.
OpenMP Präsentation im Rahmen des Seminars
Vs Facetten der Verteilungsabstraktion Verteilungsabstraktion (distribution transparency) ist Sammelbegriff für verschiedene Eigenschaften eines.
Einführung in die OOP in Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
PRJ 2007/1 Stefan Dissmann Motivation Problem: Benutztes Objekt kennt den Kontext seiner Nutzung nicht. Daher kann es in besonderen Situationen keine Entscheidung.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
JAVA RMI.
1 Reverse Engineering WS 07 / 08 A. Zündorf. Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 2 Organisatorisches.
Remote Methode Invocation (RMI)
DVG Klassen und Objekte
Java in 9 Folien Besser: Online-Buch Go to Java 2.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Programmierung im Netz und Internet: Einführung in die Programmiersprache Java Teil I 1 Klassen Objekte von.
Werkzeugunterstützte Softwareadaption mit Inject/J
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
YouTube5 .0 Projektpräsentation
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Einführung in die Programmierung
EJB-Applikationsserver
Netzwerkprogrammierung
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
Beschreiben Sie das Szenario wenn ein ORB einen Server aktiviert und eine Objektimplementation aufruft. Activate Server impl_is_ready Activate Object (GetID.
Stellen Sie nochmals statischen und dynamischen Methodenaufruf gegenüber.
7.1.5 Java RMI – Remote Method Invocation
Wilfried Imrich CuP - Java Erste Vorlesung Entspricht ungefähr Kapitel 1.1 des Skriptums Wilfried Imrich Montanuniversität Leoben Freitag, 4. Oktober 2002.
Drucken mit XSL-FO DaimlerChrysler  Drucken von Webseiten
JAVA/DSM A Platform for Heterogeneous Computing Serge F. Possono M. Technische Universität Muenchen (TUM) Lehr- und Forschungseinheit Informatik X Rechnertechnik.
Parallelisierung für Multiprozessor-Maschinen
Voyager Eigenschaften/Vorzüge Universalität: –ROI-Modelle: CORBA, RMI, DCOM –verschiedene Namens-, Verzeichnisdienste Nachrichtentypen: synchron, oneway,
Parallele Programmierung im.NET Framework Darmstadt, Präsentation am Beispiel von C-Sharp (C#)  Wichtige Grundlagen  Generika, Delegate, Lambda,
Robuste Programme durch Ausnahmebehandlung
7.2.4 Klassifikation mobilen Codes Nicht vergessen:  Sowohl das Fernkopieren als auch die Migration von Objekten setzt voraus, daß der Code entweder am.
PhysX auf der GPU in Batman: Arkham Asylum & bei Fluid Simulations Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie.
Vorlesung Einführendes Beispiel-
Einführung in die Programmierung mit Java
Einführung in die Programmierung mit Java
Threads in Java Threads  Sprachumfang von Java Der Java-Standard fordert nur die Unterstützung von Thread-Prioritäten. Es gibt keine Forderung bzgl.:
NET Remoting.Net („dotnet“) :von Microsoft eingeführte Plattform für verteilte Anwendungen, virtuelle Maschine für die verteilte Ausführung von.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,
Rusch Philipp, Spiegel Philipp, Sieber Michael, Ucar Sahin, Wetzel Markus.
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
Einführung in AspectJ ● Inhalt: 1)Überblick 2)Elemente des crosscuttings in AspectJ 3)„Hello World“ in AspectJ 4)Wie Aspekte in Java verwoben werden 5)Join.
(mobile objects, auch Objektmigration, object migration)
Tutorstunde 10.
 Präsentation transkript:

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

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

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

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

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

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

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

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

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

Entfernte Klassen Entfernte Objekthierachie

Entfernte Klassen Generierte Klassen

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

Laufzeitsystem Struktur

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

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

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

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

Installationsanleitung Schluß Informationen Dokumente JavaParty-HomePage: http://wwwipd.ira.uka.de/JavaParty/ Antworten Meine mail: kreutzer@jambit.com Downloads Installationsanleitung