Results 1 
3 of
3
Online Tree Node Assignment with Resource Augmentation
"... Abstract. Given a complete binary tree of height h,theonline tree node assignment problem is to serve a sequence of assignment/release requests, where an assignment request, withanintegerparameter0 ≤ i ≤ h, is served by assigning a (tree) node at level (or height) i and a release request is served b ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
Abstract. Given a complete binary tree of height h,theonline tree node assignment problem is to serve a sequence of assignment/release requests, where an assignment request, withanintegerparameter0 ≤ i ≤ h, is served by assigning a (tree) node at level (or height) i and a release request is served by releasing a specified assigned node. The node assignments have to guarantee that no node is assigned to two assignment requests unreleased, and every leaftoroot path of the tree contains at most one assigned node. With assigned node reassignments allowed, the target of the problem is to minimize the number of assignments/reassigments, i.e., the cost, to serve the whole sequence of requests. This online tree node assignment problem is fundamental to many applications, including OVSF code assignment in WCDMA networks, buddy memory allocation and hypercube subcube allocation. Most of the previous results focus on how to achieve good performance when the same amount of resource is given to both the online and the optimal offline algorithms, i.e., one tree. In this paper, we focus on resource augmentation, where the online algorithm is allowed to use more trees than the optimal offline algorithm. By using different approaches, we give (1) a 1competitive online algorithm, which uses (h +1)/2 trees, and is optimal because (h +1)/2 trees are required by any online algorithm to match the cost of the optimal offline algorithm with one tree; (2) a 2competitive algorithm with 3h/8 + 2 trees; (3) an amortized (4/3 +α)competitive algorithm with (11/4 +4/(3α)) trees, for any α where 0 <α ≤ 4/3. 1
CacheOblivious Dictionaries and Multimaps with Negligible Failure Probability
"... A dictionary (or map) is a keyvalue store that requires all keys be unique, and a multimap is a keyvalue store that allows for multiple values to be associated with the same key. We design hashingbased indexing schemes for dictionaries and multimaps that achieve worstcase optimal performance for ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
A dictionary (or map) is a keyvalue store that requires all keys be unique, and a multimap is a keyvalue store that allows for multiple values to be associated with the same key. We design hashingbased indexing schemes for dictionaries and multimaps that achieve worstcase optimal performance for lookups and updates, with minimal space overhead and subpolynomial probability that the data structure will require a rehash operation. Our dictionary structure is designed for the Random Access Machine (RAM) model, while our multimap implementation is designed for the cacheoblivious external memory (I/O) model. The failure probabilities for our structures are subpolynomial, which can be useful in cryptographic or dataintensive applications.
An Empirical Evaluation of Extendible Arrays
"... Abstract. We study the performance of several alternatives for implementing extendible arrays, which allow random access to elements stored in them, whilst allowing the arrays to be grown and shrunk. The study not only looks at the basic operations of grow/shrink and accessing data, but also the eff ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. We study the performance of several alternatives for implementing extendible arrays, which allow random access to elements stored in them, whilst allowing the arrays to be grown and shrunk. The study not only looks at the basic operations of grow/shrink and accessing data, but also the effects of memory fragmentation on performance. 1