Vs6.21 6.2 Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.

Slides:



Advertisements
Ähnliche Präsentationen
4.5 Virtueller Speicher Problemsituation: Programme und Daten sind zu groß für den verfügbaren Arbeitsspeicher Frühere Lösung Aufspaltung der Programme.
Advertisements

Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
1 Was ist ein klassischer Prozess? A eine exe-Datei B log. Adressraum, Ablaufumgebung für genau einen Thread C log. Adressraum, Ablaufumgebung für eine.
Datenbanken Einführung.
Bäume • Kernidee: Speicherung von Daten in einer Baumstruktur
Vs61 6 Verteilte Datenverwaltung. vs62 Ziel:Zusammengehöriger Datenbestand soll über mehrere Stationen verteilt werden, z.B. Fragmentierung: in mehrere.
FU Berlin SS 2003 Klaus-Peter Löhr
4.2 Gruppenkommunikation (group communication) Bedeutet:Sendeoperation bezieht sich auf mehrere Adressaten - die Mitglieder einer Prozeßgruppe (process.
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
Objektrelationales Mapping mit JPA Working with Persistent Objects Jonas Bandi Simon Martinelli.
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
OpenMP Präsentation im Rahmen des Seminars
7 Verteilungsabstraktion
Studiengang Informatik FHDW
Vorlesung, Wintersemester 2009/10M. Schölzel 1 Optimierungstechniken in modernen Compilern Einführung.
Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli /21.
Entwicklung verteilter eingebetteter Systeme - Einführung
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Systementwurf Überblick: Entwicklung der globalen Problemlösungsstrategie.
Duo- und Quad Prozessor-Architektur
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Betriebssysteme allgemein
6.5 Lindas Tupelraum Interaktion von Prozessen über zentralen Umschlagplatz für alle zwischen Prozessen ausgetauschten Daten: Tupelraum (tuple space) (Carriero/Gelernter,
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Eine Präsentation von Peter Rasser
Welchen Problemen ist man bei heterogener, verteilter Programmierung ausgesetzt? Hardware: nicht einheitliche, inkompatible Systeme, verschiedene Leistungsfähigkeit.
Beschreiben Sie das Szenario wenn ein ORB einen Server aktiviert und eine Objektimplementation aufruft. Activate Server impl_is_ready Activate Object (GetID.
Bs Gemeinsame Datensegmente am Beispiel Solaris [Beachte: Unix/Linux setzen keine Hardware-Segmentierung voraus und sprechen daher statt von.
Interprozess- kommunikation (IPC)
Betriebssysteme Übung Tutorium „TLB & Virtual Memory“
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von
JAVA/DSM A Platform for Heterogeneous Computing Serge F. Possono M. Technische Universität Muenchen (TUM) Lehr- und Forschungseinheit Informatik X Rechnertechnik.
Seminar: Virtuelle Forschungsumgebungen Dozent: Professor Manfred Thaller Referent: Peter Smits
Technische Universität München Zentralübung Automotive Software Engineering – Übungsblatt 6.
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
7.2.4 Klassifikation mobilen Codes Nicht vergessen:  Sowohl das Fernkopieren als auch die Migration von Objekten setzt voraus, daß der Code entweder am.
6.1.2 Sequentielle Konsistenz
Vortrag - Diplomarbeiten (HS I)
Synchronisation mit Zeitmarken (1) Zeitmarken-Synchronisation = einfaches, aber ineffizientes Verfahren zur Gewinnung konfliktserialisierbarer Schedules.
7.5.5 Namensdienste (bereits erwähnte Beispiele: Rmiregistry, Portmapper)  dienen der Abbildung von „Namen“ auf Verweise, Nummern,...  sollten ihre Information.
2.3 Implementierung von Prozessen
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Vs Gruppenkommunikation (group communication) Bedeutet:Sendeoperation bezieht sich auf mehrere Adressaten - die Mitglieder einer Prozessgruppe.
Vs Replizierte Objekte Vollständige Replikationsabstraktion ist attraktiv und machbar. 2 Beispiele: Orca(H. Bal, VU Amsterdam, ) = klassenbasierte,
Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.
Vs81 8 Verteilte Betriebssysteme (distributed operating systems)
5.1.2 Sequentielle Konsistenz
Vs Verteilte Transaktionen Situation:Fragmentierung: Ein Datenbestand ist über mehrere Stationen verteilt (z.B. verteilte Datenbank, verteiltes Dateisystem,...)
Vs Verteilte Verzeichnisse können ein verteiltes Betriebssystem unterstützen dienen der Abbildung von „Namen“ auf „Daten“ aller Art sollten ihre.
NE2000: Hardware und Design eines Treibers 1 AKBPII: Abschlusspräsentation NE2000: Hardware und Design eines prototypischen Treibers bearbeitet.
Bs Der Speicherverwalter Speicherverwalter (memory manager) = im einfachsten Fall ein Systemprozess, der für die Umlagerung der Seiten (page.
6.3 Verteilte Transaktionen
Max Haustein, Karsten Otto
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
6.4.4 Berechtigungen (Capabilities)
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Middleware in Java vieweg 2005 © Steffen Heinzl, Markus Mathes Kapitel 1: Architektur verteilter Systeme.
Bs Segmentierung Adressraum besteht aus mehreren Segmenten (segments), die unabhängig voneinander manipulierbar sind. Segmentierungsstruktur ist.
C Tutorium – Shared Memory – Knut Stolze. 2 Shared Memory Ein Speicherbereich, auf den mehrere Prozesse Zugriff haben – Also kein privater Speicher –
Vs61 6 Fehlertoleranz. vs62 Zuverlässigkeit (reliability) Sicherheit vor FehlernSicherheit vor Angriffen (safety)(security) WS/SS xySystemsicherheit SS.
Prof. Dr. T. Kudraß1 Speicherverwaltung: Flash-Laufwerke.
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
© 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.
Strukturen (Eigenschaften) Strukturen dienen zur Zusammenfassung mehrerer Komponenten verschiedener Typen zu einer Einheit, die dann mit gemeinsamen Namen.
Verteilte Systeme Sommersemester 2007 Karsten Otto.
6.1.2 Sequentielle Konsistenz
6.3 Verteilte Transaktionen
7 Fehlertoleranz.
Shared Memory Programmierung: Grundlagen
 Präsentation transkript:

vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache oder Pufferspeicher = Bereich zum Unterbringen lokaler Kopien im Prozessor: Register, z.B. für Teil des Kellers im Prozessor: Hauptspeicherpuffer für Speicherblöcke im Arbeitsspeicher: Rahmen für Seiten aus Externspeicher im Dateisystem: Text- und Bilddateien von Webserver

vs Snoopy Cache (auch snooping cache) in Mehrprozessorsystemen Speicher (Primärkopien) Prozessoren Bus Objekt = Speicherblock Operation = Lese/Schreibzugriff auf Speicherzelle Implementierung: Hardware Zugriff auf Adresse a veranlasst Caching des Blocks, der a enthält; gegebenenfalls wird dafür ein anderer Blockverdrängt Cache

vs6.23 Schreibzugriff: 1. Block wird im Cache modifiziert. 2. Block wird im Speicher modifiziert (write-through). 3. Alle Prozessoren sind „neugierig“ (snoopy): sie „schnüffeln“ (to snoop) am Bus, bekommen den Schreibvorgang mit (vgl. Ethernet-Rundruf!) und ändern ihre Kopien (falls vorhanden) entsprechend.  Cache Coherence = Sequentielle Konsistenz wegen Totalordnung des HW-Rundrufs (!) Variante:Kopie löschen statt ändern (somit „write-invalidate statt write-update“, und somit mehr passive als aktive Replikation), reduziert den Schreibverkehr

vs6.24 Objekt = Seite (gemäß Adressabbildungs-Hardware, MMU) Operation = Lese/Schreibzugriff auf Speicherzelle Implementierung: Software (Betriebssystem) Verteilter Virtueller Speicher (distributed shared memory, DSM) Kooperation mit anderen Prozessen durch Zugriff auf gemeinsamen Speicherbereich "echter" gemeinsamer Speicher nur begrenzt realisierbar Laufzeitsystem sorgt für transparenten Datenabgleich Probleme: Konsistenz, effiziente Implementierung

vs6.25 im Vergleich zur Kommunikation über Nachrichten –kein Marshalling (auf Benutzerseite) –Verwendung von Zeigern –Möglichkeit der Persistenz, asynchrone Kooperation –keine geschützten Adressräume –Kommunikationsaufwand im Code nicht sichtbar

vs6.26 Implementierung –auf System mit seitenorientiertem virtuellen Speicher oder auch spezieller Hardware –write-invalidate, d.h. mit Löschen obsoleter Kopien, sonst müsste jeder(!) Schreibzugriff auf eine replizierte Seite über Betriebssystem und Netz gehen) –somit mit passive Replikation –ohne feste Primärkopie –mögliches Problem: thrashing ("Seitenflattern")

vs6.27 Beispielsystem: Ivy (Li/Hudak 1986, Yale) Rechner mit seitenbasierter MMU, Seiten können mit Rechten "none", "read-only" oder "read-write" versehen werden Versucht ein Prozess P auf eine Seite zuzugreifen, für die er nicht genügend Rechte hat, erzeugt er eine Seitenfehler. Dieser wird vom DSM-Laufzeitsystem abgefangen, die Seite mit den entsprechenden Rechten besorgt und der letzte Befehl von P neu gestartet

vs6.28 für eine Seite gilt: –ein Prozess hat Schreibzugriff, alle andere haben keinen Zugriff, oder –ein oder mehrere Prozesse haben Lesezugriffe, weitere können Leserecht anfordern Ein Prozess ist Eigentümer der Seite, entweder der eine schreibende oder einer der lesenden Prozesse, dies ist die "Primärkopie" Ein oder mehrere Prozesse mit einer gültigen Kopie der Seite bilden die Kopiemenge

vs6.29 Prozess P führt Schreibzugriff aus; sofern er noch kein Schreibrecht hat: –Seitenfehler –P wird Eigentümer der Seite –Seite wird bei alle Prozessen der Kopiemenge entwertet; Kopiemenge ist jetzt {P} –Seite wird mit Schreibrecht bei P platziert –letzte Anweisung von P wird neu gestartet

vs6.210 Prozess P führt Lesezugriff aus; sofern er noch kein Leserecht hat: –Seitenfehler –Seite vom Eigentümer mit Leserecht zu P kopiert –Kopiemenge erweitert um P –letzte Anweisung von P neu gestartet gewährleistet sequentielle Konsistenz Details und weitere DSM-Systeme: Coulouris et al.: Verteilte Systeme

vs6.211 Objekt: auf der Halde, mit oder ohne Datenabstraktion Operation: gemäß Schnittstelle bzw. Typsystem der Sprache Implementierung: Software (Laufzeitsystem oder Middleware (  8)) Programmiersprachlich definierte Objekte (object caching) Anwendungsprogrammierung ohne expliziten Umgang mit Nachrichten Laufzeitsystem versendet um empfängt die notwendigen Nachrichten

vs6.212 Beispiele Tupel in einem Tupel-Raum (z.B. Linda, JavaSpaces) –Kooperation über gemeinsamen Tupel-Raum –Prozesse können Tupel lesen, hinzufügen und löschen –unterschiedliche Tupel-Typen ("müller", 5938) ("pi", 3.14) (27, 13) –Adressierung der Tupel durch "Suchanfrage" = take Abstrakte Daten-Objekte: –Fernaufruf (remote invocation,  8.1)