# Casper Kejlberg-Rasmussen 1/16 Cache-Oblivious Implicit Predecessor Dictionaries with the Working-Set Property Casper Kejlberg-Rasmussen Joint work with.

## Presentation on theme: "Casper Kejlberg-Rasmussen 1/16 Cache-Oblivious Implicit Predecessor Dictionaries with the Working-Set Property Casper Kejlberg-Rasmussen Joint work with."— Presentation transcript:

Casper Kejlberg-Rasmussen 1/16 Cache-Oblivious Implicit Predecessor Dictionaries with the Working-Set Property Casper Kejlberg-Rasmussen Joint work with Gerth Stølting Brodal

Casper Kejlberg-Rasmussen 2/16 Outline  Problem Definitions  Previous Results  An Implicit Moveable Dictionary  An Implicit Dictionary with the Working-Set Property

Casper Kejlberg-Rasmussen 3/16 Problem Definitions  Implicit model:  All operations from the RAM  It is not allowed to create words, only to move them  All n words have to be in continuous positions  Often it is assumed that all elements are distinct  Fundamental trick: encode a bit in a pair of elements... n1 yx b b= 0, if x=min(x,y) 1, if x=max(x,y)

Casper Kejlberg-Rasmussen 4/16 Problem Definitions  Element e has a working-set number of l e iff: l e elements different from e have been searched for since we last searched for e  An Implicit Dictionary with the Working-Set Property:  Insert(e): insert element e into the dictionary and set l e =0  Delete(e): delete element e from the dictionary  Search(e): determine if e is in the dictionary and set l e =0  Predecessor(e): find the address of the predecessor of e  Successor(e): find the address of the successor of e 12345 l e : 01234 46 5

Casper Kejlberg-Rasmussen 5/16 Outline  Problem Definitions  Previous Results  An Implicit Moveable Dictionary  An Implicit Dictionary with the Working-Set Property

Casper Kejlberg-Rasmussen 6/16 Previous Results Ref. WS prop. Insert/ Delete(e) Search(e) Predecessor/ Successor(e) Additional words M1986-O(log 2 n) -None FGMP 2002 -O(log 2 n/loglog n) -None FG2006-O(log n) amor.O(log n) None FG2003-O(log n) None I2001+O(log n)O(log l e )O(log l e * )O(n) BHM 2009 +O(log n)O(log l e ) exp.O(log n)O(loglog n) BHM 2009 +O(log n)O(log l e ) exp.O(log l e * ) exp.O(√n) BKT 2010 +O(log n)O(log l e )O(log n)None BK2011+O(log n)O(log min(l p(e), l e, l s(e) ))O(log l e * )None e * is the predecessor/successor of e

Casper Kejlberg-Rasmussen 7/16 Outline  Problem Definitions  Previous Results  An Implicit Moveable Dictionary  An Implicit Dictionary with the Working-Set Property

Casper Kejlberg-Rasmussen 8/16  A implicit moveable dictionary laid out in memory addresses [i;j]  Interface:  Insert-left/right(e): insert element e into the dictionary which grows to the left/right  Delete-left/right(e): delete element e from the dictionary which shrinks from the left/right  Search(e): finds the address of e if e is in the dictionary  Predecessor(e): finds the address of the predecessor of e  Successor(e): finds the address of the successor of e An Implicit Moveable Dictionary ij i-1

Casper Kejlberg-Rasmussen 9/16 An Implicit Moveable Dictionary  Uses O(1) FG dictionaries as black boxes  Recall the FG interface:  Insert-right(e): insert element e into the dictionary which grows to the right  Delete-right(e): delete element e from the dictionary which shrinks from the right  Search(e): finds the address of e if e is in the dictionary  Predecessor(e): finds the address of the predecessor of e  Successor(e): finds the address of the successor of e LCR

Casper Kejlberg-Rasmussen 10/16 An Implicit Moveable Dictionary  L and R will shrink and grow over time  L/R might get too small  L/R might get too large compared to C  We introduce the notion of jobs  Grow-left/right – Counters when L/R gets too small  Shrink-left/right – Counters when L/R gets too large  Jobs run O(1) steps every operation: searches, updates LCR

Casper Kejlberg-Rasmussen 11/16 An Implicit Moveable Dictionary LCRLCRL’LCR LCR CRLCRL Grow-left LCRL’ CRLCRL Shrink-left CRL’LCR LCRL ij ii’k’k Address-mapping

Casper Kejlberg-Rasmussen 12/16 Outline  Problem Definitions  Previous Results  An Implicit Moveable Dictionary  An Implicit Dictionary with the Working-Set Property

Casper Kejlberg-Rasmussen 13/16 An Implicit Dictionary with the Working-Set Property  Exponential layout  B i consists of O(1) moveable dictionaries  All elements e in B i have l e ≥2 2 i-1+k or l e ≥2 2 i+k  Searched and inserted elements are moved into B 0 (overflows)  These are the ideas we used in the ISAAC 2010 paper  Only gives O(log n) bounds for predecessor and successor searches: invariants do not relate e and its prede/succ-essor B0B0 B1B1 B2B2 B m-1 BmBm BiBi... |B i |=Θ(2 2 i+k ) m=O(loglog n)

Casper Kejlberg-Rasmussen 14/16 An Implicit Dictionary with the Working-Set Property  Divide the key-space into mutually disjoint intervals aligned with the points/elements  Invariant: any point/element, intersecting an interval at level i, lies in block B i  Predecessor/Successor(e) searches can terminate when an interval at level i is intersected B0B0... B1B1 B2B2 B m-1 BmBm  Intervals to solve the predecessor and successor problems e

Casper Kejlberg-Rasmussen 15/16 An Implicit Dictionary with the Working-Set Property B0B0... B1B1 B2B2 B m-1 BmBm B i-1 B i+1 DiDi AiAi RiRi WiWi HiHi CiCi GiGi Arriving Resting Waiting Helping Climbing Guarding l e ≥2 2 i-1+k l e ≥2 2 i+k l e ≥2 2 max(i,j)-1+k  Representing the intervals implicitly

Casper Kejlberg-Rasmussen 16/16 Thank you References 1)Cache-Oblivious Implicit Predecessor Dictionaries with the Working-Set Property Gerth Stølting Brodal, Casper Kejlberg-Rasmussen Submitted to STACS 2012 Available at cs.au.dk/~ckr/papers/STACS2012_Submission.pdf 2)A Cache-Oblivious Implicit Dictionary with the Working Set Property Gerth Stlting Brodal, Casper Kejlberg-Rasmussen, Jakob Truelsen ISAAC 2010

Download ppt "Casper Kejlberg-Rasmussen 1/16 Cache-Oblivious Implicit Predecessor Dictionaries with the Working-Set Property Casper Kejlberg-Rasmussen Joint work with."

Similar presentations