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

Slides:



Advertisements
Similar presentations
Chapter 13. Red-Black Trees
Advertisements

David Luebke 1 6/7/2014 CS 332: Algorithms Skip Lists Introduction to Hashing.
Dynamic Matchings in Convex Bipartite Graphs
Fusion Trees Advanced Data Structures Aris Tentes.
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
External Memory Geometric Data Structures
Chapter 7 Data Structure Transformations Basheer Qolomany.
CS Data Structures Chapter 10 Search Structures (Selected Topics)
Binary Counters Integer Representations towards Efficient Counting in the Bit Probe Model (paper presented at TAMC 2011) Gerth Stølting Brodal (Aarhus.
Dynamic Planar Range Maxima Queries (presented at ICALP 2011) Gerth Stølting Brodal Aarhus University Kostas Tsakalidis LIAFA, Université Paris Diderot,
O(log n) bits or atomic elements
Computer Science Day 2008 Algorithms and Data Structures for Faulty Memory Gerth Stølting Brodal Department of Computer Science, University of Aarhus,
The CPBT: A Method for Searching the Prefixes Using Coded Prefixes in B-Tree Author: Mohammad Behdadfar and Hossein Saidi Publisher: LNCS 2008 Presenter:
6/14/2015 6:48 AM(2,4) Trees /14/2015 6:48 AM(2,4) Trees2 Outline and Reading Multi-way search tree (§3.3.1) Definition Search (2,4)
I/O-Algorithms Lars Arge University of Aarhus February 13, 2005.
Cache Oblivious Search Trees via Binary Trees of Small Height
Lecture 10: Search Structures and Hashing
Cache-Oblivious Dynamic Dictionaries with Update/Query Tradeoff Gerth Stølting Brodal Erik D. Demaine Jeremy T. Fineman John Iacono Stefan Langerman J.
Theory and Applications of GF(2 p ) Cellular Automata P. Pal Chaudhuri Department of CST Bengal Engineering College (DU) Shibpur, Howrah India (LOGIC ON.
Discrete Structures Lecture 11: Algorithms Miss, Yanyan,Ji United International College Thanks to Professor Michael Hvidsten.
Problems and MotivationsOur ResultsTechnical Contributions Membership: Maintain a set S in the universe U with |S| ≤ n. Given an x in U, answer whether.
External Memory Algorithms for Geometric Problems Piotr Indyk (slides partially by Lars Arge and Jeff Vitter)
B-trees and kd-trees Piotr Indyk (slides partially by Lars Arge from Duke U)
CS Data Structures Chapter 10 Search Structures.
1. 2 Setting Up Deletion As with binary search trees, we can always delete a node that has at least one external child If the key to be deleted is stored.
Lecture 10 Algorithm Analysis Arne Kutzner Hanyang University / Seoul Korea.
Introduction to Problem Solving. Steps in Programming A Very Simplified Picture –Problem Definition & Analysis – High Level Strategy for a solution –Arriving.
File Organization Lecture 1
Data Structure & Algorithm II.  In a multiuser computer system, multiple users submit jobs to run on a single processor.  We assume that the time required.
Lecture 11 Data Structures, Algorithms & Complexity Introduction Dr Kevin Casey BSc, MSc, PhD GRIFFITH COLLEGE DUBLIN.
4-1 Topic 6 Linked Data Structures. 4-2 Objectives Describe linked structures Compare linked structures to array- based structures Explore the techniques.
The Bloom Paradox Ori Rottenstreich Joint work with Yossi Kanizo and Isaac Keslassy Technion, Israel.

Oct 26, 2001CSE 373, Autumn A Forest of Trees Binary search trees: simple. –good on average: O(log n) –bad in the worst case: O(n) AVL trees: more.
CSE373: Data Structures & Algorithms Lecture 6: Binary Search Trees continued Aaron Bauer Winter 2014 CSE373: Data Structures & Algorithms1.
Segment Trees Basic data structure in computational geometry. Computational geometry.  Computations with geometric objects.  Points in 1-, 2-, 3-, d-space.
3.1. Binary Search Trees   . Ordered Dictionaries Keys are assumed to come from a total order. Old operations: insert, delete, find, …
The Bloom Paradox Ori Rottenstreich Joint work with Isaac Keslassy Technion, Israel.
Equivalence Between Priority Queues and Sorting in External Memory
15-853: Algorithms in the Real World Locality II: Cache-oblivious algorithms – Matrix multiplication – Distribution sort – Static searching.
1 Sorting an almost sorted input Suppose we know that the input is “almost” sorted Let I be the number of “inversions” in the input: The number of pairs.
Compression for Fixed-Width Memories Ori Rottenstriech, Amit Berman, Yuval Cassuto and Isaac Keslassy Technion, Israel.
Internal Memory Pointer MachineRandom Access MachineStatic Setting Data resides in records (nodes) that can be accessed via pointers (links). The priority.
Complexity of Algorithms Fundamental Data Structures and Algorithms Ananda Guna January 13, 2005.
(A Survey on) Priority Queues IanFest, University of Waterloo, Waterloo, Ontario, Canada, August 14-15, 2013 Gerth Stølting Brodal Aarhus Universty.
The Implicit ModelA Moveable DictionaryA Working Set Dictionary The implicit model is the RAM model but with some restrictions: you are only allowed to.
Discrete Mathematics Chapter 2 The Fundamentals : Algorithms, the Integers, and Matrices. 大葉大學 資訊工程系 黃鈴玲.
X1x1 x2x2 top-k y 3-sided x1x1 x2x2 External Memory Three-Sided Range Reporting and Top-k Queries with Sublogarithmic Updates Gerth Stølting Brodal Aarhus.
arxiv.org/abs/ y 3-sided x1 x2 x1 x2 top-k
Balancing Binary Search Trees
The Variable-Increment Counting Bloom Filter
Red Black Trees
B+ Tree.
Binary Tree and General Tree
LINKED LISTS CSCD Linked Lists.
Chapter 6 Transform and Conquer.
(2,4) Trees /26/2018 3:48 PM (2,4) Trees (2,4) Trees
Segment Trees Basic data structure in computational geometry.
Lecture 9 Algorithm Analysis
STACS arxiv.org/abs/ y 3-sided x1 x2 x1 x2 top-k
Algorithms (2IL15) – Lecture 5 SINGLE-SOURCE SHORTEST PATHS
Lecture 9 Algorithm Analysis
Lecture 9 Algorithm Analysis
(2,4) Trees /24/2019 7:30 PM (2,4) Trees (2,4) Trees
8th Workshop on Massive Data Algorithms, August 23, 2016
Lecture 1: Introduction
Heaps & Multi-way Search Trees
Binary Search Trees < > = Dictionaries
CS210- Lecture 20 July 19, 2005 Agenda Multiway Search Trees 2-4 Trees
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 l e :

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 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 O(log n)O(log l e ) exp.O(log n)O(loglog n) BHM O(log n)O(log l e ) exp.O(log l e * ) exp.O(√n) BKT 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