CIS 720 Distributed Shared Memory. Shared Memory Shared memory programs are easier to write Multiprocessor systems Message passing systems: - no physically.

Slides:



Advertisements
Similar presentations
Implementation and Verification of a Cache Coherence protocol using Spin Steven Farago.
Advertisements

Distributed Shared Memory
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) Lecture 25: Distributed Shared Memory All slides © IG.
Distributed Operating Systems CS551 Colorado State University at Lockheed-Martin Lecture 4 -- Spring 2001.
CPSC 668Set 16: Distributed Shared Memory1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
1 Multiprocessors. 2 Idea: create powerful computers by connecting many smaller ones good news: works for timesharing (better than supercomputer) bad.
CS252/Patterson Lec /23/01 CS213 Parallel Processing Architecture Lecture 7: Multiprocessor Cache Coherency Problem.
1 Lecture 18: Coherence Protocols Topics: coherence protocols for symmetric and distributed shared-memory multiprocessors (Sections )
Distributed Resource Management: Distributed Shared Memory
Consistency. Consistency model: –A constraint on the system state observable by applications Examples: –Local/disk memory : –Database: What is consistency?
CSS434 DSM1 CSS434 Distributed Shared Memory Textbook Ch18 Professor: Munehiro Fukuda.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed Shared Memory.
Lecture 37: Chapter 7: Multiprocessors Today’s topic –Introduction to multiprocessors –Parallelism in software –Memory organization –Cache coherence 1.
Multiprocessor Cache Coherency
1 Cache coherence CEG 4131 Computer Architecture III Slides developed by Dr. Hesham El-Rewini Copyright Hesham El-Rewini.
Lazy Release Consistency for Software Distributed Shared Memory Pete Keleher Alan L. Cox Willy Z.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Distributed Shared Memory Steve Ko Computer Sciences and Engineering University at Buffalo.
CS425/CSE424/ECE428 – Distributed Systems Nikita Borisov - UIUC1 Some material derived from slides by I. Gupta, M. Harandi, J. Hou, S. Mitra,
Ch 10 Shared memory via message passing Problems –Explicit user action needed –Address spaces are distinct –Small Granularity of Transfer Distributed Shared.
Distributed Shared Memory Based on Reference paper: Distributed Shared Memory, Concepts and Systems.
Cache Coherence Protocols 1 Cache Coherence Protocols in Shared Memory Multiprocessors Mehmet Şenvar.
Distributed Shared Memory Presentation by Deepthi Reddy.
Distributed Shared Memory (part 1). Distributed Shared Memory (DSM) mem0 proc0 mem1 proc1 mem2 proc2 memN procN network... shared memory.
Shared Memory Consistency Models. SMP systems support shared memory abstraction: all processors see the whole memory and can perform memory operations.
Implementation and Performance of Munin (Distributed Shared Memory System) Dongying Li Department of Electrical and Computer Engineering University of.
DISTRIBUTED COMPUTING
Page 1 Distributed Shared Memory Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
ECE 1747: Parallel Programming Basics of Parallel Architectures: Shared-Memory Machines.
Linearizability Linearizability is a correctness criterion for concurrent object (Herlihy & Wing ACM TOPLAS 1990). It provides the illusion that each operation.
Lazy Release Consistency for Software Distributed Shared Memory Pete Keleher Alan L. Cox Willy Z. By Nooruddin Shaik.
1 Lecture 19: Scalable Protocols & Synch Topics: coherence protocols for distributed shared-memory multiprocessors and synchronization (Sections )
Distributed shared memory u motivation and the main idea u consistency models F strict and sequential F causal F PRAM and processor F weak and release.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Set 16: Distributed Shared Memory 1.
August 13, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 11: Multiprocessors: Uniform Memory Access * Jeremy R. Johnson Monday,
1 Lecture 17: Multiprocessors Topics: multiprocessor intro and taxonomy, symmetric shared-memory multiprocessors (Sections )
Lecture 28-1 Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2010 Indranil Gupta (Indy) December 2, 2010 Lecture 28 Distributed.
The University of Adelaide, School of Computer Science
Implementation and Performance of Munin (Distributed Shared Memory System) Dongying Li Department of Electrical and Computer Engineering University of.
COSC6385 Advanced Computer Architecture
Cache Organization of Pentium
Distributed Shared Memory
תרגול מס' 5: MESI Protocol
Computer Science 425 Distributed Systems CS 425 / ECE 428 Fall 2013
The University of Adelaide, School of Computer Science
The University of Adelaide, School of Computer Science
Consistency and Replication
Lecture 18: Coherence and Synchronization
Multiprocessor Cache Coherency
Ivy Eva Wu.
The University of Adelaide, School of Computer Science
The University of Adelaide, School of Computer Science
Distributed Shared Memory
Lecture 26 A: Distributed Shared Memory
Outline Midterm results summary Distributed file systems – continued
Linearizability Linearizability is a correctness criterion for concurrent object (Herlihy & Wing ACM TOPLAS 1990). It provides the illusion that each operation.
Distributed Shared Memory
CSS490 Distributed Shared Memory
Exercises for Chapter 16: Distributed Shared Memory
High Performance Computing
Slides developed by Dr. Hesham El-Rewini Copyright Hesham El-Rewini
The University of Adelaide, School of Computer Science
Lecture 26 A: Distributed Shared Memory
Lecture 17 Multiprocessors and Thread-Level Parallelism
Cache coherence CEG 4131 Computer Architecture III
Distributed Resource Management: Distributed Shared Memory
Lecture 17 Multiprocessors and Thread-Level Parallelism
Lecture 19: Coherence and Synchronization
Lecture 18: Coherence and Synchronization
The University of Adelaide, School of Computer Science
Lecture 17 Multiprocessors and Thread-Level Parallelism
Presentation transcript:

CIS 720 Distributed Shared Memory

Shared Memory Shared memory programs are easier to write Multiprocessor systems Message passing systems: - no physically shared memory - need to provide an abstraction of shared memory: Distributed Shared Memory

Shared Memory

-Single copy of each variable at a fixed location -Multiple copies

Consistency Models w(x)v: write value v into x r(x)v: read of x return value v Uniprocess programs: - all operations are totally ordered - read operations return the value written by the most recent write operation w(y)2 w(x)2 r(y)2 w(x)1 r(x)

Migratory protocol Each page (variable) has a single copy Initially, pages are distributed among the processes. To read/write a variable: If page is locally available, perform the operation; Otherwise, DSM layer sends request for the page to be moved locally.

Migratory protocol can suffer from trashing. Solution: Maintain multiple copies

Consistency model In the presence of multiple copies, we need to look at values written by other processes

Definitions x = 3 y = z z = 3 w = x x = 5 y = 4 Program order Execution History: …….,x = 5; x = 3; w = x; y = z; y = 4; z = 3; ……. - legal execution history x must be 3

Atomic consistency Any read to a memory location x must return the value stored by the most recent write on x that has been done. The order of events must coincide with the real-time occurrence of non-overlapping events

Write-invalidate Protocol Each page has an owner; Protection modes: read, read_and_write, none Read operation: if not locally available, then obtain a read-only copy. Set protection mode to read. Write operation: Contact the current owner; get the page and its ownership; send invalidate messages to nodes that have copies; sets the protection to read_and_write;

Write-through Protocol Multiprocessor with snooping cache Read operation: if variable not in cache, then read from main memory and cache it. Else, read from the cache. Write operation: update shared memory and invalidate cache entries.

Sequential Consistency Lamport 1979 A multiprocessor system is sequentially consistent if the result of any execution is the same as if the operations of all processors were executed in some sequential order and the operations of each individual processor appear in this sequence in the order specified by its program.

Sequential Consistency x = 3 y = z z = 3 w = x x = 5 y = 4 …….,x = 5; x = 3; w = x; y = z; y = 4; z = 3; ……. a = x b = x c = x d = x

Brown’s Algorithm Each process has a queue In i of invalidation requests

Brown’s algorithm w(x)v: perform all invalidations in In queue; update main memory; place invalidation request in In queue of each process r(x): if x in cache then read x; else perform all invalidation in In i read from the main memory

Whenever main memory is accessed, all outstanding invalidations must be performed. Sequential consistency is maintained.

Distributed implementation All processes maintain a local copy Write w(x)v: send message to all processor updating x to v Read r(x): read local copy

Ordered Broadcasting For any two messages m1 and m2 that are broadcast (possibly by different processes), they are delivered in the same order (m1 followed by m2 or m2 followed by m1) to all processes