+ All Categories
Home > Documents > Studiengang Informatik FHDW

Studiengang Informatik FHDW

Date post: 06-Jan-2016
Category:
Upload: nico
View: 17 times
Download: 1 times
Share this document with a friend
Description:
Vorlesung: Betriebssysteme II 4. Quartal 2004. Studiengang Informatik FHDW. Verteilter gemeinsamer Speicher. Motivation: Wofür könnte „gemeinsamer Speicher“ benötigt werden? Welche Möglichkeiten für die Realisierung existieren? Welche Alternativen existieren? - PowerPoint PPT Presentation
23
Vorlesung: 1 Betriebssysteme II 2004 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Studiengang Informatik FHDW Vorlesung: Betriebssysteme II 4. Quartal 2004
Transcript
Page 1: Studiengang Informatik FHDW

Vorlesung: 1 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Studiengang Informatik FHDWStudiengang Informatik FHDW

Vorlesung: Betriebssysteme II

4. Quartal 2004

Page 2: Studiengang Informatik FHDW

Vorlesung: 2 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Verteilter gemeinsamer SpeicherVerteilter gemeinsamer Speicher

Motivation:

Wofür könnte „gemeinsamer Speicher“ benötigt werden?Welche Möglichkeiten für die Realisierung existieren?Welche Alternativen existieren?Nennen Sie typische Problemstellungen bei der Realisierung von „gemeinsamen Speicher“.

Rückblick: Speicherverwaltung ohne Verteilung!

Page 3: Studiengang Informatik FHDW

Vorlesung: 3 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Verteilter gemeinsamer SpeicherVerteilter gemeinsamer Speicher

Gemeinsame Nutzung von Daten ist ein grund-legendes Ziel verteilter Systeme und Anwen-dungen.Möglichkeiten:

Daten per Nachricht transferieren (engl.: message-passing),verteilter gemeinsamer Speicher (engl.: distributed shared memory, DSM).

DSM erlaubt den Zugriff auf Speicherstellen, obwohl die beteiligten Computer physikalisch getrennte Speicher haben.Auf die Daten wird zugegriffen, als ob sie im üblichen Adressraum des Prozesses wären.

Page 4: Studiengang Informatik FHDW

Vorlesung: 4 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Verteilter gemeinsamer Speicher (2)Verteilter gemeinsamer Speicher (2)

DSM verhält sich wie ein virtuelles Speichersystem, jedoch können Speicherseiten auch auf anderen Computern liegen.DSM ist besonders für parallele und verteilte Algorithmen nützlich, in welchen gemeinsame Daten direkt referenziert werden.Wird DSM nicht direkt durch die Hardware unterstützt, wird ein Laufzeitsystem benötigt, das auf dem lokalen Speicher der einzelnen Rechner aufsetzt.

Page 5: Studiengang Informatik FHDW

Vorlesung: 5 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Verteilter gemeinsamer Speicher (3)Verteilter gemeinsamer Speicher (3)

Das DSM-Laufzeitsystem verwendet dann Nachrichtenaustausch zur Bereitstellung der Daten aus dem gemeinsamen Speicher.Der Nachrichtenaustausch erfolgt transparent für die Prozesse, die den verteilten gemeinsamen Speicher nutzen.

Page 6: Studiengang Informatik FHDW

Vorlesung: 6 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Verteilter gemeinsamer Speicher (4)Verteilter gemeinsamer Speicher (4)

Hauptgründe für die Entwicklung von DSM-Systemen:

Die meisten parallelen Programme waren für SIMD oder massiv parallele Rechner entwickelt worden.Bei der Portierung dieser Programme auf Multicomputersysteme ist es einfacher, den gemeinsamen Speicher auf Multicomputern verteilt nachzubilden, als die Software auf die Kommunikation mittels Nachrichtenaustausch umzustellen.Bei der Programmierung auf einem DSM ist das Pro-grammierparadigma von parallelen oder paralle-lisierbaren Programmiersprachen direkt verwendbar.Verteilte Objektsysteme können direkt auf DSM abgebildet werden ohne einen RMI-Mechanismus (remote method invocation) zu benötigen.

Page 7: Studiengang Informatik FHDW

Vorlesung: 7 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Vergleich RPC und DSMVergleich RPC und DSM

Kriterium Nachrichtenaustausch DSM

Variablen „marshalled“, verschickt,„demarshalled“

Zugriff wie auf jede an-dere lokal gespeicherteVariable

Zugriffsrechte private Adreßräume Überschreibungen mög-lich

Heterogenität der Da-tenobjekte

unterschiedliche Daten-repräsentation möglich

homogene Sicht not-wendig

Synchronisation Sperren, Transaktionen,kausale Ordnung

Memory Management,Semaphore, Monitore,kritische Regionen

Nebenläufigkeit, Persi-stenz

Klient und Server müs-sen zeitgleich laufen,keine Persistenz erfor-derlich

Prozesse können zeit-lich entkoppelt laufen,Persistenz erforderlich

Page 8: Studiengang Informatik FHDW

Vorlesung: 8 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Verteilter gemeinsamer Speicher (5)Verteilter gemeinsamer Speicher (5)

Im kleinen Maßstab (ca. 10 Rechner), können DSM-Programme genauso effizient wie Programme, die auf Nachrichtenaustausch basieren, implementiert werden.Bei der Programmierung wird mittels DSM der Systemoverhead für den Programmierer versteckt.Der Aufwand der Kommunikation kann nicht direkt beeinflusst werden. Er hängt vom Algorithmus, dessen Datenverteilung und dessen momentanen Zustand ab.Es gibt abgeschwächte DSM-Konzepte, welche die vollständige Transparenz aufbrechen.

Page 9: Studiengang Informatik FHDW

Vorlesung: 9 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

ImplementierungsvariantenImplementierungsvarianten

Blockbasiert, kontrolliert durch die MMUSpezielle Hardware behandelt die load und store Maschinenbefehle auf DSM-Adressen (z.B. Dash Multicomputer).Liegt ein Zugriff auf eine physikalisch entfernte Adresse vor, sorgt die MMU für eine hardwaregestützte Anforderung der Daten.Dies geschieht wie in Prozessorcachesystemen auf Blockbasis, d.h. ein bis wenige Speicherworte.

Page 10: Studiengang Informatik FHDW

Vorlesung: 10 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Implementierungsvarianten (2)Implementierungsvarianten (2)

Seitenbasiert, kontrolliert durch das BetriebssystemDer DSM wird als Region mit identischen Adressen im virtuellen Adreßraum jedes beteiligten Prozesses implementiert.Die Konsistenz leistet der Betriebssystemkern im Rahmen seines Seitenfehleralgorithmus.Vertreter dieser Kategorie sind eine ganze Anzahl verteilter Betriebssysteme (z.B. Ivy).Erfolgt der tatsächliche Speicherzugriff hardwareunterstützt, nennt man die Rechner NUMA-Maschinen.

Page 11: Studiengang Informatik FHDW

Vorlesung: 11 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Implementierungsvarianten (3)Implementierungsvarianten (3)

Objektbasiert, kontrolliert durch ein LaufzeitsystemNicht der gesamte Speicher wird transparent zugreifbar gehaltenGemeinsame Variablen werden speziell behandelt.Sie sind dazu vom Programmierer speziell zu kennzeichnen (z.B. Munin).Einige verteilte, objektorientierte Sprachen/-erweite-rungen oder Koordinationssprachen, wie Linda, implementieren DSM durch Bibliotheksaufrufe an ein Laufzeitsystem.Die DSM-Aufrufe werden vom Compiler an den entsprechenden Stellen automatisch eingesetzt.

Page 12: Studiengang Informatik FHDW

Vorlesung: 12 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Spektrum von Shared-Memory-AnsätzenSpektrum von Shared-Memory-Ansätzen

Page 13: Studiengang Informatik FHDW

Vorlesung: 13 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

KonsistenzmodelleKonsistenzmodelle

Um bei DSM verschiedene Kopien einer Speichereinheit ohne großen Aufwand konsistent zu halten, muss man auf mehrere schreibbare Kopien verzichten.Die Leistung geht dann bei nebenläufigen Schreibzugriffen zurück.

Bei hardwarebasierten Systemen ist dies sekundär.Bei Systemen mit Netzwerkkommunikation kann man aus Effizienzgründen oft nicht auf mehrere schreibbare Kopien verzichten.Daraus folgt ein erhöhter Aufwand, Konsistenz zu wahren. Um die semantischen Konsistenzeigenschaften zu beschreiben, definiert man Konsistenzmodelle.

Page 14: Studiengang Informatik FHDW

Vorlesung: 14 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Konsistenzmodelle (2)Konsistenzmodelle (2)

Ein Konsistenzmodell ist eine Vereinbarung zwischen der übergeordneten, benutzenden Software und dem verteilten Speicher.Arbeitet die Software konform zu der Vereinbarung, ist auch garantiert, dass der Speicher richtig arbeitet.Je komplexer die Vereinbarung,

um so effizienter läuft das DSM-System,um so aufwendiger und restriktiver wird die Programmierung.

Page 15: Studiengang Informatik FHDW

Vorlesung: 15 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Strikte KonsistenzStrikte Konsistenz

DefinitionStrikte KonsistenzJeder Lesezugriff auf die Speicherstelle x liefert den Wert der global zeitlich letzten Schreib-operation auf x.

Dies bedeutet, dass jeder Speicherzugriff im DSM genauso ablaufen soll, als ob es sich um ein lokales System handelt.

Page 16: Studiengang Informatik FHDW

Vorlesung: 16 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Strikte Konsistenz (2)Strikte Konsistenz (2)

Beispiel:Die Speicherstelle x sei bei Rechner B gespeichert.Rechner A liest x zum Zeitpunkt t1.Eine Nanosekunde später schreibt B auf x.Sind A und B etwa 3 Meter auseinander, müsste der Lesezugriff zehnmal schneller als die Lichtgeschwindigkeit übertragen werden, um das richtige Ergebnis zu liefern.

Page 17: Studiengang Informatik FHDW

Vorlesung: 17 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

ImplementierungImplementierung

Über alle Ereignisse ist eine absolute globale Zeitordnung sicherzustellen.

Es können z.B. alle Speicherzugriffe werden in eine Transaktion gekapselt werdenoder Sperren werden rigorose verwendet.

Beide Realisierungen verhindern nebenläufige Zugriffe.

Page 18: Studiengang Informatik FHDW

Vorlesung: 18 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Sequentielle KonsistenzSequentielle Konsistenz

DefinitionSequentielle KonsistenzDie Speicheroperationen verschiedener Prozesse geschehen in beliebiger sequentieller Reihenfolge.Alle Lese- und Schreiboperationen eines Pro-zesses erscheinen in der programmierten Reihen-folge.

Hier sehen also alle Prozesse die gleiche Reihenfolge von Speicherreferenzen.Der Zeitpunkt der Sichtbarkeit spielt keine Rolle, es kann eine beliebige Verzögerung unter den Prozessen vor-kommen.

Page 19: Studiengang Informatik FHDW

Vorlesung: 19 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Sequentielle Konsistenz (2)Sequentielle Konsistenz (2)

Schreibweise:R(x)=a Lesen der Speicherstelle x liefert den Wert a.

W(x)=a Speicherstelle x wird mit dem Wert abeschrieben.

Alle Speicherstellen sind mit 0 initialisiert.

Beispiel für zwei sequentielle konsistente Programmergebnisse:

Page 20: Studiengang Informatik FHDW

Vorlesung: 20 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Sequentielle Konsistenz (3)Sequentielle Konsistenz (3)

Komplexeres Beispiel: 3 Prozesse arbeiten mit den gemeinsamen Variablen a, b, c.P1: a=1; print (b,c);P2: b=1; print (a,c);P3: c=1; print (b,c);Vier mögliche Reihenfolgen sequentielle Konsistenz:

Page 21: Studiengang Informatik FHDW

Vorlesung: 21 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Sequentielle Konsistenz (4)Sequentielle Konsistenz (4)

Um die sequentiell konsistente Ausführung zu prüfen, bildet man z.B. die Signatur.Die Signatur ist die Konkatenation der Ausgaben der Prozesse als Tupel <P1, P2, P3>.Für das Beispiel:

Signatur:001011 101011 110101 111111

Nicht alle 64 möglichen Signaturen entsprechen einer sequentiellen Ausführung und sind erlaubt.Z. B. ist die Signatur 000000 ungültig.

Page 22: Studiengang Informatik FHDW

Vorlesung: 22 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

ImplementierungImplementierung

Z. B. in einem seitenbasierten System:Schreibbare Seiten werden repliziert.Keine Speicheroperation wird begonnen, bevor nicht alle vorhergehenden beendet sind.Aktualisierungen werden über einen zuverlässigen, total geordneten Broadcast oder Multicast propagiert.

Sequentielle Konsistenz ist nicht sehr effizient:Es wurde nachgewiesen, dass (Lesezeit + Schreibzeit) immer größer als die kürzeste Pakettransferzeit ist.D. h. man kann Lesezugriffe auf Kosten der Schreibzugriffe optimieren und umgekehrt, aber nie beide Zugriffsformen zusammen.

Für effizientere Implementierungen von DSM benötigt man schwächere Konsistenzmodelle.

Page 23: Studiengang Informatik FHDW

Vorlesung: 23 Betriebssysteme II 2004 Prof. Dr. G. Hellberg

Kausale KonsistenzKausale Konsistenz


Recommended