Rechnerarchitektur SS 2012
|
|
- Adrian Winter
- vor 5 Jahren
- Abrufe
Transkript
1 Rechnerarchitektur SS 2012 Speicherkonsistenz TU Dortmund, Fakultät für Informatik XII Literatur: Hennessy/Patterson: Computer Architecture, 3. Auflage, 2003, Abschnitt 6.8, S. 695ff. Huang: Advanced Computer Architecture, 1993, Abschnitte 5.4, S. 248ff und 9.1.5, S. 487ff. Adve/Gharachorloo: Shared Memory Consistency Models: A Tutorial, WRL Research Report 95/7, Stand 12. Juni 2012 Folien teilweise a.d. Basis von Materialien von R. Yahyapour, ehem. TU Dortmund
2 Speicherkonsistenz Kohärenz wichtig für Transfer von Daten zwischen Prozessoren Eine Speicherstelle wird geschrieben, anschließend gelesen Wert wird nach best. Zeit für lesenden Prozessor sichtbar Kohärenz sagt nicht aus, wann! Ziel bei paralleler Programmierung oft, dass Lesen Ergebnis eines bestimmten Schreibvorgangs liefert Wieso? Ordnung von Lese- und Schreib-Op. soll hergestellt werden Zur Synchronisation werden i.a. mehrere Speicherstellen verwendet (z.b. Flag das Daten für gültig erklärt) Konsistenz: Relative Ordnung zwischen Speichertransferbefehlen auf verschiedenen Zellen Rechnerarchitektur SS 2012 º» 1
3 Speicherkonsistenz II Beispiel 1: P 1 P 2 /* Annahme: A = flag = 0 */ A := 1; while (flag == 0); flag := 1; print A; Annahme: Schreibzugriffe zu A, flag werden in gleicher Reihenfolge bei anderem Prozessor sichtbar Aber: nicht durch Kohärenz sichergestellt! Beispiel 2: P 1 P 2 /* Annahme: A = B = 0 */ (1a) A := 1; (2a) print B; (1b) B := 2; (2b) print A; Hier: Intuitiv korrektes Verhalten weniger klar, kein Flag o.ä. Aber: Ausgabe von B=2 und A=0 widerspricht Annahme, dass Schreiboperationen in Programmreihenfolge sichtbar werden keine sequentielle Konsistenz Rechnerarchitektur SS 2012 º» 2
4 Speicherkonsistenz III Problem der Speicherkonsistenz entsteht, wenn die Reihenfolge der Speicherzugriffe von der Programmreihenfolge abweicht. I.d.R. kein Problem auf (klassischen!) Uni-Prozessor/SISD-System! Ex. dagegen bereits auf modernen SISD-Systemen mit out-of-order execution oder Schreibpuffern (zur Latenzreduktion) Auf Multiprozessorsystem ex. verschiedene Befehlssequenzen auf unterschiedlichen Prozessoren, die in verschiedener Weise zu globaler Speicherzugriffssequenz verschränkt werden können unterschiedliches Verhalten des gemeinsamen Speichers! Rechnerarchitektur SS 2012 º» 3
5 P 1 P 2 Speicherkonsistenz IV P n I 1N1 I 2N2 I nnn... I 14 I 13 I 12 I I 26 I 25 I 24 I 23 I 22 I I n5 I n4 I n3 I n2 I n1 Konsistenzmodell definiert, wie Instruktionssequenz und Speicherzugriffsequenz kompatibel (d.h. konsistent) gemacht werden Ex. starke und schwache Modelle gemeinsamer Speicher Rechnerarchitektur SS 2012 º» 4
6 Speicherkonsistenz V Speichermodell definiert, welches Verhalten eines shared-memory Systems von Prozessoren beobachtet wird Kompromiss erforderlich: Starkes Modell minimale Einschränkungen an Software Schwaches Modell effiziente Implementierung Formale Definition über partielle Ordnung von Speicherzugriffsereignissen Betrachten im folgenden 3 Typen von elementaren Speicherzugriffsereignissen für Multiprozessorsysteme: Lesen/Laden (load) Schreiben/Speichern (store) Synchronisation (z.b. swap, d.h. atomare Sequenz von Lese und Schreiboperation) Rechnerarchitektur SS 2012 º» 5
7 Speicherkonsistenz VI Speicherkonsistenzmodell definiert Einschränkungen bzgl. der Ordnung, in der Speichertransferoperationen ausgeführt werden müssen (d.h. sichtbar werden) Betrifft Operationen auf gleichen und unterschiedlichen Speicherzellen Konsistenz subsumiert damit Kohärenz Größtmögliche Restriktivität: Sequentielle Konsistenz Multiprozessor ist sequentiell konsistent, wenn: 1. das Ergebnis jeder Programmausführung dasselbe ist, wie wenn alle Operationen des parallelen Programms in beliebiger sequentieller Reihenfolge ausgeführt würden, und 2. die Operationen einzelner Prozessoren in dieser Ordnung in Programmreihenfolge auftreten. Was impliziert dies? Rechnerarchitektur SS 2012 º» 6
8 P 1 P 2 Sequentielle Konsistenz P n I 1N1 I 2N2 I nnn... I 14 I 13 I 12 I I 26 I 25 I 24 I 23 I 22 I Schalter... I n5 I n4 I n3 I n2 I n1 Umschalter erzwingt Serialisierung der Speicherzugriffe verschiedener Prozessoren. Achtung: Instruktionsordnung pro Prozessor in Programmreihenfolge! gemeinsamer Speicher Rechnerarchitektur SS 2012 º» 7
9 Sequentielle Konsistenz II Beispiel: P 1 P 2 /* Annahme: A = B = 0 */ A := 1; B := 1; C := B; D := A; Mögliche Serialisierungen der MP-Befehlsfolgen: gültig gültig gültig ungültig! A := 1; B := 1; A := 1; C := B; C := B; D := A; B := 1;... B := 1; A := 1; D := A;... D := A; C := B; C := B;... A,B,C,D = 1,1,0,1 1,1,1,0 1,1,1,1?,?,?,? Rechnerarchitektur SS 2012 º» 8
10 Sequentielle Konsistenz III Definition nach Lamport, 1979: Ein MP-System ist sequentiell konsistent wenn das Ergebnis jeder Ausführung dasselbe ist, als ob alle Instruktionen in einer sequenziellen Ordnung ausgeführt würden und in dieser die Operationen eines Prozessors in Programmreihenfolge auftreten. Definition nach Sindhu et al., 1992: 1. Jeder load liefert immer den Wert des letzten store in dieselbe Zelle von anderen Prozessoren. 2. Die Speicherordnung ist eine vollständige binäre Ordnung über alle Speicherzugriffspaare (Prozessoren u. Speicherzellen). 3. Wenn zwei Operationen in einer best. Programmreihenfolge erscheinen, erscheinen Sie in derselben Speicherreihenfolge. 4. Die swap Operation ist atomar bzgl. anderer stores. 5. Alle store und swap Operationen müssen in endlicher Zeit terminieren. Rechnerarchitektur SS 2012 º» nach Huang 1993, S. 252f 9
11 Sequentielle Konsistenz: Zusammenfassung Sequentielle Konsistenz Erfordert eine sequentielle Ordnung aller Operationen, in der lokale Programmreihenfolge (d.h. bezogen auf einzelnen Prozessor) erhalten bleibt! Ist daher nicht deterministisch!! Erfordert atomare Schreiboperationen! Rechnerarchitektur SS 2012 º» 10
12 Sequentielle Konsistenz: Diskussion Restriktivstes Konsistenzmodell Intuitiv (relativ gut) verständlich! Garantiert trotzdem kein eindeutiges Verhalten eines MP-Systems! Implementierung von Sequentieller Konsistenz Einfachste Möglichkeit: Jeder Prozessor verzögert Abschließen (completion) eines Speicherzugriffs bis alle Invalidierungen (d.h. Ungültig erklären von Cache-Inhalten), die durch Zugriff ausgelöst werden, abgeschlossen sind. a.d. Basis von snooping Cache-Kohärenz-Protokoll möglich E Leistungseinbußen erheblich! Weitere (prinzipielle) Möglichkeit: Kosten seq. Konsistenz durch Verstecken von Latenz zu reduzieren versuchen Alternative: Verwendung eines weniger restriktiven Konsistenzmodells relaxed consistency Rechnerarchitektur SS 2012 º» 11
13 Speicherkonsistenz V Sicht des Programmierers: Einfachheit des Progammiermodells Erfüllt durch seq. Konsistenz trotz Leistungseinbußen Alternatives Programmiermodell: Synchronisierte Programme Zugriffe auf alle gemeinsam verwendeten Daten werden durch Synchronisationsoperationen geordnet Bezeichnet als data-race free (data race: Speicherstellen können ohne Synchronisation aktualisiert werden Ergebnis von relativer Geschwindigkeit der Prozessoren abhängig) Synchronisierte Programme verhalten sich, als ob MP-System sequentiell konsistent wäre (Auch, wenn einfacheres Konsistenzmodell implementiert!) Rechnerarchitektur SS 2012 º» 12
14 Speicherkonsistenz VI Synchronisierte Programme Synchronisationsoperationen: aquire-operation: fordert Zugriffsrecht an (Spezialfall: lock) release-operation: gibt Zugriffsrecht frei (Speziallfall: unlock) Grundstruktur eines synchronisierten Programms: Schreiboperation gefolgt von Sync.-Op. und... korrespondierender Leseop. geht Sync.-Op voraus Beispiel: X := /* Schreiben */ release(s); acquire(s); := X /* Lesen */ Reihenfolge der Schreib- und Leseoperationen garantiert Rechnerarchitektur SS 2012 º» 13
15 Grundidee: Speicherkonsistenz: Eingeschränkte Modelle Abschliessen von Lese-/Schreib-Op. entgegen Programmreihenfolge Synchronisation für notwendige Ordnung verwenden Kategorisierbar nach aufgehobenen Restriktionen Aufheben der W R Reihenfolge (total store order) Kann Latenz von Schreibzugriffen verstecken Ordnung von Schreibzugriffen bleibt erhalten fast wie sequentielle Konsistenz Aufheben v. W R u. W S Ordnung (partial store order) Schreiboperationen zusammenfaßbar (write merging) Verletzt intuitive Semantik von seq. Konistenz stark! Aufheben aller Reihenfolgen (weak ordering) Keine Ordnung garantiert, speziell für Prozessoren mit dyn. Scheduling Ordnung nur durch Synchronisationsoperationen Rechnerarchitektur SS 2012 º» 14
16 Speicherkonsistenz: Eingeschränkte Modelle II Total Store Order (TSO) entwickelt für SUN SPARC-Architektur Definition nach Sindhu et al., 1992: 1. Jeder load liefert immer den Wert des letzten store in dieselbe Zelle von beliebigen Prozessoren. 2. Die Speicherordnung ist eine vollständige binäre Ordnung über alle Paare von stores. 3a. Wenn zwei stores in einer best. Programmreihenfolge erscheinen, erscheinen Sie in derselben Speicherreihenfolge. 3b. Wenn Speicheroperation in Programmreihenfolge auf load folgt, muss sie auch in Speicherreihenfolge auf das load folgen. 4. Die swap Operation ist atomar bzgl. anderer stores. 5. Alle store und swap Operationen müssen in endlicher Zeit terminieren. Leseoperationen können Schreiboperationen überholen! Reads own write early (d.h. gleiche Speicherzelle) Rechnerarchitektur SS 2012 º» 15
17 Speicherkonsistenz: Eingeschränkte Modelle III Processor Consistency (PC) [Goodman 1989] Schreiboperationen desselben Prozessors sind immer in Programmreihenfolge. Keine Beschränkung für Leseoperationen eines Prozessors Leseoperationen, die auf Schreiboperationen folgen, können diese überholen. Schreiboperationen müssen lediglich in endlicher Zeit terminieren. Sehr ähnlich zu TSO, zusätzlich: Reads others writes early (bei nicht-bus-gebundenem Verbindungsnetzwerk) Partial Store Order (PSO) für SUN SPARC wie TSO, aber spätere Schreibzugriffe können frühere überholen (solange nicht gleiche Speicherzelle betroffen) Wann kann das sinnvoll sein? Rechnerarchitektur SS 2012 º» 16
18 Speicherkonsistenz: Eingeschränkte Modelle III Weak Ordering [Dubois et al. 1996] Erforderlich: Explizite Synchronisierungsoperation Synchronisierungsoperation sind sequenziell konsistent Alle Synchronisierungsoperation müssen vor einer Speichertransferoperationen abgeschlossen sein Alle Speichertransferoperationen müssen vor einer Synchronisierungsoperation abgeschlossen sein Release Consistency (RC) [Gharachorloo et al. 1990] Erforderlich: Paar von Synchronisationsoperationen (aquire und release, realisiert z.b. als lock und unlock) Synchronisierungsoperation sind prozessor-konsistent Prozessor wird angehalten bis acquire beendet und Abschliessen eines realease wird verzögert, bis alle vorangeg. Speicheroperationen abgeschlossen. Rechnerarchitektur SS 2012 º» 17
19 Eingeschränkte Konsistenzmodelle: Überblick Sequentielle Konsistenz Rechnerarchitektur SS 2012 º» 18
20 Eingeschränkte Konsistenzmodelle: Überblick Sequentielle Konsistenz Total Store Order (TSO) Rechnerarchitektur SS 2012 º» 18
21 Eingeschränkte Konsistenzmodelle: Überblick Sequentielle Konsistenz Total Store Order (TSO) Partial Store Order (PSO) Rechnerarchitektur SS 2012 º» 18
22 Eingeschränkte Konsistenzmodelle: Überblick Sequentielle Konsistenz Total Store Order (TSO) Partial Store Order (PSO) Weak Ordering Rechnerarchitektur SS 2012 º» 18
23 Eingeschränkte Konsistenzmodelle: Überblick Sequentielle Konsistenz Total Store Order (TSO) Partial Store Order (PSO) Weak Ordering Release Consistency Rechnerarchitektur SS 2012 º» 18
24 Eingeschränkte Konsistenzmodelle: Zusammenfassung Strict consistency A read returns the most recenly written value (what most programmers intuitively expect). Sequential consistency The result of any execution appears as some interleaving of the operations of the indivicual nodes when executed on a multithreaded sequential machine. Processor consistency Writes issued by each indivudual node are never seen out of order, but the order of writes from two different nodes can be observed differently Weak consistency The programmer enforces con sistency using synchronization operators guaranteed to be sequentially consistent Release consistency Weak consistency with two types of synchron ization operators: acquire and release. Each type of operator is guaranteed to be processor consistent. nach Nitzberg/Lo: Distributed Shared Memory: A Survey of Issues and Algorithms, IEEE Computer, 24(1), Rechnerarchitektur SS 2012 º» 19
Rechnerarchitektur SS 2012
Rechnerarchitektur SS 2012 Speicherkonsistenz Michael Engel TU Dortmund, Fakultät für Informatik Teilweise basierend auf Material von Gernot A. Fink und R. Yahyapour 13. Juni 2013 Speicherkonsistenz Kohärenz
MehrLiefert das Protokoll Kohärenz?
Liefert das Protokoll Kohärenz? Konstruktion einer (totalen) Ordnung der Speicheroperationen unter Beachtung der Programmordnungen Voraussetzung: atomare Bus-Transaktionen und Speicheroperationen alle
MehrLiefert das Protokoll Kohärenz?
Liefert das Protokoll Kohärenz? Benötigt: Konstruktion einer (totalen) Ordnung der Speicheroperationen unter Beachtung der Programmordnungen Voraussetzung: atomare Bus-Transaktionen und Speicheroperationen
MehrRechnerarchitektur SS 2012
Rechnerarchitektur SS 2012 Cachekohärenz TU Dortmund, Fakultät für Informatik XII Literatur: Hennessy/Patterson: Computer Architecture, 3. Auflage, 2003, Abschnitte 6.2, S. 549ff und 6.5, S. 576ff. Huang:
MehrVorlesung "Verteilte Systeme" Sommersemester 1999. Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.
Verteilte Systeme 19. Distributed Shared Memory Sharing!! No Sharing! Sharing? Evolution der Berechnungsmodelle Vergangenheit Gemeinsamer Speicher Einzelrechner Gegenwart Nachrichtenkommunikation Verteilte
MehrGLEICHES BEISPIEL, write-back STRATEGIE
GLEICHES BEISPIEL, write-back STRATEGIE e 1 Vorlesung 4 2.4.3. CACHE-KOHÄRENZ UND SPEICHER-KONSISTENZ Einfache aber wichtige Eigenschaft des (sequentiellen) Computerspeichers: Beim Lesen einer Speicherzelle
MehrRechnerarchitektur SS 2012
Rechnerarchitektur SS 2012 Cachekohärenz Michael Engel TU Dortmund, Fakultät für Informatik Teilweise basierend auf Material von Gernot A. Fink und R. Yahyapour 11. Juni 2013 Speicher in MP-Systemen Zentrales
MehrSpeicherkonsistenz. Bastian Ramm
Speicherkonsistenz Bastian Ramm 17. Dezember 2002 Zusammenfassung Diese Seminararbeit bietet eine Einführung in Konsistenzmodelle für Speicher in Mehrprozessorumgebungen. Es soll erklärt werden was Konsistenzmodelle
MehrEinfaches MSI-Writeback-Inval-Protokoll
Einfaches MSI-Writeback-Inval-Protokoll Write-Back Cache typischerweise Write-allocate bei einem Write-Miss Zustände Invalid (I): Shared (S): Kopien in einem oder mehreren Caches Dirty or Modified (M):
MehrMemory Models Frederik Zipp
Memory Models Frederik Zipp Seminar: Programmiersprachen für Parallele Programmierung (SS 2010) Fakultät für Informatik - IPD SNELTING LEHRSTUHL PROGRAMMIERPARADIGMEN 1
MehrRelaxed Memory Consistency Models Von Thomas Wild,
Schriftliche Ausarbeitung im Rahmen eines Seminars in der Lehrveranstaltung verteilte und parallele Systeme an der Fachhochschule Bonn-Rhein-Sieg in Sankt Augustin zum Thema: Relaxed Memory Consistency
MehrMemory Models. 17. September 2012
Memory Models 17. September 2012 Here Be Dragons In addition, programming idioms used by some programmers and used within Sun s Java Development Kit is not guaranteed to be valid according the existing
MehrInvalidierungs- und Update-basierte Cache-Kohärenz-Protokolle
Invalidierungs- und Update-basierte Cache-Kohärenz-Protokolle Architecture of Parallel Computer Systems WS15/16 J.Simon 1 SC mit Write-Back Caches Beweisidee: Behandlung von Reads wie beim Write-Through
Mehr5.3.2 Sequentielle Konsistenz. Def.: Sequentielle Konsistenz (sequential consistency):
5.3.2 Sequentielle Konsistenz Sequentielle Konsistenz (sequential consistency): Effekt einer Programmausführung auf repliziertem Objekt = Effekt einer äquivalenten sequentiellen Ausführung auf nichtrepliziertem
MehrRechnerarchitektur SS 2013
Rechnerarchitektur SS 2013 Parallel Random Access Machine (PRAM) Michael Engel TU Dortmund, Fakultät für Informatik Teilweise basierend auf Material von Gernot A. Fink und R. Yahyapour 6. Juni 2013 Parallel
MehrSchreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).
Schreiben von Pages Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Write Through Strategie (siehe Abschnitt über Caching) ist hier somit nicht sinnvoll. Eine sinnvolle
MehrVerteilte Systeme. Replikation & Konsistenz I. Prof. Dr. Oliver Haase
Verteilte Systeme Replikation & Konsistenz I Prof. Dr. Oliver Haase 1 Überblick Replikation & Konsistenz I Ziele von Replikation Replikationsmodelle datenzentriert Client-zentriert Replikation & Konsistenz
Mehr6.1.2 Sequentielle Konsistenz (Lamport 1979)
6.1.2 Sequentielle Konsistenz (Lamport 1979) Def.: Sequentielle Konsistenz (sequential consistenc): Effekt/Ergebnisse einer verteilten Programmausführung auf repliziertem Objekt = Effekt/Ergebnisse einer
MehrWie groß ist die Page Table?
Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten
MehrUniversität Karlsruhe (TH)
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Das Java-Speichermodell Prof. Dr. Walter F. Tichy Dr. Victor Pankratius Ali Jannesari Geschichte des Speichermodells Kapitel 17 der Java-Sprachdefinition
Mehr138 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner
6. Replikation und Konsistenz 6.1 Motivation Replikation: redundantes Vorhalten von Daten auf verschied. Knoten. - Code: unproblemantisch, da i.d.r. unveränderlich, - Daten: o für Daten, die nur gelesen
MehrBrewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Sigact News, 33(2), June 2002
Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Sigact News, 33(2), June 2002 Seth Gilbert Nancy Lynch Brewer s Conjecture and the Feasibility of Consistent,
MehrRechnerarchitektur SS TU Dortmund
Rechnerarchitektur SS 2016 Exercises: Scoreboarding and Tomasulo s Algorithm Jian-Jia Chen TU Dortmund to be discussed on June, 14, 2016 Jian-Jia Chen (TU Dortmund) 1 / 8 Scoreboardings Im nächste Folien
MehrWeitere Verbesserungen
Weitere Verbesserungen Welcher Cache liefert aktuellen Block falls mehrere Caches Block im Zustand S halten? Lösung: Einführung eines weiteren Zustands O (Owner) Zustand O besagt: Eigentümer des Blocks
MehrTransaktionen. Michael Löwe 04/15/16. FHDW Hannover, Freundallee 15, Hannover address:
Transaktionen Michael Löwe 04/15/16 FHDW Hannover, Freundallee 15, 30173 Hannover E-mail address: michael.loewe@fhdw.de KAPITEL 1 Isolation 1.1. Formales Modell für Transaktionen und Ablaufpläne Zustand.
MehrKapitel 1 Parallele Modelle Wie rechnet man parallel?
PRAM- PRAM- DAG- R UND R Coles und Kapitel 1 Wie rechnet man parallel? Vorlesung Theorie Paralleler und Verteilter Systeme vom 11. April 2008 der Das DAG- Das PRAM- Das werkmodell Institut für Theoretische
Mehr5.1 Verteilung von Aktualisierungshinweisen
5.1 Verteilung von Aktualisierungshinweisen Verteilung von Nachrichten über eine Aktualisierung lokaler Datenspeicher erfährt, dass Aktualisierung stattfand z.b. Invalidierungsnachricht vgl. erste DSM-Implementierung
MehrÜbersicht. Nebenläufige Programmierung: Praxis und Semantik. Synchronisation (4) Eine untere Schranke für den Platzbedarf
Übersicht Komplexitätsresultate Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Synchronisation (4) Drei Komplexitätsresultate Eine genaue Schranke für den Platzbedarf
MehrVerteilte Systeme SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 8.
Verteilte Systeme SS 2013 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 8. Juli 2013 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/13) i
MehrRAM. Konsistenzprobleme entstehen => CPU - durch Verzögerung in Warteschlange, Umfangreiche Pufferung in den PCI Brücken. lesen. EOP-Signal.
11. s 11.1 Pufferspeicher Lesepuffer um vorauszulesen: - erste Leseoperation hat lange Latenzzeit, - Folgedaten vorsorglich schon gelesen, - "prefetch buffer". Schreibpuffer um ein Blockieren des schreibenden
MehrVerteilte Systeme. Verteilte Systeme. 8 Replikation und Konsistenz SS 2017
Verteilte Systeme SS 2017 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 10. Juli 2017 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/12) i
MehrCache II. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011
Cache II Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Cache II 1/14 2012-02-29 Schreibstrategien Es sind verschiedene Fälle
MehrGregor Michalicek, Marcus Schüler. Multiprozessoren
Gregor Michalicek, Marcus Schüler Gregor Michalicek Marcus Schüler Gregor Michalicek, Marcus Schüler Vorteile gegenüber Singleprozessoren ¾ sind zuverlässiger. Einige Multiprozessorsysteme können trotz
MehrCache-Kohärenz und -Konsistenz. Betreuer: Prof. Brüning Veton Kajtazi Mat.-Nr.: Universität Heidelberg
Cache-Kohärenz und -Konsistenz Betreuer: Prof. Brüning Veton Kajtazi Mat.-Nr.: 3220501 Universität Heidelberg Inhaltsverzeichnis Wozu Caches? Unterschied Kohärenz und Konsistenz MESI-Protokoll Fazit 2
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 07 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe16 Moritz Kaufmann
MehrSysteme 1: Architektur
slide 1 Vorlesung Systeme 1: Architektur Prof. Dr. Ulrich Ultes-Nitsche Forschungsgruppe Departement für Informatik Universität Freiburg slide 2 Prüfung 18. Februar 2004 8h00-11h40 13h00-18h20 20 Minuten
MehrCache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22
Cache Grundlagen Schreibender Cache Zugriff SS 212 Grundlagen der Rechnerarchitektur Speicher 22 Eine einfache Strategie Schreibt man nur in den Cache, werden Cache und darunter liegender Speicher inkonsistent.
MehrCilk Sprache für Parallelprogrammierung. IPD Snelting, Lehrstuhl für Programmierparadigmen
Cilk Sprache für Parallelprogrammierung IPD Snelting, Lehrstuhl für Programmierparadigmen David Soria Parra Geschichte Geschichte Entwickelt 1994 am MIT Laboratory for Computer Science Cilk 1: Continuations
MehrMultiprozessoren. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011
Multiprozessoren Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Multiprozessoren 1/29 2011-06-16 Multiprozessoren Leistungsfähigkeit
MehrBetriebssysteme. G: Parallele Prozesse. (Teil B: Klassische Problemstellungen, Mutual Exclusion, kritische Regionen)
Betriebssysteme G: Parallele Prozesse (Teil B: Klassische Problemstellungen, Mutual Exclusion, kritische Regionen) 1 Allgemeine Synchronisationsprobleme Wir verstehen ein BS als eine Menge von parallel
MehrMehrprozessorarchitekturen
Mehrprozessorarchitekturen (SMP, UMA/NUMA, Cluster) Arian Bär 12.07.2004 12.07.2004 Arian Bär 1 Gliederung 1. Einleitung 2. Symmetrische Multiprozessoren (SMP) Allgemeines Architektur 3. Speicherarchitekturen
MehrVerteilte Systeme Teil 2
Distributed Computing HS 2012 Prof. Dr. Roger Wattenhofer, Dr. Thomas Locher C. Decker, B. Keller, S. Welten Prüfung Verteilte Systeme Teil 2 Freitag, 8. Februar 2013 9:00 12:00 Die Anzahl Punkte pro Teilaufgabe
MehrR 3 (x)a. R 4 (x)b. vorherige und spätere bezieht sich auf die Sequenz der sequentiellen Konsistenz gesamter Datenspeicher wird synchronisiert
2.8 Schwache Konsistenz (3) Beispiel P1 W 1 (x)a W 1 (x)b Sync 1 P2 P3 Sync 2 W 2 (x)c R 3 (x)b R 3 (x)a t P4 Sync 4 R 4 (x)b R 4 (x)b Annahme: Sequenz der Synchronisation ist: Sync 1, Sync 4, Sync 2 System
MehrQuiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.
Quiz Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset 32 Bit Adresse 31 3 29... 2 1 SS 212 Grundlagen der Rechnerarchitektur
Mehr11. Caches Pufferspeicher
Lesepuffer um vorauszulesen: - erste Leseoperation hat lange Latenzzeit, - Folgedaten vorsorglich schon gelesen, - "prefetch buffer". 11. s 11.1 Pufferspeicher Schreibpuffer um ein Blockieren des schreibenden
MehrSichere Zukunftsvorhersagen durch Modellierung und Approximation
Sichere Zukunftsvorhersagen durch Modellierung und Approximation Jan Reineke @ saarland university computer science Forschungstage Informatik 24. Juni 2016 Der Kontext: Harte Echtzeitsysteme Sicherheitskritische
Mehr2 Rechnerarchitekturen
2 Rechnerarchitekturen Rechnerarchitekturen Flynns Klassifikation Flynnsche Klassifikation (Flynn sche Taxonomie) 1966 entwickelt, einfaches Modell, bis heute genutzt Beschränkung der Beschreibung auf
MehrRessourcenmanagement in Netzwerken SS06 Vorl. 12,
Ressourcenmanagement in Netzwerken SS06 Vorl. 12, 30.6.06 Friedhelm Meyer auf der Heide Name hinzufügen 1 Prüfungstermine Dienstag, 18.7. Montag, 21. 8. und Freitag, 22.9. Bitte melden sie sich bis zum
MehrFAKULTÄT FÜR INFORMATIK
FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Martin Schulz Einführung in die Rechnerarchitektur Wintersemester 07/08 Tutorübung
MehrKonfliktgraph. Satz und Definition
9. Transaktionsverwaltung 9.2. Mehrbenutzerkontrolle Seite 1 Konfliktgraph Der Konfliktgraph von S ist ein gerichteter Graph KG(S) = (V, E), wobei V die Menge aller Transaktionen in S und E die Menge der
MehrSoftware-gestützte Pufferung: Virtueller Speicher BP 2 BP 2. 3 In Software realisierte Pufferspeicher
Software-gestützte Pufferung: Virtueller Speicher 3 In Software realisierte Pufferspeicher 3.1 Virtueller Speicher Pufferung auf externen Speichern (vorwiegend Plattenspeichern) angelegter virtueller Adreßraums
MehrAnwendungen System Realisierung Algorithmik Theorie
Gedanken zum Fundament des Informatikturms Jürg Nievergelt, ETH Zürich, 1995 langlebig Anwendungen System Realisierung Algorithmik Theorie $$$$$ Gedanken zum Fundament des Informatikturms Jürg Nievergelt,
MehrOffenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab...
0 1 2 0 2 1 1 2 0 2 1 0 Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab... 0 1 2 0 1 2 1 1 3 2 2 3 212 Um solche Tabellen leicht implementieren zu können, stellt Java das switch-statement
MehrDatenpfad einer einfachen MIPS CPU
Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:
MehrVerteilte Systeme. Replikation & Konsistenz II. Prof. Dr. Oliver Haase
Verteilte Systeme Replikation & Konsistenz II Prof. Dr. Oliver Haase 1 Überblick Replikation & Konsistenz I Ziele von Replikation Replikationsmodelle datenzentriert Client-zentriert Replikation & Konsistenz
MehrAnalyse aktueller Cache-Architekturen hinsichtlich Struktur und Effizienz. Markus Krause
Analyse aktueller Cache-Architekturen hinsichtlich Struktur und Effizienz Markus Krause Dresden, Gliederung 1. Einführung 2. Problemstellung 3. Lösungen a) Miss Rate b) Miss Penalty c) Hit Time 4. Zusammenfassung
Mehrccnuma Unterstützung Zustandsübergangsdiagramm MESIF
ccnuma Unterstützung Einführung eines neuen Zustandes Forward (F) Cache mit Block im F-Zustand antwortet auf BusRd, Caches mit Block im S-Zustand müssen nichts machen Nach einem BusRd mit Teilhaber wandert
MehrOne of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu
Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich fr Algorithmen und Datenstrukturen Institut fr Computergraphik und Algorithmen Technische Universität Wien One of the few resources increasing faster
Mehr32 Bit Konstanten und Adressierung. Grundlagen der Rechnerarchitektur Assembler 78
32 Bit Konstanten und Adressierung Grundlagen der Rechnerarchitektur Assembler 78 Immediate kann nur 16 Bit lang sein Erinnerung: Laden einer Konstante in ein Register addi $t0, $zero, 200 Als Maschinen
MehrAnalyse von Synchronisation
Analyse von Synchronisation auf heutigen Prozessoren Michael Panzlaff Friedrich-Alexander Universität Erlangen-Nürnberg (FAU) KVBK CS 4 - FAU Amdahls Gesetz Amdahlsche Gesetz 20.00 18.00 16.00 14.00 12.00
Mehr6. REPLIKATION UND KONSISTENZ
6. REPLIKATION UND KONSISTENZ Replikation von Daten: um Zuverlässigkeit zu steigern oder Leistung zu verbessern Allg. Problem: Konsistenz der Repliken untereinander Plan des Kapitels: Wichtigkeit der Replikation
MehrRandom Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines
Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University,
MehrKapitel 5. Parallelverarbeitung. Formen der Parallelität
Kapitel 5 Parallelverarbeitung é Formen der Parallelität é Klassifikation von parallelen Rechnerarchitekturen é Exkurs über Verbindungsstrukturen Bernd Becker Technische Informatik I Formen der Parallelität
MehrTechnische Grundlagen der Informatik 2 SS Einleitung. R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt E-1
E-1 Technische Grundlagen der Informatik 2 SS 2009 Einleitung R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt Lernziel E-2 Verstehen lernen, wie ein Rechner auf der Mikroarchitektur-Ebene
MehrProgrammieren in Java
Ein Projekt 2 Wiederholung: new-operator Werte nicht-primitiver Datentypen müssen mit new erzeugt werden Es gibt keine Möglichkeit primitive Daten mit new zu erzeugen Beispiele int[] myarray = new int[]
MehrC++ atomics, Boost.Lookfree, Hazard-Pointers und die Thread-Hölle
C++ atomics, Boost.Lookfree, Hazard-Pointers und die Thread-Hölle Aachen, den 14. Januar 2016 Max Neunhöffer www.arangodb.com Unser Problem heute Es war einmal... eine multi-threaded Applikation, mit einer
MehrSoftware Transactional Memory
Software-Architektur Software Transactional Memory Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 11.07.2017 15:12 Inhaltsverzeichnis Transaktionaler Speicher..............................
MehrVariante des MSI-Protokolls
Variante des MSI-Protokolls Im Zustand M wird BusRd gesehen. Welche Transition ist durchzuführen? hängt vom Zugriffsmuster der Anwendung ab: Übergang zu S erwartet eher ein nachfolgendes Read und nicht
MehrBig Data Management Thema 14: Cassandra
Thema 14: Cassandra Jan Kristof Nidzwetzki Thema 14: Cassandra 1 / 25 Übersicht 1 Grundlagen Überblick Geschichte Datenmodel 2 Architektur Der logische Ring Persistenz der Daten Tunable Consistency Read
MehrDas C++- Speichermodell. Rainer Grimm Schulungen, Coaching und Technologieberatung
Das C++- Speichermodell Rainer Grimm Schulungen, Coaching und Technologieberatung Multithreading mit C++11 C++'s Antwort auf die Anforderungen der Multicore- Architekturen. Ein definiertes Speichermodell
MehrFEBE Die Frontend-Backend-Lösung für Excel
FEBE Die Frontend--Lösung für FEBE Die Frontend--Lösung für FEBE.pptx 8.04.206 0:43 FEBE Die Frontend--Lösung für Nutzer A alle_aufträge neuer_auftrag Auftragsänderung Nutzer B alle_aufträge neuer_auftrag
Mehrlibrtipc - Bibliothek für echtzeitfähige Interprozesskommunikation
librtipc - Bibliothek für echtzeitfähige Interprozesskommunikation Josef Raschen Diplomarbeit: Hardwareunabhängige Interprozesskommunikation für Echtzeitanwendungen Lehrstuhl für Betriebssysteme RWTH Aachen
MehrRechnerarchitektur. Lösungsvorschlag 6. Übung. Sommersemester Aufgabe: Zyklische Verschiebung
Rechnerarchitektur Lösungsvorschlag 6. Übung Sommersemester 2010 Fachgebiet Rechnerarchitektur Prof. R. Hoffmann Patrick Ediger 1. Aufgabe: Zyklische Verschiebung Gegeben sei eine Folge von n Variablen
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 31.01.2013 Algorithmen für externen Speicher INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
MehrGrundlagen: Überblick
Grundlagen: Überblick Verteilte Systeme Definition Grundbegriffe Kommunikation Klassifikation von Fehlern Begriffe Fehlerarten Analyse von Algorithmen Korrektheit Komplexität Verteilte Algorithmen (VA),
MehrVerteilte Systeme SS 2015. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 7.
Verteilte Systeme SS 2015 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 7. Juli 2015 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/13) i
Mehr3AA. Prof. Dr. Wolfgang P. Kowalk. Universität Oldenburg WS 2005/2006
3AA Prof. Dr. Wolfgang P. Kowalk Universität Oldenburg WS 2005/2006 Version vom 24.10.2005 Übersicht Einführung in maschinennahe Programmierung Verständnis für grundlegende Vorgänge im Computer Jedes Programm
Mehr1 Konzepte der Parallelverarbeitung
Parallelverarbeitung Folie 1-1 1 Konzepte der Parallelverarbeitung Erhöhung der Rechenleistung verbesserte Prozessorarchitekturen mit immer höheren Taktraten Vektorrechner Multiprozessorsysteme (Rechner
Mehr6. REPLIKATION UND KONSISTENZ
6. REPLIKATION UND KONSISTENZ Replikation von Daten: ein Datenelement kann evtl. in mehreren Kopien vorliegen Motivation: um Zuverlässigkeit zu steigern oder Leistung zu verbessern Allg. Problem: Konsistenz
MehrProseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme
wwwnet-texde Proseminar Rechnerarchitekturen Parallelcomputer: Multiprozessorsysteme Stefan Schumacher, , PGP Key http://wwwnet-texde/uni Id: mps-folientex,v
MehrLehrveranstaltung: PR Rechnerorganisation Blatt 8. Thomas Aichholzer
Aufgabe 8.1 Ausnahmen (Exceptions) a. Erklären Sie den Begriff Exception. b. Welche Arten von Exceptions kennen Sie? Wie werden sie ausgelöst und welche Auswirkungen auf den ablaufenden Code ergeben sich
MehrKonzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P
SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 3(Musterlösung) 2014-05-05 bis 2014-05-09 Aufgabe 1: Polling vs Interrupts (a) Erläutern Sie
MehrAufgabe 1 Sicherheit. Klausur Betriebssysteme und Sicherheit, Name: Matrikel-Nr.: Studiengang: 7 Punkte
Klausur etriebssysteme und Sicherheit, 31.07.2014 1 2 3 4 5 6 7 6 7 6 8 8 42 Aufgabe 1 Sicherheit 7 Punkte a) Nennen Sie die drei Haupt-Schutzziele in der atensicherheit! 1 P b) Nennen Sie einen Vorteil
MehrTechnische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember Bitte immer eine Reihe freilassen
Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember 2016 Bitte immer eine Reihe freilassen Ziele der Übung Verschiedene Arten von Instruktionsparallelität
Mehr(Allgemeine) Gesetz von Amdahl
(Allgemeine) Gesetz von Amdahl Amdahl s Law: The performance improvements to be gained from using some faster mode of execution is limited by the fraction of the time the faster mode can be used. Damit
MehrGrundlagen der Rechnerarchitektur. Ein und Ausgabe
Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe
Mehr9. Speicherkonsistenz
9.1.1 Rechnernetze: 9. Speicherkonsistenz 9.1 Typologie verteilter Systeme (revisit) Fokus auf sicherer Datenübertragung über unsichere Kanäle. Typischerweise Ebenen 1 bis 5 des OSI Referenzmodells. Kopiersemantik
MehrGrundlagen der Rechnerarchitektur. Speicher
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2010/11 Lokale und globale Variablen Namensräume Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund
MehrBetriebssysteme (BS) Inhalt. Multiprozessorsysteme. Olaf Spinczyk. olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os
Betriebssysteme (BS) Multiprozessorsysteme http://ess.cs.tu-dortmund.de/de/teaching/ss2015/bs/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware
MehrCache-Speicher. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach
Cache-Speicher Design Digitaler Systeme Prof. Dr.-Ing. Rainer Bermbach Übersicht Cache-Speicher Warum Cache-Speicher? Cache-Strukturen Aufbau und Organisation von Caches Cache-Architekturen Cache-Strategien
MehrInformatik II Übung 7 Gruppe 7
Informatik II Übung 7 Gruppe 7 Leyna Sadamori leyna.sadamori@inf.ethz.ch Informatik II Übung 7 Leyna Sadamori 10. April 2014 1 Administratives Nächste Übung fällt leider aus! Bitte eine andere Übung besuchen.
MehrProgrammier-Befehle - Woche 08
Datentypen Vektoren (mehrdim.) eines bestimmten Typs Erfordert: #include Wichtige Befehle: Definition: std::vector my vec (n rows, std::vector(n cols, init value)) Zugriff:
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
MehrÜberblick über das Speichermodell von C/C++
Überblick über das Speichermodell von C/C++ Benjamin Valentin 18. Juni 2010 1 Einleitung Nebenläufige Anwendungen sind heute die Regel, Systeme mit mehren Rechenkernen sind inzwischen sehr verbreitet.
MehrZiele der Replikation Unterschiedliche Replikationsanforderungen Replikationsmodelle. Verteilte Systeme. 6. Konsistenz und Replikation
6-2 Überblick Verteilte Systeme 6. Konsistenz und Replikation Sommersemester 2011 Institut für Betriebssysteme und Rechnerverbund TU Braunschweig Dr. Christian Werner Bundesamt für Strahlenschutz Ziele
Mehr