JAVA/DSM A Platform for Heterogeneous Computing Serge F. Possono M. Technische Universität Muenchen (TUM) Lehr- und Forschungseinheit Informatik X Rechnertechnik.

Slides:



Advertisements
Ähnliche Präsentationen
E-Commerce Shop System
Advertisements

Imperative Programmierung
DGC 1. 2 Motivation x new(x) delete(x) Speicher DGC 3 Inhalt Einführung GC / DGC Der ideale DGC Algorithmen Zusammenfassung.
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
Beim Start eines Prozesses in Windows NT, 2000 wird a der Programmtext aus der exe-Datei ab der dort angegebenen Adresse gespeichert.
PC-Cluster.
Vs61 6 Verteilte Datenverwaltung. vs62 Ziel:Zusammengehöriger Datenbestand soll über mehrere Stationen verteilt werden, z.B. Fragmentierung: in mehrere.
der Universität Oldenburg
der Universität Oldenburg
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
SAP R/3 - Speichermanagement
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Indirekte Adressierung
Garbage Collection Maik Theisen Betreuer: Guido Tack
SciAgents - Eine agentenbasierte Umgebung für verteilte wissenschaftliche Berechnungen Alexander StarkeSeminar Software Agenten
CIDOC-CRM Universität zu Köln Historisch-kulturwissenschaftliche Informationsverarbeitung AM 2 Dozent: Prof. Dr. Manfred Thaller Referent: Nelson Marambio.
1 Named Pipes alias FIFO Haben einen Eintrag im Dateisystem und sind somit durch Zugriffsrechte identifizierbar Ermöglichen die Kommunikation zwischen.
OpenMP Präsentation im Rahmen des Seminars
Sebastian Grahn Sebastian Kühn
7 Verteilungsabstraktion
Studiengang Informatik FHDW
XML in Client-Server und GRID Architektur
JAVA RMI.
Seminar: Architekturbeschreibungssprachen
Vortrag III Hier in der Vorlesungszeit! Anwesenheitspflicht Jede Gruppe hat 6 Minuten! Stellt eure GUI vor –was ihr besonderes gemacht habt –Spektakuläre.
Software Design Patterns Extreme Programming (XP).
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
... und alles was dazugehört
Space Based Computing VU SS08
Evaluierung des ITU-T.124 Telekonferenzstandards
Entwicklung verteilter eingebetteter Systeme - Einführung
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 4 Folie 2 Message Passing mittels Sockets (1) s.a.
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Mark & Sweep Seminar Softwareentwicklung: Garbage Collection Eva Schartner.
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Grundlagen der Informatik I Thema 16: Ausnahmebehandlung.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 2 Folie 2 ASP.NET HTTP-Handler (1)
Dynamische Datentypen
Replikation und Synchronisation
Management- und Web Services- Architekturen
Thread Synchronisation in JAVA
Objectives Verstehen was unterDelegate verstanden wird
Mark – Compact GC & Performancemessungen Bernhard Prügl,
Verteilte Systeme Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Verteilte Systeme Entwicklung.
Thomas Negeli | Reference Counting I Folie 1 / 20 Seminar Garbage Collection | WS2005 Reference Counting I Negeli Thomas.
Die Idee hinter Copying Garbage Collection (1) Aufteilung des Heaps in zwei Teile: To-Space und From-Space Nutzung eines Teiles durch das Programm Ist.
Multiprozessoren: Herausforderung für die Software
Systemsoftware und Betriebssysteme
Interprozess- kommunikation (IPC)
Parallele Programmierung in Java
Hauptseminar 2001 „Parallele Programmierung in Java“ - JPVM- Java Parallel Virtual Machine Referent: Sebastian Steininger.
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
->Prinzip ->Systeme ->Peer – to – Peer
Autor: Timo Pagel Nutzung: Diese Lernkarten sind für die Nutzung mit OpenCards gedacht Siehe dazu
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Middleware in Java vieweg 2005 © Steffen Heinzl, Markus Mathes Kapitel 1: Architektur verteilter Systeme.
Distributed Database Systems Parallele Datenbanksysteme von Stefan Schneider.
C Tutorium – Memory Management – Knut Stolze. 2 Agenda Einführung in die Speicherverwaltung Stack vs. Heap Malloc Free Sizeof Tipps/Hinweise.
Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber
XML Technologie für NOKIS Software Wassilios Kazakos, Andreas Schmidt, Alexei Valikov, Alexei Akhounov FZI Forschungszentrum Informatik Karlsruhe
Multiprocessing mit OpenMPI Marius Albath. Vorlesung Betriebssysteme, Was ist OpenMPI Was ist OpenMPI OpenMPI Standard Setup OpenMPI Standard.
© 2008 TravelTainment The Amadeus Leisure Group Thread-Programmierung im Qt-Framework Von: Simon Lubberich Erstbetreuer:
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Einflußreiche Systeme Dr. Wolfgang Wörndl.
© 2016 TravelTainment Einführung in die Garbage Collection Seminarvortrag Lars Frauenrath 1.
Strukturen (Eigenschaften) Strukturen dienen zur Zusammenfassung mehrerer Komponenten verschiedener Typen zu einer Einheit, die dann mit gemeinsamen Namen.
Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS Automatische Speicherverwaltung.
Remote Method Invocation
Shared Memory Programmierung: Grundlagen
 Präsentation transkript:

JAVA/DSM A Platform for Heterogeneous Computing Serge F. Possono M. Technische Universität Muenchen (TUM) Lehr- und Forschungseinheit Informatik X Rechnertechnik und Rechnerorganisation/ Parallelrechnerarchitektur Themensteller:Prof. Dr. Michael GerndtProf. Dr. Michael Gerndt (SS 2001)

Übersicht TUM - Design von JAVA/DSM - Einige Programmiermodelle(DSM) - Motivationen

Problemstellung Hardware Unterschiede -Verschiedene Darstellung von Daten -Kodeanpassung für jede Architektur

Verteilte Beschaffenheit des Systems -heterogene Systeme sind auch verteilte Systeme -Notwendigkeit von Kommunikation zwischen Maschinen -Konvertierung von komplexen Daten

Einige Programmiermodelle Message Passing - message passing libraries.Basisfunktionen: send(), receive().Datenkonvertierungsroutinen: pack(), unpack().Keine Unterstützung von komplexen Daten

-Remote procedure call (RPC).Schnittstelle mit spezifischen Funktionen.automatisches Ein-/ und Auspacken von Nachrichten. Definition der Schnittstelle.Sichtbarkeit des Darstellungsunterschiedes von Datenwerten

-Java/RMI (verbessertes RPC).Referenzierung von Objekten zwischen Maschinen.Referenzierung und Replikation von Objekten möglich.Sichtbarkeit der Kohärenzverwaltung von Objektkopien (Replikationen)

DSM Gemeinsamer Adressraum in einem Netzwerk NUMA-Modell Zwei Klassen von DSM - Hardwarebasierte DSM -Softwarebasierte DSM

Prozessor Netzwerk Lokaler Speicher DSM Prinzip

Hardwarebasierte DSM -Spezielle Hardwareunterstützung für die gemeinsamen Speicher -Anforderung von Daten durch MMU kontrolliert. -z.B. DASH,Alewife

Softwarebasierte DSM Seitenbasierte DSM -Linearer gemeinsam genutzter Speicher -Page-Fault Handler fördert Seiten -Probleme: Falshe-Sharing -z.B: IVY,Treadmarks

Softwarebasierte DSM Objektbasierte DSM -Strukturierter Adressraum mit gemeinsam genutzten Objekten -Migration und Replikation -Probleme: Zugriff auf die gemeinsamen Daten sehr aufwendig -z.B: Emerald,Clouds

Softwarebasierte DSM Shared-Variable DSM -einzelne gemeinsam genutzte Variabeln -drei Klassen von Variabeln *gemeinsame Variabeln global sichtbar *Synchronisationsvariabeln *normale Variabeln (in lokal Speicher)

Fähigkeit und Nachteile von DSM.Unsichtbarkeit des verteilten Zustandes des Systems. Zugriff auf komplexe Strukturen mit Zeiger.Sichtbarkeit von Hardwareunterschieden. Gebrauch von Sondercompiler für automatische Datenkonvertierung

Treadmarks Ziel - Reduzierung des Kommunikationsumfangs In der Verwaltung von Datenkonsistenz

Design von Treadmarks Notwendigkeit der Synchronisation -Vermeidung von „Data Race“ Synchronisationsfunktionen - Locks (acquire,release) - Barriers

Lazy Release Konsistenz Konsistenzverwaltung zwischen dem letzten releaser und dem neuen acquirer Verringerung von Kommunikationsumfang

Multiple-Writer Protocols Mehrere Schreiber können gleichzeitig auf eine Seite zugreifen Benutzung von Diffs - Reduzierung von Bandwidth

Write(X) X: Create twin Make X writable X: twin X: Diff Release:

Programmieren mit Treadmarks Die Datei Tmk.h bietet eine Schnittstelle zu Treadmarks Die wichtigsten Funktionen der Schnittstelle: -Startup -Speicher Allokation -Synchronisation -Termination

Programmieren mit Treadmarks Die Routine Tmk_startup initialisiert die Treadmarks library und erstellt Prozesse auf anderen Maschinen. Die Routine Tmk_malloc kümmert sich um die Speicherallokation. Mit Tmk_free wird ein Speicherplatz freigegeben. Der Ruf von Tmk_exit beendet einen Prozess

Programmieren mit Treadmarks Die Locks werden während die Durchführung von Tmk_startup hergestellt und initialisiert Übernahme der Lockkontrolle: Tmk_lock_acquire (lock_identifier) Locksfreigabe: Tmk_lock_release(lock_identifier)

Warum Java ? Portabilität - ArchitekturunabhängigeCodegenerierung (dank JVM) - Unsichtbarkeit der Maschinenarchitektur

Warum DSM ? Gemeinsamer Adressraum von physikalisch getrennten Speichern automatischeVerwaltung von Kommunikation zwischen Maschinen

Design Von Java/DSM Eine JVM für jeden Maschine (Knoten) Objekte werden in verteiltem Adressraum gespeichert Unterstützung von Java API Keine Migration von Threads zwischen Maschinen Keine Unterschiede zwischen entfernten und lokalen Objekten

Speicher Verwaltung Garbage collection wird unabhängig auf jeder Maschine ausgeführt Entfernte Referenzen zu lokalen Objekten sind bekannt um falsche Vernichtung zu vermeiden

Garbage Collection Algorithmus Der GC auf jeder Maschine verwaltet zwei Listen Die export Liste für entfernte Referenzen zu lokalen Objekten Die import Liste für Referenzen zu entfernten Objekten Benutzung von „weighted reference counting“

Datenkonvertierung Der handle von einem Objekt zeigt auf seinen body und zu einer Struktur, die den Typ von jedem Feld enhält Objekte auf einer Seite haben die gleiche Grösse Der body enthält einen Rückzeiger zum handle

Änderungen in JVM Eine Treadmarksroutine ladet den heap Klassen sind in dem gemeinsamen Speicher Jedes Objekt zeigt auf seinen handle (Unterstützung von Datenkonvertierung)

Zusammenfassung Hardwareunterschiede und Kommunikationsbedürfnisse Message Passing und DSM lösen nicht alle Probleme Java/DSM hat zu einer leichten Änderung von der JVM geführt