{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

04~Chapter_04 - Companionslidesfor...

Info iconThis preview shows pages 1–20. Sign up to view the full content.

View Full Document Right Arrow Icon
Foundations of Shared Memory Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
©  2007 Herlihy & Shavit 2 Last Lecture Defined  concurrent objects using linearizability  and sequential consistency Fact : implemented linearizable objects (Two  thread FIFO Queue) in read-write memory  without mutual exclusion  Fact : hardware does not provide linearizable read- write memory
Background image of page 2
©  2007 Herlihy & Shavit 3 Fundamentals What is the weakest form of communication that  supports mutual exclusion? What is the weakest shared object that allows  shared-memory computation?  
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
©  2007 Herlihy & Shavit 4 Alan Turing Helped us  understand what is and is not computable  on a sequential machine.   Still best model available 
Background image of page 4
©  2007 Herlihy & Shavit 5 0 1 1 0 1 0 1 Turing Machine Reads and Writes  Infinite tape Finite State  Controller
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
©  2007 Herlihy & Shavit 6 Turing Computability Mathematical model of computation What is (and is not) computable Efficiency (mostly) irrelevant 0 1 1 0 1 0 1
Background image of page 6
©  2007 Herlihy & Shavit 7 Shared-Memory Computability? Mathematical model of  concurrent  computation What is (and is not) concurrently computable Efficiency (mostly) irrelevant 10011 Shared Memory
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
©  2007 Herlihy & Shavit 8 Foundations of Shared Memory  To understand modern multiprocessors we need  to ask some basic questions …
Background image of page 8
©  2007 Herlihy & Shavit 9 Foundations of Shared Memory  To understand modern multiprocessors we need  to ask some basic questions … What is the  weakest  useful form of shared  memory?
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
©  2007 Herlihy & Shavit 10 Foundations of Shared Memory  To understand modern multiprocessors we need  to ask some basic questions … What is the  weakest  useful form of shared  memory? What  can  it do?
Background image of page 10
©  2007 Herlihy & Shavit 11 Foundations of Shared Memory  To understand modern multiprocessors we need  to ask some basic questions … What is the  weakest  useful form of shared  memory? What  can  it do? What  can’t  it do?
Background image of page 11

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
©  2007 Herlihy & Shavit 12 Register 10011 Holds a (binary)  value * * A memory location: name is historical
Background image of page 12
©  2007 Herlihy & Shavit 13 Register Can be read 10011 10011
Background image of page 13

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
©  2007 Herlihy & Shavit 14 Register Can be written 10011 01100
Background image of page 14
©  2007 Herlihy & Shavit 15 public interface  Register<T> {   public  T read();       public void  write(T v); } Registers
Background image of page 15

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
©  2007 Herlihy & Shavit 16 public interface Register <T>  {   public  read();        public void   write( T v ); } Registers Type  of register (usually Boolean or m-bit Integer)
Background image of page 16
©  2007 Herlihy & Shavit 17 10011 Single-Reader/Single-Writer Register 01100 10011
Background image of page 17

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
©  2007 Herlihy & Shavit 18 10011 Multi-Reader/Single-Writer Register 01100 10011
Background image of page 18
©  2007 Herlihy & Shavit 19 mumble mumble 11011 Multi-Reader/Multi-Writer Register mumble 10011 10011 10011 01010
Background image of page 19

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 20
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}