06~Chapter_06 - Universality of Consensus and The Nature of...

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

View Full Document Right Arrow Icon

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

View Full DocumentRight Arrow Icon

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

View Full DocumentRight Arrow Icon

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

View Full DocumentRight Arrow Icon

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

View Full DocumentRight Arrow Icon

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

View Full DocumentRight Arrow Icon

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

View Full DocumentRight Arrow Icon

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

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Universality of Consensus and The Nature of Progress Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit Art of Multiprocessor Programming© Copyright Herlihy-Shavit 2007 2 Turing Computability • A mathematical model of computation • Computable = Computable on a T-Machine 1 1 1 1 Art of Multiprocessor Programming© Copyright Herlihy-Shavit 2007 3 Shared-Memory Computability • Model of asynchronous concurrent computation • Computable = Wait-free/Lock-free computable on a multiprocessor cache shared memory cache cache Art of Multiprocessor Programming© Copyright Herlihy-Shavit 2007 4 The Consensus Hierarchy 1 Read/Write Registers, Snapshots… 2 getAndSet, getAndIncrement, … ∞ compareAndSet,… . . . FIFO Queue, LIFO Stack Multiple Assignment Can we implement them from any other object that has consensus number ∞? Like compareAndSet()… Art of Multiprocessor Programming© Copyright Herlihy-Shavit 2007 5 Theorem: Universality • Consensus is universal • From n-thread consensus build a – Wait-free – Linearizable – n-threaded implementation – Of any sequentially specified object Art of Multiprocessor Programming© Copyright Herlihy-Shavit 2007 6 Proof Outline • A universal construction – From n-consensus objects – And atomic registers • Any wait-free linearizable object – Not a practical construction – But we know where to start looking … Art of Multiprocessor Programming© Copyright Herlihy-Shavit 2007 7 Like a Turing Machine • This construction – Illustrates what needs to be done – Optimization fodder • Correctness, not efficiency – Why does it work? (Asks the scientist) – How does it work? (Asks the engineer) – Would you like fries with that? (Asks the liberal arts major) Art of Multiprocessor Programming© Copyright Herlihy-Shavit 2007 8 A Generic Sequential Object public interface SeqObject { public abstract Response apply(Invocation invoc); } Art of Multiprocessor Programming© Copyright Herlihy-Shavit 2007 9 A Generic Sequential Object public interface SeqObject { public abstract Response apply( Invocation invoc ); } Push:5, Pop:null Art of Multiprocessor Programming© Copyright Herlihy-Shavit 2007 10 Invocation public class Invoc { public String method; public Object args; } Art of Multiprocessor Programming© Copyright Herlihy-Shavit 2007 11 Invocation public class Invoc { public String method; public Object args; } Method name Art of Multiprocessor Programming© Copyright Herlihy-Shavit 2007 12 Invocation public class Invoc { public String method; public Object args; } Arguments Art of Multiprocessor Programming© Copyright Herlihy-Shavit 2007 13...
View Full Document

This note was uploaded on 10/11/2010 for the course COS COS226 taught by Professor Klazar during the Spring '10 term at University of Pretoria.

Page1 / 132

06~Chapter_06 - Universality of Consensus and The Nature of...

This preview shows document pages 1 - 14. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online