Results 1 
6 of
6
Realtime Garbage Collection of a Functional Persistent Heap
, 1999
"... Traditional database management systems perform updatesinplace and use logs and periodic checkpointing to efficiently achieve atomicity and durability. In this Thesis we shall present a different method, Shades, for achieving atomicity and durability using a copyonwrite policy instead of updates ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
(Show Context)
Traditional database management systems perform updatesinplace and use logs and periodic checkpointing to efficiently achieve atomicity and durability. In this Thesis we shall present a different method, Shades, for achieving atomicity and durability using a copyonwrite policy instead of updatesinplace. We shall also present index structures and the implementation of Shines, a persistent functional programming language, built on top of Shades. Shades includes realtime generational garbage collection. Realtimeness is achieved by collecting only a small part, a generation, of the database at a time. Contrary to previously presented persistent garbage collection algorithms, Shades has no need to maintain metadata (remembered sets) of intrageneration pointers on disk since the metadata can be reconstructed during recovery. This considerably reduces the amount of disk writing. In conjunction with aggressive commit grouping, efficient index structures, a design specialized to a main memory environment, and a carefully crafted implementation of Shines, we have achieved surprisingly high performance, handsomely beating commercial database management systems.
Analysis of random LC tries
 Random Struc. Alg
, 2001
"... LC tries were introduced by Andersson and Nilsson in 1993. They are compacted versions of tries or patricia tries in which, from the top down, maximal height complete subtrees are level compressed. Andersson and Nilsson (1993) showed that for i.i.d. uniformly distributed input strings, the expected ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
LC tries were introduced by Andersson and Nilsson in 1993. They are compacted versions of tries or patricia tries in which, from the top down, maximal height complete subtrees are level compressed. Andersson and Nilsson (1993) showed that for i.i.d. uniformly distributed input strings, the expected depth of the LC patricia trie is \Theta(log n). In this paper, we refine and extend this result. We analyze both kinds of LC tries for the uniform model, and study the depth of a typical node and the height Hn. For example, we show that Hn is in probability asymptotic to log 2 n and p 2 log 2 n for the LC trie and the LC patricia trie, respectively, and that for both tries, the depth of a typical node is asymptotic to log (n) in probability and in expectation.
Incremental Garbage Collection of an Almost Unidirectional Persistent Heap
"... Abstract Shades is an incremental copying garbage collection and disk crash recovery algorithm for main memory databases. Shades is also used as a runtime for a strict and persistent functional programming language. The basic, and very pervasive, idea in Shades is that only cells in the first genera ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract Shades is an incremental copying garbage collection and disk crash recovery algorithm for main memory databases. Shades is also used as a runtime for a strict and persistent functional programming language. The basic, and very pervasive, idea in Shades is that only cells in the first generation are mutable to the application. This has allowed a design where the remembered sets that record intergeneration references can be smaller and, most importantly, they can be reconstructed during crash recovery so that they need not be written to disk. Furthermore, since Shades issues mostly long and relatively infrequent disk writes which contain negligible amounts of metadata, we claim Shades to be very efficient. We provide some experimental evidence to support this claim.
A Replicated and Persistent Functional Programming Environment
"... Traditional database management systems perform updatesinplace and use logs and periodic checkpointing to efficiently achieve atomicity and durability. In this Thesis we shall present a different method, Shades, for achieving atomicity and durability using a copyonwrite policy instead of updates ..."
Abstract
 Add to MetaCart
(Show Context)
Traditional database management systems perform updatesinplace and use logs and periodic checkpointing to efficiently achieve atomicity and durability. In this Thesis we shall present a different method, Shades, for achieving atomicity and durability using a copyonwrite policy instead of updatesinplace. We shall also present index structures and the implementation of Shines, a persistent functional programming language, built on top of Shades. Shades includes realtime generational garbage collection. Realtimeness is achieved by collecting only a small part, a generation, of the database at a time. Contrary to previously presented persistent garbage collection algorithms, Shades has no need to maintain metadata (remembered sets) of intrageneration pointers on disk since the metadata can be reconstructed during recovery. This considerably reduces the amount of disk writing. In conjunction with aggressive commit grouping, efficient index structures, a design specialized to a main memory environment, and a carefully crafted implementation of Shines, we have achieved surprisingly high performance, handsomely beating commercial database management systems.
Partial Fillup and Search Time in LC Tries
, 2005
"... Abstract Andersson and Nilsson introduced in 1993 a levelcompressed trie (in short: LC trie)in which a full subtree of a node is compressed to a single node of degree being the size of the subtree. Recent experimental results indicated a "dramatic improvement"when full subtrees ar ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract Andersson and Nilsson introduced in 1993 a levelcompressed trie (in short: LC trie)in which a full subtree of a node is compressed to a single node of degree being the size of the subtree. Recent experimental results indicated a &quot;dramatic improvement&quot;when full subtrees are replaced by &quot;partially filled subtrees&quot;. In this paper, we provide a theoretical justification of these experimental results showing, among others, a rathermoderate improvement of the search time over the original LC tries. For such an analysis, we assume that n strings are generated independently by a binary memorylesssource (a generalization to Markov sources is possible) with p denoting the probability ofemitting a &quot;1 &quot; (and q = 1p). We first prove that the so called fffillup level Fn(ff) (i.e.,the largest level in a trie with ff fraction of nodes present at this level) is concentratedon two values whp (with high probability); either Fn(ff) = kn or Fn(ff) = kn + 1 where kn = log 1ppq n  ln(p/q)2 ln3/2(1/ppq) \Phi1(ff)pln n + O(1) is an integer and \Phi (x) denotes the normal distribution function. This result directly yields the typical depth (search time) Dn(ff) in the ffLC tries with p 6 = 1/2, namely we show that whp Dn(ff) , C1 log log nwhere C1 = 1/  log(1h / log(1/ppq))  and h =p log pq log q is the Shannon entropyrate. This should be compared with recently found typical depth in the original LC tries
Partial Fillup and Search Time in LC Tries ∗
"... Andersson and Nilsson introduced in 1993 a levelcompressed trie (in short: LC trie) in which a full subtree of a node is compressed to a single node of degree being the size of the subtree. Recent experimental results indicated a “dramatic improvement ” when full subtrees are replaced by “partially ..."
Abstract
 Add to MetaCart
(Show Context)
Andersson and Nilsson introduced in 1993 a levelcompressed trie (in short: LC trie) in which a full subtree of a node is compressed to a single node of degree being the size of the subtree. Recent experimental results indicated a “dramatic improvement ” when full subtrees are replaced by “partially filled subtrees”. In this paper, we provide a theoretical justification of these experimental results showing, among others, a rather moderate improvement of the search time over the original LC tries. For such an analysis, we assume that n strings are generated independently by a binary memoryless source (a generalization to Markov sources is possible) with p denoting the probability of emitting a “1 ” (and q =1 − p). We first prove that the so called αfillup Fn(α) (i.e., the largest level in atriewithαfraction of nodes present at this level) is concentrated on two values whp (with high probability); either Fn(α) = kn or Fn(α) = kn + 1 where kn =log 1 √pq n −  ln(p/q) 2ln3/2 (1 / √ pq) Φ−1 (α) √ ln n + O(1) is an integer and Φ(x) denotes the normal distribution function. This result directly yields the typical depth (search time) Dn(α) intheαLC tries with p ̸ = 1/2, namely we show that whp Dn(α) ≈ C1 log log n where C1 = 1/  log(1 − h / log(1 / √ pq))  and h = −p log p − q log q is the Shannon entropy rate. This should be compared with recently found typical depth in the original LC tries which is C2 log log n where C2 =1/  log(1 − h / log(1 / min{p, 1−p})). In conclusion, we observe that α affects only the lower term of the αfillup level Fn(α), and the search time in αLC tries is of the same order as in the original LC tries. 1