Directory-based Protocol

Slides:



Advertisements
Similar presentations
Cache coherence for CMPs Miodrag Bolic. Private cache Each cache bank is private to a particular core Cache coherence is maintained at the L2 cache level.
Advertisements

Cache Coherence “Can we do a better job of supporting cache coherence?” Ross Daly Chan Kim.
1 Lecture 4: Directory Protocols Topics: directory-based cache coherence implementations.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
CSE 490/590, Spring 2011 CSE 490/590 Computer Architecture Directory-Based Caches II Steve Ko Computer Sciences and Engineering University at Buffalo.
Using one level of Cache:
CIS629 Coherence 1 Cache Coherence: Snooping Protocol, Directory Protocol Some of these slides courtesty of David Patterson and David Culler.
CS252/Patterson Lec /23/01 CS213 Parallel Processing Architecture Lecture 7: Multiprocessor Cache Coherency Problem.
LRU Replacement Policy Counters Method Example
1 Lecture 20: Coherence protocols Topics: snooping and directory-based coherence protocols (Sections )
Lecture 10 Outline Material from Chapter 2 Interconnection networks Processor arrays Multiprocessors Multicomputers Flynn’s taxonomy.
1 Lecture 5: Directory Protocols Topics: directory-based cache coherence implementations.
1 CSE SUNY New Paltz Chapter Nine Multiprocessors.
CS252/Patterson Lec /28/01 CS 213 Lecture 10: Multiprocessor 3: Directory Organization.
CSCE 212 Quiz 11 – 4/13/11 Given a direct-mapped cache with 8 one-word blocks and the following 32-bit memory address references: 1 2, ,
Parallel Computer Architecture: Essentials for Both Computer Scientists and Engineers Edward F. Gehringer †* Yan.
Spring 2003CSE P5481 Cache Coherency Cache coherent processors reading processor must get the most current value most current value is the last write Cache.
1 Cache coherence CEG 4131 Computer Architecture III Slides developed by Dr. Hesham El-Rewini Copyright Hesham El-Rewini.
MSJ-1 Alignment Network. MSJ-2 Alignment Network ALU 32 general purpose registers 32 bits memory width − a.k.a., block size (8 bytes, in this example)
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Open Systems Interconnection Model (OSI model). The Open Systems Interconnect Model.
Cache Control and Cache Coherence Protocols How to Manage State of Cache How to Keep Processors Reading the Correct Information.
ECE200 – Computer Organization Chapter 9 – Multiprocessors.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 5, 2005 Session 22.
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 March 20, 2008 Session 9.
1 Introduction ELG 6158 Digital Systems Architecture Miodrag Bolic.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 7, 2005 Session 23.
COMP8330/7330/7336 Advanced Parallel and Distributed Computing Tree-Based Networks Cache Coherence Dr. Xiao Qin Auburn University
The University of Adelaide, School of Computer Science
Multi Processing prepared and instructed by Shmuel Wimer Eng. Faculty, Bar-Ilan University June 2016Multi Processing1.
An Adaptive Cache Coherence Protocol Optimized for Producer-Consumer Sharing Liquin Cheng, John B. Carter and Donglai Dai cs.utah.edu by Evangelos Vlachos.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Centralized Multiprocessor.
1 Computer Architecture & Assembly Language Spring 2001 Dr. Richard Spillman Lecture 26 – Alternative Architectures.
IT 242 Week 1 CheckPoint OSI Model To purchase this material link CheckPoint-OSI-Model For more courses.
תרגול מס' 5: MESI Protocol
Architecture and Design of AlphaServer GS320
Direct Cache Structure
The University of Adelaide, School of Computer Science
The University of Adelaide, School of Computer Science
Lecture 18: Coherence and Synchronization
12.4 Memory Organization in Multiprocessor Systems
Memory Hierarchy Virtual Memory, Address Translation
Local secondary storage (local disks)
Assignment 4 – (a) Consider a symmetric MP with two processors and a cache invalidate write-back cache. Each block corresponds to two words in memory.
CMSC 611: Advanced Computer Architecture
Example Cache Coherence Problem
CS5102 High Performance Computer Systems Distributed Shared Memory
Interconnect with Cache Coherency Manager
Outline Interconnection networks Processor arrays Multiprocessors
Direct Mapping.
Lecture 8: Directory-Based Cache Coherence
An Extensible Simulator for Bus- and Directory-Based Coherence
Lecture 7: Directory-Based Cache Coherence
Lecture 9: Directory-Based Examples
Slides developed by Dr. Hesham El-Rewini Copyright Hesham El-Rewini
Lecture 8: Directory-Based Examples
Lecture 25: Multiprocessors
The University of Adelaide, School of Computer Science
Lecture 17 Multiprocessors and Thread-Level Parallelism
Cache coherence CEG 4131 Computer Architecture III
Lecture 24: Virtual Memory, Multiprocessors
Lecture 23: Virtual Memory, Multiprocessors
Coherent caches Adapted from a lecture by Ian Watson, University of Machester.
Lecture 17 Multiprocessors and Thread-Level Parallelism
Lecture 18: Cache Coherence
Lecture 19: Coherence and Synchronization
CSL718 : Multiprocessors 13th April, 2006 Introduction
The University of Adelaide, School of Computer Science
CSE 486/586 Distributed Systems Cache Coherence
Lecture 17 Multiprocessors and Thread-Level Parallelism
Presentation transcript:

Directory-based Protocol Interconnection Network Directory Local Memory Cache CPU 0 CPU 1 CPU 2

Directory-based Protocol Interconnection Network CPU 0 CPU 1 CPU 2 Bit Vector X U 0 0 0 Directories X 7 Memories Caches

Interconnection Network CPU 0 Reads X Interconnection Network Read Miss CPU 0 CPU 1 CPU 2 X U 0 0 0 Directories X 7 Memories Caches

Interconnection Network CPU 0 Reads X Interconnection Network CPU 0 CPU 1 CPU 2 X S 1 0 0 Directories X 7 Memories Caches

Interconnection Network CPU 0 Reads X Interconnection Network 7 X CPU 0 CPU 1 CPU 2 X S 1 0 0 Directories 7 X Memories Caches

Interconnection Network CPU 2 Reads X Interconnection Network CPU 0 CPU 1 CPU 2 X S 1 0 0 Directories Read Miss 7 X Memories Caches 7 X

Interconnection Network CPU 2 Reads X Interconnection Network CPU 0 CPU 1 CPU 2 X S 1 0 1 Directories 7 X Memories Caches 7 X

Interconnection Network CPU 2 Reads X Interconnection Network CPU 0 CPU 1 CPU 2 X S 1 0 1 Directories 7 X Memories 7 X Caches 7 X

Interconnection Network CPU 0 Writes 6 to X Interconnection Network CPU 0 Write Miss CPU 1 CPU 2 X S 1 0 1 Directories 7 X Memories Caches 7 X 7 X

Interconnection Network CPU 0 Writes 6 to X Interconnection Network CPU 0 CPU 1 CPU 2 X S 1 0 1 Directories Invalidate 7 X Memories Caches 7 X 7 X

Interconnection Network CPU 0 Writes 6 to X Interconnection Network CPU 0 CPU 1 CPU 2 X E 1 0 0 Directories 7 X Memories Caches X 6

Interconnection Network CPU 1 Reads X Interconnection Network CPU 0 CPU 1 Read Miss CPU 2 X E 1 0 0 Directories 7 X Memories Caches 6 X

Interconnection Network CPU 1 Reads X Interconnection Network CPU 0 Switch to Shared CPU 1 CPU 2 X E 1 0 0 Directories 7 X Memories Caches 6 X

Interconnection Network CPU 1 Reads X Interconnection Network CPU 0 CPU 1 CPU 2 X E 1 0 0 Directories 6 X Memories Caches 6 X

Interconnection Network CPU 1 Reads X Interconnection Network CPU 0 CPU 1 CPU 2 X S 1 1 0 Directories 6 X Memories Caches 6 X 6 X

Interconnection Network CPU 2 Writes 5 to X Interconnection Network CPU 0 CPU 1 CPU 2 X S 1 1 0 Directories 6 X Memories Write Miss Caches 6 X 6 X

Interconnection Network CPU 2 Writes 5 to X Interconnection Network CPU 0 Invalidate CPU 1 CPU 2 X S 1 1 0 Directories 6 X Memories Caches 6 X 6 X

Interconnection Network CPU 2 Writes 5 to X Interconnection Network CPU 0 CPU 1 CPU 2 X E 0 0 1 Directories 6 X Memories X 5 Caches

Interconnection Network CPU 0 Writes 4 to X Interconnection Network Write Miss CPU 0 CPU 1 CPU 2 X E 0 0 1 Directories 6 X Memories 5 X Caches

Interconnection Network CPU 0 Writes 4 to X Interconnection Network CPU 0 CPU 1 CPU 2 X E 1 0 0 Directories 6 X Memories Take Away 5 X Caches

Interconnection Network CPU 0 Writes 4 to X Interconnection Network CPU 0 CPU 1 CPU 2 X E 0 1 0 Directories 5 X Memories 5 X Caches

Interconnection Network CPU 0 Writes 4 to X Interconnection Network CPU 0 CPU 1 CPU 2 X E 1 0 0 Directories 5 X Memories Caches

Interconnection Network CPU 0 Writes 4 to X Interconnection Network CPU 0 CPU 1 CPU 2 X E 1 0 0 Directories 5 X Memories Caches 5 X

Interconnection Network CPU 0 Writes 4 to X Interconnection Network CPU 0 CPU 1 CPU 2 X E 1 0 0 Directories 5 X Memories Caches X 4

Interconnection Network CPU 0 Writes Back X Block Interconnection Network CPU 0 Data Write Back CPU 1 CPU 2 X E 1 0 0 Directories 4 X 5 X Memories Caches 4 X

Interconnection Network CPU 0 Writes Back X Block Interconnection Network CPU 0 CPU 1 CPU 2 X U 0 0 0 Directories 4 X Memories Caches