Results 1  10
of
43
Cacheoblivious Btrees
, 2000
"... Abstract. This paper presents two dynamic search trees attaining nearoptimal performance on any hierarchical memory. The data structures are independent of the parameters of the memory hierarchy, e.g., the number of memory levels, the blocktransfer size at each level, and the relative speeds of me ..."
Abstract

Cited by 155 (24 self)
 Add to MetaCart
Abstract. This paper presents two dynamic search trees attaining nearoptimal performance on any hierarchical memory. The data structures are independent of the parameters of the memory hierarchy, e.g., the number of memory levels, the blocktransfer size at each level, and the relative speeds of memory levels. The performance is analyzed in terms of the number of memory transfers between two memory levels with an arbitrary blocktransfer size of B; this analysis can then be applied to every adjacent pair of levels in a multilevel memory hierarchy. Both search trees match the optimal search bound of Θ(1+logB+1 N) memory transfers. This bound is also achieved by the classic Btree data structure on a twolevel memory hierarchy with a known blocktransfer size B. The first search tree supports insertions and deletions in Θ(1 + logB+1 N) amortized memory transfers, which matches the Btree’s worstcase bounds. The second search tree supports scanning S consecutive elements optimally in Θ(1 + S/B) memory transfers and supports insertions and deletions in Θ(1 + logB+1 N + log2 N) amortized memory transfers, matching the performance of the Btree for B = B Ω(log N log log N).
Efficient Authenticated Dictionaries with Skip Lists and Commutative Hashing
 TECH. REP., JOHNS HOPKINS INFORMATION SECURITY INSTITUTE
, 2001
"... We present an efficient and practical technique for dynamically maintaining an authenticated dictionary. The main building blocks of our scheme are the skip list data structure and cryptographic associative hash functions. Applications of our work include certificate revocation in public key infrast ..."
Abstract

Cited by 33 (11 self)
 Add to MetaCart
We present an efficient and practical technique for dynamically maintaining an authenticated dictionary. The main building blocks of our scheme are the skip list data structure and cryptographic associative hash functions. Applications of our work include certificate revocation in public key infrastructure and the the publication of data collections on the Internet.
CacheOblivious Streaming Btrees
, 2007
"... A streaming Btree is a dictionary that efficiently implements insertions and range queries. We present two cacheoblivious streaming Btrees, the shuttle tree, and the cacheoblivious lookahead array (COLA). For blocktransfer size B and on N elements, the shuttle tree implements searches in optima ..."
Abstract

Cited by 32 (9 self)
 Add to MetaCart
(Show Context)
A streaming Btree is a dictionary that efficiently implements insertions and range queries. We present two cacheoblivious streaming Btrees, the shuttle tree, and the cacheoblivious lookahead array (COLA). For blocktransfer size B and on N elements, the shuttle tree implements searches in optimal O ` logB+1 N ´ transfers, range queries of L successive elements in optimal O ` logB+1 N + L/B ´ transfers, and insertions in O “ (logB+1 N)/BΘ(1/(loglogB)2 ”) +(log2 N)/B transfers, which is an asymptotic speedup over traditional Btrees if B ≥ (logN) 1+c/logloglog2 N for any constant c> 1. A COLA implements searches in O(logN) transfers, range queries in O(logN + L/B) transfers, and insertions in amortized O((logN)/B) transfers, matching the bounds for a (cacheaware) buffered repository tree. A partially deamortized COLA matches these bounds but reduces the worstcase insertion cost to O(logN) if memory size M = Ω(logN). We also present a cacheaware version of the COLA, the lookahead array, which achieves the same bounds as Brodal and Fagerberg’s (cacheaware) Bεtree. We compare our COLA implementation to a traditional Btree. Our COLA implementation runs 790 times faster for random insertions, 3.1 times slower for insertions of sorted data, and 3.5 times slower for searches.
Balanced search trees made simple
 In Proc. 3rd Workshop on Algorithms and Data Structures
, 1993
"... Abstract. As a contribution to the recent debate on simple implementations of dictionaries, we present new maintenance algorithms for balanced trees. In terms of code simplicity, our algorithms compare favourably with those for deterministic and probabilistic skip lists. ..."
Abstract

Cited by 27 (0 self)
 Add to MetaCart
(Show Context)
Abstract. As a contribution to the recent debate on simple implementations of dictionaries, we present new maintenance algorithms for balanced trees. In terms of code simplicity, our algorithms compare favourably with those for deterministic and probabilistic skip lists.
Tiara: A selfstabilizing deterministic skip list
 In Proc. 10th Int. Symp. on Stabilization, Safety, and Security of Distributed Systems (SSS
, 2008
"... Abstract. We present Tiara — a selfstabilizing peertopeer network maintenance algorithm. Tiara is truly deterministic which allows it to achieve exact performance bounds. Tiara allows logarithmic searches and topology updates. It is based on a novel sparse 01 skip list. We rigorously prove the a ..."
Abstract

Cited by 15 (7 self)
 Add to MetaCart
(Show Context)
Abstract. We present Tiara — a selfstabilizing peertopeer network maintenance algorithm. Tiara is truly deterministic which allows it to achieve exact performance bounds. Tiara allows logarithmic searches and topology updates. It is based on a novel sparse 01 skip list. We rigorously prove the algorithm correct in the shared register model. We then describe its extension to a ring and incorporation of crash tolerance. 1
Biased Skip Lists
 Algorithmica
, 2004
"... We design a variation of skip lists that performs well for generally biased access sequences. ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
(Show Context)
We design a variation of skip lists that performs well for generally biased access sequences.
Compressed perfect embedded skip lists for quick invertedindex lookups
 In Proc. SPIRE 2005, Lecture Notes in Computer Science
, 2005
"... Large inverted indices are by now common in the construction of webscale search engines. For faster access, inverted indices are indexed internally so that it is possible to skip quickly over unnecessary documents. The classical approach to skipping dictates that a skip should be positioned every √ ..."
Abstract

Cited by 13 (2 self)
 Add to MetaCart
(Show Context)
Large inverted indices are by now common in the construction of webscale search engines. For faster access, inverted indices are indexed internally so that it is possible to skip quickly over unnecessary documents. The classical approach to skipping dictates that a skip should be positioned every √ f document pointers, where f is the overall number of documents where the term appears. We argue that due to the growing size of the web more refined techniques are necessary, and describe how to embed a compressed perfect skip list in an inverted list. We provide statistical models that explain the empirical distribution of the skip data we observe in our experiments, and use them to devise good compression techniques that allow us to limit the waste in space, so that the resulting data structure increases the overall index size by just a few percents, still making it possible to index pointers with a rather fine granularity. 1
Deterministic skipnet
 In Twenty Second ACM Symp. on Priciples of Distributed Computing (PODC
, 2003
"... We present a deterministic scalable overlay network. In contrast, most previous overlay networks use randomness or hashing (pseudorandomness) to achieve a uniform distribution of data and routing traffic. ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
(Show Context)
We present a deterministic scalable overlay network. In contrast, most previous overlay networks use randomness or hashing (pseudorandomness) to achieve a uniform distribution of data and routing traffic.
Multiprocessor Scheduling with Machine Allotment and Parallelism Constraints
, 2002
"... Modern computer systems distribute computation among several machines to speed up the execution of programs. Yet, setup and communication costs, as well as parallelism constraints, bound the number of machines that can share the execution of a given application, and the number of machines by which ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
Modern computer systems distribute computation among several machines to speed up the execution of programs. Yet, setup and communication costs, as well as parallelism constraints, bound the number of machines that can share the execution of a given application, and the number of machines by which it can be processed simultaneously. We study the resulting scheduling problem, stated as follows. Given a set of n jobs and m uniform machines, assign the jobs to the machines subject to parallelism and machine allotment constraints, such that the overall completion time of the schedule (or makespan) is minimized. Indeed, the multiprocessor scheduling problem (where each job can be processed by a single machine) is a special case of our problem; thus, our problem is strongly NPhard. We present a (1 + α)approximation algorithm for this problem, where α ∈ (0, 1] depends on the minimal number of machine allotments and the minimal parallelism allowed for any job. Also, we show that when the maximal number of machines that can share the execution of a job is some fixed constant, our problem has a polynomial time approximation scheme; for other special cases we give optimal polynomial time algorithms. Finally, through the relation of our problem to the classic preemptive scheduling problem on multiple machines, we shed some fresh light on what is known in scheduling folklore as the power of preemption.
Minimizing makespan and preemption costs on a system of uniform machines
 In Proc. 10th European Symp. on Algorithms (ESA), volume 2461 of Lecture Notes in Comput. Sci
, 2002
"... Abstract. It is well known that for preemptive scheduling on uniform machines there exist polynomial time exact algorithms, whereas for nonpreemptive scheduling there are probably no such algorithms. However, it is not clear how many preemptions (in total, or per job) suffice in order to guarantee ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
(Show Context)
Abstract. It is well known that for preemptive scheduling on uniform machines there exist polynomial time exact algorithms, whereas for nonpreemptive scheduling there are probably no such algorithms. However, it is not clear how many preemptions (in total, or per job) suffice in order to guarantee an optimal polynomial time algorithm. In this paper we investigate exactly this hardness gap, formalized as two variants of the classic preemptive scheduling problem. In generalized multiprocessor scheduling (GMS) wehaveajobwise or total bound on the number of preemptions throughout a feasible schedule. We need to find a schedule that satisfies the preemption constraints, such that the maximum job completion time is minimized. In minimum preemptions scheduling (MPS) the only feasible schedules are preemptive schedules with the smallest possible makespan. The goal is to find a feasible schedule that minimizes the overall number of preemptions. Both problems are NPhard, even for two machines and zero preemptions. For GMS, we develop polynomial time approximation schemes, distinguishing between the cases where the number of machines is fixed, or given as part of the input. Our scheme for a fixed number of machines has linear running time, and can be applied also for instances where jobs have release dates, and for instances with arbitrary preemption costs. For MPS, we derive matching lower and upper bounds on the number of preemptions required by any optimal schedule. Our results for MPS hold for any instance in which a job, Jj, can be processed simultaneously by ρj machines, for some ρj ≥ 1.