12~Chapter_14 - ConcurrentSkipLists Companionslidesfor

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

View Full Document Right Arrow Icon
Companion slides for The Art of Multiprocessor Programming Concurrent Skip Lists
Background image of page 1

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

View Full DocumentRight Arrow Icon
Art of Multiprocessor Programming © Herlihy Shavit 2007 Set Object Interface Collection of elements No duplicates Methods add()  a new element remove()  an element contains()  if element is present
Background image of page 2
Art of Multiprocessor Programming © Herlihy Shavit 2007 Many are Cold but Few are Frozen Typically high % of  contains()  calls Many fewer  add()  calls And even fewer  remove()  calls 90%   contains() 9%   add() 1%   remove() Folklore? Yes but probably mostly true
Background image of page 3

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

View Full DocumentRight Arrow Icon
Art of Multiprocessor Programming © Herlihy Shavit 2007 Concurrent Sets Balanced Trees? Red - Black  trees, AVL trees, … Problem : no one does this well … … because  rebalancing  after  add()  or  remove()  is  a global operation
Background image of page 4
Art of Multiprocessor Programming © Herlihy Shavit 2007 Skip Lists 2 5 8 7 9 0 Probabilistic Data Structure No global rebalancing Logarithmic-time search
Background image of page 5

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

View Full DocumentRight Arrow Icon
Art of Multiprocessor Programming © Herlihy Shavit 2007 Skip List Property 9 0 Each layer is  sublist  of lower-levels
Background image of page 6
Art of Multiprocessor Programming © Herlihy Shavit 2007 Skip List Property 7 9 0 Each layer is  sublist  of lower-levels
Background image of page 7

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

View Full DocumentRight Arrow Icon
Art of Multiprocessor Programming © Herlihy Shavit 2007 Skip List Property 5 7 9 0 Each layer is  sublist  of lower-levels
Background image of page 8
Art of Multiprocessor Programming © Herlihy Shavit 2007 Skip List Property 5 8 7 9 0 Each layer is  sublist  of lower-levels
Background image of page 9

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

View Full DocumentRight Arrow Icon
Art of Multiprocessor Programming © Herlihy Shavit 2007 Skip List Property 2 5 8 7 9 0 Each layer is  sublist  of lower-levels Lowest level is entire list
Background image of page 10
Art of Multiprocessor Programming © Herlihy Shavit 2007 Skip List Property 2 5 8 7 9 0 Each layer is  sublist  of lower-levels Not easy to preserve in concurrent implementations 
Background image of page 11

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

View Full DocumentRight Arrow Icon
Art of Multiprocessor Programming © Herlihy Shavit 2007 Search 2 5 8 7 9 0 contains(8) Too far
Background image of page 12
Art of Multiprocessor Programming © Herlihy Shavit 2007 Search 2 5 8 7 9 0 contains(8) OK
Background image of page 13

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

View Full DocumentRight Arrow Icon
Art of Multiprocessor Programming © Herlihy Shavit 2007 Search 2 5 8 7 9 0 contains(8) Too far
Background image of page 14
Art of Multiprocessor Programming © Herlihy Shavit 2007 Search 2 5 8 7 9 0 contains(8) Too far
Background image of page 15

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

View Full DocumentRight Arrow Icon
Art of Multiprocessor Programming © Herlihy Shavit 2007 Search 2 5 8 7 9 0 contains(8) Yes!
Background image of page 16
Art of Multiprocessor Programming © Herlihy Shavit 2007 7 Search 8 0 2 5 9 contains(8)
Background image of page 17

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

View Full DocumentRight Arrow Icon
Art of Multiprocessor Programming © Herlihy Shavit 2007 7 Logarithmic 8 0 2 5 9 contains(8) Log N
Background image of page 18
Art of Multiprocessor Programming © Herlihy Shavit 2007 Why Logarthimic 2 5 8 7 9 0 Property : Each pointer at layer  jumps over roughly  2 i   nodes Pick node heights  randomly  so property guaranteed  probabilistically 2 i 2 i
Background image of page 19

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

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

This note was uploaded on 11/09/2011 for the course ENGINEERIN 247 taught by Professor Staff during the Fall '09 term at Rutgers.

Page1 / 66

12~Chapter_14 - ConcurrentSkipLists Companionslidesfor

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

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