Invalidierungs- und Update-basierte Cache-Kohärenz-Protokolle
|
|
- Minna Kästner
- vor 6 Jahren
- Abrufe
Transkript
1 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 Read-Miss ist in Bus-Ordnung serialisiert Read-Hit liest den zuletzt geschriebenen Wert Write-Miss eines Prozessors Cache muss gesamten Block aus dem Speicher lesen Bus-Transaktion erforderlich => Serialisierung in Bus- Ordnung Write-Hit eines Prozessors Verändert Wert im Cache Falls notwendig, führe Bus-Transaktion aus Kritische Aktion Unterschiedliche Ansätze, abhängig vom konkreten Protokoll Architecture of Parallel Computer Systems WS15/16 J.Simon 2 1
2 Einfaches Writeback-Invalidierungsprotokoll 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): in genau einem Cache valider Wert Prozessor-Transaktionen: PrRd (Read) PrWr (Write) Bus-Transaktionen BusRd: fragt nach Kopie ohne Intention zur Modifikation BusRdX: fragt nach Kopie mit Intention zur Modifikation BusWB: Write-Back (Block verdrängt), Update des Speichers Aktionen Falls notwendig: Zustand ändern, Bus-Transaktion ausführen, Daten auf Bus legen Architecture of Parallel Computer Systems WS15/16 J.Simon 3 MSI Zustandsübergangsdiagramm PrRd / : Daten werden auf den Bus gelegt und daraufhin in den Hauptspeicher geschrieben BusRd, BusRdX: Speichersystem antwortet mit Daten falls kein BusRdX M BusRd / BusWB wird bei jeder Verdrängung einer Cache- Line angestoßen "A / B Ereignis A / Transaktion oder Aktion B BusRdX PrRd / BusRd S PrRd / -- BusRd / -- I -- Architecture of Parallel Computer Systems WS15/16 J.Simon 4 2
3 Snoop H/W tags P 1 u:5/ 7 u:7 Snoop H/W tags Beispiel: MSI.. =u.. =u P 2.. =u P 3.. =u u= Snoop H/W tags u:5/ 7 Bus u:5/ 7 I/O-Geräte Speicher (1) P 1 liest u vom Hauptspeicher (2) P 3 liest u vom Hauptspeicher (3) P 3 beschreibt u mit 7 (Cache) (4) P 1 liest u aus P 3 Cache (5) P 2 liest u aus Hauptspeicher Aktion Pr-Aktion Bus Aktion Quelle Zustand in P 1 Zustand in P 2 Zustand in P 3 1 PrRd (1) BusRd Memory S PrRd (3) BusRd Memory S - S 3 PrWr (3) BusRdX Memory I - M 4a PrRd (1) BusRd S - S 4b Cache P 3 5 PrRd (2) BusRd Memory S S S Architecture of Parallel Computer Systems WS15/16 J.Simon 5 MSI Zustandsübergangsdiagramm (2) PrRd / BusUpgrd: Speichersystem antwortet nicht mit dem Block M BusUpgrd BusRdX BusRd / S BusRdX PrRd / BusRd PrRd / -- BusRd / BusUpgrd / -- I Architecture of Parallel Computer Systems WS15/16 J.Simon 6 3
4 Beispiel: MSI mit BusUpgrd P.. =u.. =u 1 P 2.. =u P 3.. =u u=7 u:5/ 7 u: u:5/ 7 u:5/ 7 I/O-Geräte Speicher 2 3 (1) P 1 liest u vom Hauptspeicher (2) P 3 liest u vom Hauptspeicher (3) P 3 beschreibt u mit 7 (Cache) (4) P 1 liest u aus P 3 Cache (5) P 2 liest u aus Hauptspeicher Aktion Pr-Aktion Bus Aktion Quelle Zustand in P 1 Zustand in P 2 Zustand in P 3 1 PrRd (1) BusRd Memory S PrRd (3) BusRd Memory S - S 3 PrWr (3) BusUpgrd - I - M 4a PrRd (1) BusRd S - S 4b Cache P 3 5 PrRd (2) BusRd Memory S S S Architecture of Parallel Computer Systems WS15/16 J.Simon 7 Beweis: Kohärenz + Konsistenz Für das MSI-Protokoll werden betrachtet: Notwendige Bedingungen der Speicherkohärenz Write-Propagierung Write-Serialisierung Hinreichende Bedingungen der sequenziellen Konsistenz Programmordnung Write-Atomarität Write-Completion Architecture of Parallel Computer Systems WS15/16 J.Simon 8 4
5 Erfüllung der Kohärenz (1) Write-Propagierung Write mit BusRdX oder Bus-Upgrd ist für die anderen Caches sichtbar (Invalidierung, danach Zugriff nur über ein BusRd) Write ohne Bus-Transaktion musste zuvor ein Write mit Bus- Transaktion erfordert haben, damit wird auch das letzte Write implizit erkannt Write-Serialisierung? alle Writes ( Bus-Upgrd) die auf dem Bus erscheinenden sind in Bus-Ordnung Schreiben in den Cache geschieht vor anderen Transaktionen des Caches, deshalb ebenso geordnet Durch Snooping führen alle betroffenen Caches die gleichen Aktionen aus Aber was ist mit Writes die nicht auf dem Bus sichtbar sind? Architecture of Parallel Computer Systems WS15/16 J.Simon 9 Erfüllung der Kohärenz (2) Annahme: Write nicht sichtbar auf dem Bus zuvor durchgeführte Write muss vom gleichen Prozessor (P) stammen vorheriges Write vom anderen Prozessor, dann wäre eine Bus-Transaktion notwendig geworden die nach der relevanten letzten Bus-Transaktionen liegende Sequenz an Writes muss vom Proz. P stammen ergibt sich aus der vorherigen Argumentation die letzte relevante Bus-Transaktion wurde durch ein Write von Proz. P verursacht diese Bus-Transaktion erschien in Bus-Ordnung jedes Read von P sieht die Writes in der richtigen Ordnung Reads anderer Prozessoren müssen entweder vor oder erst nach der Sequenz liegen ansonsten wäre eine zusätzliche Bus-Transaktion passiert zukünftige Reads erfordern eine Transaktion in Bus-Ordnung Architecture of Parallel Computer Systems WS15/16 J.Simon 10 5
6 Erfüllung der sequentiellen Konsistenz Definition fordert konsistente globale Verschachtelung: Bus legt totale Ordnung der Bus-Transaktionen fest Durch Snooping auch in allen Caches realisiert Zwischen zwei aufeinander folgenden Bus-Transaktionen führen Prozessoren lokale Reads/Writes in Programmordnung aus werden von P gesehene Writes folgendermaßen serialisiert: durch eigene Programmordnung bei einem Write von P oder durch eine diesbezüglich in Bus-Ordnung vorhergegangen Speicheroperation (mit für alle sichtbaren Bus-Transaktion) Damit führt jedes verschachteln von Operationen der Prozessoren zu einer konsistenten totalen Ordnung innerhalb und zwischen diesen Abschnitten Architecture of Parallel Computer Systems WS15/16 J.Simon 11 MSI: Sequentielle Konsistenz Beweis durch Erfüllung der hinreichenden Bedingungen Write-Completion a) Write wird mit Bus-Transaktion abgeschlossen (Prozessoren/Cache-Controller warten auf Ende der Bus-Trans.) b) Write wirkt nur auf eigenen Cache (Proz. wartet auf Cache) Write-Atomarität Write erzeugt eine Bus-Transaktion die bis zum Abschluss der Transaktion auf dem Bus sichtbar ist, erst danach ist eine weitere Bus-Transaktion möglich Ein Write ohne Bus-Transaktion ist nur für den ausführenden Prozessor relevant sobald ein Read einen Wert eines Writes zurück gibt, wurde das Write bereits für alle anderen Prozessoren sichtbar Architecture of Parallel Computer Systems WS15/16 J.Simon 12 6
7 Variante des MSI-Protokolls Im Zustand M wird BusRd gesehen. Welche Transition ist durchzuführen? hängt vom Zugriffsmuster der Anwendung ab: S erwartet eher ein nachfolgendes Read und nicht unbedingt ein Write eines anderen Prozessors gut wenn hauptsächlich Daten nur gelesen werden aber was ist mit wandernden Daten? Read und Write von P 1, dann Read und Write von P 2 ) dann Read und Write von P x, ggf. besser in Zustand I wechseln und Cache-Line wird frühzeitig frei Maschine Synapse wechselt von Zustand M in Zustand I Maschine Sequent Symmetry und MIT Alewife benutzen adaptive Protokolle Wahl des Protokolls hat durchaus Einfluss auf die Performance des Speichersystems Architecture of Parallel Computer Systems WS15/16 J.Simon 13 Invalidierungsprotokoll mit 4 Zuständen Problem mit MSI Read & Modify von Daten erfordert zwei Bus-Transaktionen BusRd (I S) gefolgt von BusRdX oder BusUpgr (S M) Zwei Bus-Transaktionen notwendig, auch wenn der Block nicht geteilt wird Lösung: Erweiterung um Exclusive Zustand lokales Write ohne Transaktion Benötigte Zustände Invalid und Modified (wie bisher) Exclusive bzw. Exclusive-Clean (nur in diesem Cache, nicht modifiziert) Shared (zwei oder mehrere Caches können Kopien haben) Architecture of Parallel Computer Systems WS15/16 J.Simon 14 7
8 MESI Invalidierungsprotokoll Zustände Modified, Exclusive, Shared, Invalid Zusätzliches Signal auf dem Bus Shared-Line gesetzt durch Cache-Controller Controller setzt Signal als Reaktion auf BusRd, falls der Cache den angefragten Block als Valid vorliegen hat Neuer Zustandsübergang I E PrRd mit BusRd und kein anderer Cache hat eine Kopie bedeutet, shared Signal ist nicht gesetzt Zustandsübergang I S PrRd mit BusRd und Shared-Signal auf dem Bus ist gesetzt MESI Varianten eingesetzt in Intel x86-32, PowerPC, MIPS, Architecture of Parallel Computer Systems WS15/16 J.Simon 15 Zustandsübergangsdiagramm: MESI BusRd(S): Shared-Line wurde während BusRd-Transaktion gesetzt BusRd( S): Shared-Line wurde nicht gesetzt S-Signal setzten, falls BusRd / BusRdX auf Block im M,E oder S Zustand gesehen wird BusRd / BusRdX ohne, dann antwortet Hauptspeicher mit Daten, dann Block auch im Speicher ablegen, damit BusWB nur im Zustand M notwendig BusRdX PrRd / BusRd( S) PrWr/ -- M E PrRd / BusRd / -- PrRd/ -- S -- PrRd / -- BusRd / -- BusRd / -- Ohne Cache-to-Cache Sharing BusRdX PrRd / BusRd(S) I Architecture of Parallel Computer Systems WS15/16 J.Simon 16 8
9 Snoop H/W tags 1 P 1 2..=u u=7 P 2 u:5 / / 7 u:9 u:5/ 7/ 9 Snoop H/W Speicher tags Beispiel:MESI 5..=u Snoop H/W tags 3 P 3 u:7/ 9 I/O-Geräte 4..=u u=9 Shared- Line Bus (1) P 1 liest u Cache Miss (2) P 1 schreibt u (3) P 3 liest u Cache Miss (4) P 3 schreibt u (5) P 2 liest u Cache Miss Aktion Pr-Aktion Bus-Aktion Signal Quelle Zustand in P 1 Zustand in P 2 Zustand in P 3 1a PrRd (1) BusRd? b - Memory E PrWr (1) M - - 3a PrRd (3) BusRd? 3b S Cache P 1 S - S 4 PrWr (3) BusRdX - Memory I - M 5a PrRd (2) BusRd? 5b S Cache P 3 I S S Architecture of Parallel Computer Systems WS15/16 J.Simon 17 MESI Protokoll-Varianten Falls nicht im Modified Zustand, wer liefert beim Miss die Daten: Speicher oder Cache? Original Illionois MESI (1984): Cache, der gegenüber Speicher als schneller angenommen wird Cache-to-Cache Sharing für manche Systeme ist diese Annahme nicht unbedingt gültig Stören anderer Caches ist ggf. teurer als ein Speicherzugriff Cache-to-Cache Sharing ist komplexer woher weiß Speicher, dass Daten ausgeliefert werden müssen muss Speicher erst auf Caches warten? Time-outs? Auswahlverfahren, wenn mehrere Caches validen Wert haben aber gut in Cache-kohärenten System mit verteiltem Speicher kann günstiger sein, wenn Daten im nahen Cache und nicht im entfernten Speicher liegen besonders dann, wenn SMP-Knoten eingesetzt werden (Stanford DASH) Architecture of Parallel Computer Systems WS15/16 J.Simon 18 9
10 Zustandsübergangsdiagramm: Extended MESI BusUpgrd (S M): ohne Datentransfer (S S oder S I): ggf. mehr als ein Cache versucht Daten auf den Bus zu schreiben BusRd / BusRdX, Hauptspeicher antwortet nur mit Daten, falls kein S-Signal gesetzt im M-Zustand, dann Block auch im Speicher ablegen Write-Back: BusWB nur im M-Zustand notwendig Mit Cache-to-Cache Sharing BusRdX PrRd/ BusRd( S) BusUpgrd PrWr/ -- PrRd/ BusRd(S) M E PrRd/ -- S PrRd / -- BusRd / PrRd/ -- PrWr/ -- BusRd / BusRd/ BusUpgrd/-- BusRdX/ I Architecture of Parallel Computer Systems WS15/16 J.Simon 19 P 1 Beispiel:MESI mit C2C-Sharing P 2 u:5 / / 7 u: =u u=7 5..=u 3 P 3 u:7/ 9..=u 4 u=9 (1) P 1 liest u Cache Miss (2) P 1 schreibt u (3) P 3 liest u Cache Miss (4) P 3 schreibt u u:5 / 7/ 9 Speicher I/O-Geräte (5) P 2 liest u Cache Miss Aktion Pr-Aktion Bus-Aktion Signal Quelle Zustand in P 1 Zustand in P 2 Zustand in P 3 1a PrRd (1) BusRd? b - Memory E PrWr (1) M - - 3a PrRd (3) BusRd? 3b S Cache P 1 S - S 4 PrWr (3) BusUpgrd - - I - M 5a PrRd (2) BusRd? 5b S Cache P 3 I S S Architecture of Parallel Computer Systems WS15/16 J.Simon 20 10
11 MESI State Table Cache Controller (1) State Event Action Set Bus Signal Invalid* Read miss (S-Sig is set) Read miss (S-Sig is not set) Write miss Broadcast Rd Get cache line Broadcast Rd Get cache line Broadcast RdX Get and modify cache line - S - E - M Shared Read hit - - S Write hit Broadcast Upgrade - M Snoop hit on Rd Reply with cache line S-Sig S ( ) Snoop hit on RdX Reply with cache line S-Sig I ( ) Snoop hit on Upgrade Invalidate cache line S-Sig I * Implicit Invalid state with replacement of a cache line Next State Architecture of Parallel Computer Systems WS15/16 J.Simon 21 MESI State Table Cache Controller (2) State Event Action Set Bus Signal Exclusive Read hit - - E Write hit - - M Snoop hit on read - S-Sig S Snoop hit on RdX Invalidate cache line - I Modified Read hit - - M Write hit - - M Snoop hit on Rd cache line S-Sig S Snoop hit on RdX cache line - I LRU Replacement Write back - - Next State Architecture of Parallel Computer Systems WS15/16 J.Simon 22 11
12 MESI Memory Controller Actions Memory Controller: Bus Command Bus Signal Action Rd - Reply with block Rd S-Sig - RdX - Reply with block RdX S-Sig - Upgrade - Write back Store block Store block - Architecture of Parallel Computer Systems WS15/16 J.Simon 23 12
Einfaches 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):
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
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
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
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
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
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
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
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:
Mehr1 Organisationsaspekte RISC- und CISC-Prozessoren Ausnutzen von Cache-Effekten
McFarling [1989] konnte Cache Misses um 75% in 8KB direkt abbildenden Caches durch Softwaremaßnahmen senken. Instruktionen Umordnen im Speicher, um Conflict-Misses zu reduzieren Profiling : spezielle Konfliktvermeidungsmaßnahmen
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
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
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
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
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
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
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
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.
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
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
MehrTransiente Zustände. Nicht-Atomarität: Transiente Zustände
Transiente Zustände Bus-Akquirierung: Aufteilung in zwei Phasen BusReq und BusGrant erste Phase (BusReq): Bus-Anforderung und Übergang in transienten Zustand zweite Phase (BusGrant): Beginn mit Bus-Zuteilung
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
MehrRechnerarchitektur. Vorlesungsbegleitende Unterlagen. WS 2003/2004 Klaus Waldschmidt
Rechnerarchitektur Vorlesungsbegleitende Unterlagen WS 2003/2004 Klaus Waldschmidt Teil 15 Speicherhierarchie und s Seite 1 Speicherhierarchie: Der Speicherraum wird in einzelne Schichten unterteilt, die
MehrGrob-Struktur des Prozessor-Speichersystems
2.3.2 Speicherstruktur (1) Grob-Struktur des Prozessor-Speichersystems Chipsatz (Erklärung s. später, Folie 104) 22.4.-27.5.2013, Folie 52 2.3.2 Speicherstruktur (2) Zugriff Prozessor zumeist auf schnelle
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
MehrDirectory-Ansatz bietet
Directory-Ansatz bietet Directories ermöglichen skalierbare Kohärenz auf allgemeinen Netzwerken kein für Broadcast optimiertes Medium erforderlich viele Möglichkeiten der Organisation von Directories und
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
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
MehrIn heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher
Speicherhierarchie In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Register Speicherzellen, direkt mit der Recheneinheit verbunden Cache-Speicher Puffer-Speicher
Mehré Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus
4.2 Caches é Cache kommt aus dem Französischen: cacher (verstecken). é Er kann durch ein Anwendungsprogramm nicht explizit adressiert werden. é Er ist software-transparent, d.h. der Benutzer braucht nichts
MehrWritebacks. Nicht-Atomare Zustandsübergänge
Writebacks Um den Prozessor ein schnelles fortführen zu ermöglichen, soll zuerst der Miss bedient und dann erst ein Writeback asynchron realisiert werden P Data Addr Cmd write-back buffer notwendig Snooping
MehrParallelrechner: Klassifikation. Parallelrechner: Motivation. Parallelrechner: Literatur. Parallelrechner: PC-Technologie SMP-Multiprozessorsysteme 69
Parallelrechner: Motivation immer höhere Performance gefordert => schnellere Einzelprozessoren aber Takte oberhalb von 10 GHz unrealistisch => mehrere Prozessoren diverse Architekturkonzepte shared-memory
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
MehrInhalt Teil 10 (Caches) aus 6. Speicherorganisation
Inhalt Teil 10 (Caches) aus 6. Speicherorganisation 1 6.2 Caches 6.2.1 Systemstrukturen 6.2.2 Laden des Cache 6.2.3 Cache-Strukturen Vollassoziativer Cache Direkt zuordnender Cache N-fach assoziativer
MehrVorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)
Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) J. Zhang zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme
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
MehrMar&n Hoffmann HARDWAREUNTERSTÜTZUNG FÜR NICHT BLOCKIERENDE SYNCHRONISATION
Mar&n Hoffmann HARDWAREUNTERSTÜTZUNG FÜR NICHT BLOCKIERENDE SYNCHRONISATION 1 Es ist ziemlich eindeu&g, dass Moore s Law nicht mehr die Taktrate, sondern die Zahl der Kerne misst. Es scheint so, als ob
MehrSpeicherhierarchie, Caches, Consistency Models
Speicherhierarchie, Caches, Consistency Models Maximilian Langknecht Lehrstuhl für Rechnerarchitektur Betreuer: Prof. Dr. Ulrich Brüning 1 Inhaltsverzeichnis Speicherhierarchie Warum gibt es Speicherhierarchie?
MehrCache Blöcke und Offsets
Cache Blöcke und Offsets Ein Cache Eintrag speichert in der Regel gleich mehrere im Speicher aufeinander folgende Bytes. Grund: räumliche Lokalität wird wie folgt besser ausgenutzt: Bei Cache Miss gleich
MehrVirtueller Speicher und Memory Management
Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write
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
MehrSpeicherarchitektur (23) Suchen einer Seite:
Speicherarchitektur (23) Suchen einer Seite: Vorlesung Rechnersysteme SS `09 E. Nett 7 Speicherarchitektur (24) Adressschema inklusive Seitenfehler: Vorlesung Rechnersysteme SS `09 E. Nett 8 Speicherarchitektur
MehrBesprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur
Themen heute Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur Besprechung des 8. Übungsblattes Aufgabe 2.6. In diesem
Mehr2 Rechnerarchitekturen
2 Rechnerarchitekturen Rechnerarchitekturen Flynns Klassifikation Flynnsche Klassifikation (Flynn sche Taxonomie) 1966 entwickelt, einfaches Modell, bis heute genutzt Beschränkung der Beschreibung auf
Mehr, 2014W Übungsgruppen: Mo., Mi.,
VU Technische Grundlagen der Informatik Übung 7: Speichermanagement 183.579, 2014W Übungsgruppen: Mo., 12.01. Mi., 14.01.2015 Aufgabe 1: Cache-Adressierung Ein Prozessor mit einer Adresslänge von 20 Bit
MehrUniversität Karlsruhe (TH)
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Cluster-Praktikum Sommersemester 2007 Transparent Replizierte Objekte in JavaParty Institut für Programmstrukturen und Datenorganisation
MehrLinux Paging, Caching und Swapping
Linux Paging, Caching und Swapping Inhalte Paging Das Virtuelle Speichermodell Die Page Table im Detail Page Allocation und Page Deallocation Memory Mapping & Demand Paging Caching Die verschiedenen Caches
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
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
MehrIT-Infrastruktur, WS 2014/15, Hans-Georg Eßer
ITIS-D'' IT-Infrastruktur WS 2014/15 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz D'': Rechnerstrukturen, Teil 3 v1.0, 2014/11/27 Folie D''-1 Dieser Foliensatz Vorlesungsübersicht Seminar Wiss.
MehrHardware und Gerätetreiber
Hardware und Gerätetreiber Betriebssysteme Hermann Härtig TU Dresden Übersicht Übersicht Kommunikation zwischen Hardware und CPU Interrupts I/O-Ports I/O-Speicher Busse Verwaltung von Geräten Dynamisches
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
MehrProseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme
wwwnet-texde Proseminar Rechnerarchitekturen Parallelcomputer: Multiprozessorsysteme Stefan Schumacher, , PGP Key http://wwwnet-texde/uni Id: mps-folientex,v
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
MehrHORUS. Seminar "Ausgewählte Themen in Hardwareentwurf und Optik" im HWS Martin Scherer
HORUS Seminar "Ausgewählte Themen in Hardwareentwurf und Optik" im HWS 2006 Martin Scherer Horus Inhalt 1 Einführung 2 Cachekohärenz 3 ExtendiScale Architektur 4 Übertragungsbeispiele 5 Performance Erweiterungen
MehrKlausur Mikroprozessortechnik
1 Prof. Dr. K. Wüst WS 2001 FH Gießen Friedberg, FB MNI Studiengang Informatik Nachname: Vorname: Matrikelnummer: Klausur Mikroprozessortechnik 14.9.2001 Punkteverteilung Aufgabe Punkte erreicht 1 3 2
MehrRechnerarchitektur SS 2012
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
MehrVorlesung "Systemsoftware II" Wintersemester 2002/03
(c) Peter Sturm, Universität Trier 1 Verteilte Systeme 16. Transaktionen Motivation Sicherung konsistenter Systemzustände Beispiele Amnesieproblematik bei zustandsbehafteten Servern Sicherung des Primaries
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.
MehrVorlesung "Verteilte Systeme" Wintersemester 2000/2001. Verteilte Systeme. 14. Transaktionen
Verteilte Systeme 14. Transaktionen Motivation Sicherung konsistenter Systemzustände Beispiele Amnesieproblematik bei zustandsbehafteten Servern Sicherung des Primaries (Primary-Backup- Approach) Aktive
MehrVirtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44
Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock
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
MehrProblem: Write-Atomarität
Problem: Write-Atomarität Initial: A=B=0 A = 1; while (A==0); B=1; while (B==0); print A; P1 P2 P3 Mem Cache Mem Cache A:0->1 A:0 Cache B:0->1 Mem A=1 delay B=1 A=1 Verbindungsnetzwerk Vorlesung: Architektur
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
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
MehrAdressierung von Speichern und Eingabe- Ausgabegeräten
Adressierung von Speichern und Eingabe- Ausgabegeräten Adressdecodierung Die Busstruktur von Prozessorsystemen verbindet die Bauteile über gemeinsame Leitungen. Auf dem Bus darf zu einer Zeit immer nur
MehrTutorium Rechnerorganisation
Woche 11 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
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
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,
MehrVorstellung der SUN Rock-Architektur
Fakultät Informatik Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Vorstellung der SUN Rock-Architektur Hauptseminar Ronald Rist Dresden, 14.01.2009
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
MehrKlausur zur Vorlesung
Prof. Dr. Franz J. Rammig Paderborn,.3. C. Böke, C. Ditze Klausur zur Vorlesung "Grundlagen der technischen Informatik" und "Grundlagen der Rechnerarchitektur" Wintersemester 999/. Teil: GTI Der erste
MehrVerteilte Systeme. Diffusionsalgorithmen. Secure Identity Research Group
Verteilte Systeme Diffusionsalgorithmen Diffusionsalgorithmen Definition: Ein verteilter Diffusionsalgorithmus auf einem Beliebigen Graphen startet in einem Zustand, in dem alle Knoten des Graphen idle
MehrSommersemester Analyse II: Verhalten (Zustandsautomaten)
Sommersemester 23 Analyse II: Verhalten (Zustandsautomaten) 8 Aufgabe 2 Analyse II: Verhalten (Zustandsautomaten) Umfang: 2 Wochen Punkte: P. Nachdem in der ersten Aufgabe die Systemstruktur mit Hilfe
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 24.01.2013 Online Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
MehrDatenpfad einer einfachen MIPS CPU
Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:
MehrSpeicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen:
Übersicht 1 Einleitung Hauptspeicher 2 Hauptspeicher 3 Caches, Cache-Kohärenz Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009
MehrRechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor.
Rechnerstrukturen 6. System Systemebene 1 (Monoprozessor) 2-n n (Multiprozessor) s L1- in der L2- ( oder Motherboard) ggf. L3- MMU Speicher Memory Controller (Refresh etc.) E/A-Geräte (c) Peter Sturm,
MehrMikroprozessortechnik Grundlagen 1
Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes
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:
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
MehrPipelining. Die Pipelining Idee. Grundlagen der Rechnerarchitektur Prozessor 45
Pipelining Die Pipelining Idee Grundlagen der Rechnerarchitektur Prozessor 45 Single Cycle Performance Annahme die einzelnen Abschnitte des MIPS Instruktionszyklus benötigen folgende Ausführungszeiten:
MehrÜbungen zur Vorlesung. Datenbanken I. WS 2002/2003 Blatt 4 MUSTERLÖSUNG
Prof. Dr. S. Böttcher Adelhard Türling Übungen zur Vorlesung Datenbanken I WS 2002/2003 Blatt 4 MUSTERLÖSUNG Aufgabe 4.1: Bestimmen Sie zu den folgenden Transaktions-Schedules, ob diese (konflikt-) serialisierbar
MehrRechnerstrukturen. 5. Speicher. Inhalt. Vorlesung Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1.
Rechnerstrukturen 5. Speicher 5.1 Motivation Speichertypen RAM / ROM Dynamisches RAM Inhalt Cache-Speicher Voll Assoziativ n-wege Assoziativ Direct Mapping 5.2 (c) Peter Sturm, Universität Trier 1 Der
MehrArchitektur von Parallelrechnern 50
Architektur von Parallelrechnern 50 Rechenintensive parallele Anwendungen können nicht sinnvoll ohne Kenntnis der zugrundeliegenden Architektur erstellt werden. Deswegen ist die Wahl einer geeigneten Architektur
MehrRechnernetze und Organisation
Framework für Assignment A2 1 Übersicht Framework für Assignment A2 WH: Aufgabenstellung Klassen und Methoden Getting started Erste Instruktion aus Testdaten dekodieren 2 Aufgabenstellung Instruction-Set
MehrEinführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß?
Kontrollflüsse Einführung 1 Motivation Kontrollfluß Anwendung logischer Adreßraum Kontrollfluß (Thread) = führt Instruktionen aus Was charakterisiert einen Kontrollfluß? Programmzähler Registerinhalte
MehrPhysische Datenorganisation
Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID ( B-Bäume Hashing R-Bäume ) Kapitel 7 1 Überblick: Speicherhierarchie Register Cache Hauptspeicher Plattenspeicher Archivspeicher
MehrEigenschaften von TAs: ACID-Prinzip
Transaktionsparadigma Definition: Transaktion ununterbrechbare Folge von DML-/DDL-Befehlen begin transaction --- end transaction begin: meist implizit mit ersten Datenbankzugriff end: commit (work) oder
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:
MehrLösung von Übungsblatt 2
Lösung von Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. Lochstreifen, Lochkarte, CD/DVD beim Pressen. 2. Nennen Sie zwei rotierende
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 6 Cache-freundliche Programmierung (1) Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Quadratische Matrizen Musterlösung
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
MehrExample Ptolemy Model of Comp.: Synchronous Reactive
Prinzip: Example Ptolemy Model of Comp.: Synchronous Reactive Annahme: unendlich schnelle Maschine Diskrete Ereignisse (DE) werden zyklisch verarbeitet (Ereignisse müssen nicht jede Runde eintreffen) Pro
Mehr