• Keine Ergebnisse gefunden

Wann gilt ein Cache als kohärent?

N/A
N/A
Protected

Academic year: 2022

Aktie "Wann gilt ein Cache als kohärent?"

Copied!
7
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Parallelität und Caches

(2)

Cache‐Coherenz‐Problem

CPU 1 (oder Core 1) CPU 2 (oder Core 2)

Cache Cache

Speicher

Zeitschritt Event Cache‐Inhalt für  Cache‐Inhalt für  Speicherinhalt 

CPU A CPU B für Adresse X

0 0

(3)

Wann gilt ein Cache als kohärent?

1. Lesen von Speicherstelle X nach schreiben in Speicherstelle X  sollte den geschriebenen Wert zurück geben, wenn kein 

weiterer Prozess auf die Stelle X geschrieben hat.

2 Nachdem ein Prozess in speicherstelle X geschrieben hat sollte 2. Nachdem ein Prozess in speicherstelle X geschrieben hat, sollte 

„nach einer gewissen Zeit“ jeder Prozess den geschriebenen  Wert in X vorfinden.

3. Zwei Schreiboperationen von zwei Prozessen in die 

Speicherstelle X sollte von jedem Prozess in der gleichen  Reihenfolge gesehen werden. (Schreiben ist serialisiert)

(4)

Wie erreicht man Kohärenz?

Write‐Invalidate‐Protokoll: Wenn ein Prozess in einen Speicherstelle schreibt wird  die Speicherstelle in den Caches aller anderen Prozesse invalidiert.

Dieses Protokoll stellt Serialisierung sicher Dieses Protokoll stellt Serialisierung sicher.

Prozessor‐

aktivitäts

Busaktivität Inhalt des  Caches von 

Inhalt des  Caches von 

Inhalt des  Caches von 

CPU A CPU B CPU C

0

l h f

CPU A liest X Cache‐Miss für X 0 0

CPU B liest X Cache‐Miss für X 0 0 0

CPU A schreibt Cache‐ 1 0

CPU A schreibt  1 nach X

Cache

Invalidierung für X

1 0

CPU B liest X Cache‐Miss für X 1 1 1

(5)

Zusammenfassung und Literatur

(6)

Zusammenfassung

• Cache‐Ziel: Speicher so groß wie auf unterstem Level  aber annähernd so schnell wie auf höchstem Level.

• Warum funktionieren Caches überhaupt so gut? 

Lokalitätsprinzip.

• Virtueller Speicher ist prinzipiell das selbe wie ein  Cache. Auch hier gelten dieselben Cache‐Prinzipien g p (z.B. Lokalität)

• Insgesamt ergibt sich eine Hierarchie von Caches.Insgesamt ergibt sich eine Hierarchie von Caches.

• Caches sind prinzipiell vor der Software unsichtbar. 

(7)

Literatur

[PattersonHennessy2012] David A. Patterson und  John L. Hennessy, „Computer Organization and  y, „ p g Design“, Fourth Edition, 2012

5 1 Introduction 5.1 Introduction

5.2 The Basics of Caches

5.3 Measuring and Improving Cache Performance 5.4 Virtual Memoryy

5.8 Parallelism and Memory Hierarchies: Cache  Coherence

Coherence

Referenzen

ÄHNLICHE DOKUMENTE

ça à Renée qui lui pouffe dans le cou en disant: «Tais-toi, tais-toi, je vais mourir.» Mais Agnès, elle, se bouche les oreilles en répétant: «Si tu crois que tu me fais peur avec

• Hierarchisches Caching: Anfrage wird bei einem Cache- Miss über mehrere Hierarchiestufen weitergereicht.

Übertragungszeit sinkt, wenn Objekte im (netztopologisch) nahen Cache gefunden werden.. Nicht gefundenen Objekte werden schneller

To achieve this, our method maximizes the data locality by dynamically selecting the width and height of TBs according to the geometrical relationship between the viewpoint and

Using Bloom Filters seems to speedup a lot the process whenever initial sequence depth does not suffice to find all possible unique sequences as shown on Figure 4. This figure details

This study is based on a simulation environment that models the parallel execution of OpenMP programs and provides comprehensive information about the runtime data accesses..

Index Terms-- allocation threshold, cache miss rate, cache performance, copying collection, garbage collection, generational garbage collection, incremental

The cache sets used during encryption cause cache misses and the cache sets untouched during the encryption are cache hits, using this timing difference the attacker can recover