| P.- A. Larson. Dynamic hash tables. Communications of the ACM, 31(4), April 1988. |
....call the tiered vector. Relationships to Previous Work. There are several hashing implementations that use a similar underlying structure to that of the tiered vector, although none in a manner as we do or in a way that can be easily adapted to achieve the performance bounds we achieve. Larson [1] implements a linear hashing scheme which uses as a base structure a directory that references a series of xed size segements. Both the directory and segements are of size l = 2 allowing the use of a bit shift and mask operation to access any element within the hash table. However, Larson s ....
....vector to the last non empty vector. The total number of elements a tiered vector may hold before it must be expanded is lm, and the number of non empty V i vectors is always at most bn=lc 2. Element Retrieval. Element retrieval in a tiered vector is similar to methods proposed by Larson [1] and Sitarski [9] complicated somewhat by doubleended nature of the top level of the vector V . To access any element of rank r in the k level tiered vector V we rst determine which V i vector contains the element in question by calculating i d(r l 0 ) le, where l 0 is the number of ....
P. _ Ake Larson. Dynamic hash tables. Communications of the ACM, 31(4), April 1988.
....between itself and a newly allocated page. Conversely, two pages may be merged, in which case a page is freed. Dynamic hashing schemes can be further distinguished into those making use of a di 25 rectory (i.e. an array of pointers to the actual data pages) and those without a directory [80, 81]. Dynamic hashing [82] and extendible hashing [83] are characteristic instances of techniques of the first category. In directory schemes (such as the above mentioned) retrievals can be completed in two disk accesses: one to access the directory (if stored on disk) and one to access the data ....
Per-Ake Larson. Dynamic Hash Tables. Communications of the ACM, 31(4):446--457, April 1988.
....indexed collections of objects. The indexes are automatically maintained while the objects in a collection are updated. The applications can access objects in collections using scan, exact match and range queries. The collection store supports indexes organized as B trees, dynamic hash tables [20] and lists. 3 Chunk Store The chunk store provides trusted storage for a set of named chunks. A chunk is a variable sized sequence of bytes that is the unit of encryption and validation. All data and meta data from higher modules are stored as chunks in the untrusted store. The chunk store ....
....named collection. void removeCollection(string name) Removes a named collection along with all objects that were previously inserted into the collection. Figure 5: CTransaction interface. also determines whether keys are unique and how the index is implemented (B tree, dynamic hash table [20] or list) All instances of the Indexer class are required to inherit from non templatized class GenericIndexer to allow polymorphic access to Indexer objects. Applications do not invoke any methods of the Indexer class except its constructor. The CTransaction class implements methods to ....
P. Larson. Dynamic hash tables. Communications of the ACM, 31(4), 1988.
....an SMP context, describing numerous techniques for maximizing scalability which were relevant to our store implementation. One of the scalability problems we faced was in the efficiency of map structures. After exploring splay trees [Sleator and Tarjan 1985] and hashes (including dynamic hashes [Larson 1988]) and their various limitations, we developed a new data structure which is a simple hybrid, the hash splay. The hash splay data structure is explained in full in section 5.1. 3 Architecture At the core of the Platypus architecture are three major separable abstractions: visibility, which ....
....idea has been independently developed and analyzed by others [Furer 1999] Others have experimented with linear hashing 10 which adapts to the cardinality of the key set. This was originally developed for out of memory data [Litwin 1980; Larson 1980] and subsequently adapted to in memory data [Larson 1988]. Aside from the question of key set cardinality, the reality of non uniform hash functions means that a significant tradeoff must be made between space and time for any hash which takes the conventional approach of linear probing on its buckets. Access time can be minimized by reducing collisions ....
LARSON, P.- A. 1988. Dynamic hash tables. Communications of the ACM 31, 4 (April), 446 -- 457.
....the methods for Insert, Search and Delete are fast and independent of key set size. All these may be realized yet still guarantee that worst case operation times are no more than a few times the average case. Linear Hash (LH) Litwin, Neimat, and Schneider [1993] derived from Dynamic Hash Tables, Larson [1988] o#er an e#ective solution to collision management and Address: Es Grands Champs, 1195 Dully, Switzerland 1 2 Phil Bagwell external storage growth by maintaining blocks with an acceptable load factor and splitting on collisions. The underlying principle of HAMT, partitioning using a hash, has ....
Larson, P. 1988. Dynamic hash tables. In Comm. of ACM (CACM), Volume 31 (1988), pp. 446--457.
....cached objects. 3. Since it is unrealistic to continually preserveinthemain memory the update time for every cached object, the ratio of the number of CVT entries to the number of cached objects can be selected according to the available quantity of main memory. Dynamic hashing techniques [24, 22] will be used as a technique to satisfy the above CVT data structure characteristic requirements. The size of the CVT can be made variable by selecting an appropriate dynamic hash function h i ( 2 . Eachentry of the CVT is a triple defined as (see Fig. 2) cluster number , time stamp, ....
P. Larson. Dynamic hash tables. Communications of the ACM, 31(4), Apr. 1988.
....on disk. ffl Hashing is faster but ffl it does not preserve the key order and ffl its performance may degrade on growing shrinking files. Except for linear hashing [Lit80] and other extendible hashing methods: dynamic [Lar78] extendible [FNPS79] bounded disorder [LL86] spiral [Lar88] etc) 10 3 SECONDARYKEY ACCESS METHODS 3.1 Problem e.g. consider the relation EMPLOYEE( Name, Salary, Age) Types of queries: ffl exact match: Name = Smith AND Salary = 40,000 AND Age = 45 ffl partial match: Salary = 40,000 AND Age = 35 ffl range queries: 35,000 Salary 45,000 AND ....
P.-A. Larson. Dynamic hash tables. Comm. of ACM (CACM), 31(4):446--457, April 1988.
....widely available in the literature [Enbody and Du 1988; Litwin 1980; Salzberg LH A Scalable, Distributed Data Structure . 483 ACM Transactions on Database Systems, Vol. 21, No. 4, December 1996. 1988; Samet 1989] The files are organized into buckets (pages) on a disk [Litwin 1980] or in RAM [Larson 1988]. Basically, an LH file is a collection of buckets, addressable through a directoryless pair of hashing functions h i and h i11 ; i 5 0,1,2. Thefunction h i hashes (primary) keys on N p 2 i addresses; N being the initial number of buckets, N 1. An example of such functions are the popular ....
....in RAM, although they could be on disk as well. The internal organization of a bucket is not of interest here as it is local to a site and implementation dependent. Overflows are basically assumed to be handled as for an LH bucket, e.g. chained in additional dynamically allocated storage as in [Larson 1988; Litwin 1980] An overflow and a collision occur when a bucket with capacity b contains b or more records and receives a request to insert a new record. Buckets (and servers) are numbered 0, 1, where the number is the bucket address. These logical addresses are mapped to statically or ....
LARSON, P. A. 1988. Dynamic hash tables. Commun. ACM 31, 4 (April) 446--57.
....based on extendible hashing. Kriegel and Seeger [20] and Hut esz et al. 16] describe data structures based on linear hashing. All of the data structures mentioned above have been designed for a secondary storage environment, but similar structures have also been introduced for main memory. Larson [21] describes a linear hashing based main memory data structure. Analyti and Pramanik [1] compare the search performance of two extendible hashing based main memory structures to Larson s data structure. 3 2 Compressing binary trie structures In this section we give a brief overview of binary ....
P.-A. Larson. Dynamic hash tables. Communications of the ACM, 31(4), 446 - 457, April 1988.
....call the tiered vector. Relationships to Previous Work. There are several hashing implementations that use a similar underlying structure to that of the tiered vector, although none in a manner as we do or in a way that can be easily adapted to achieve the performance bounds we achieve. Larson [1] implements a linear hashing scheme which uses as a base structure a directory that references a series of xed size segements. Both the directory and segements are of size l = 2 k allowing the use of a bit shift and mask operation to access any element within the hash table. However, Larson s ....
....vector to the last non empty vector. The total number of elements a tiered vector may hold before it must be expanded is lm, and the number of non empty V k 1 i vectors is always at most bn=lc 2. Element Retrieval. Element retrieval in a tiered vector is similar to methods proposed by Larson [1] and Sitarski [9] complicated somewhat by doubleended nature of the top level of the vector V . To access any element of rank r in the k level tiered vector V k we rst determine which V k 1 i vector contains the element in question by calculating i d(r l 0 ) le, where l 0 is the number of ....
P. _ Ake Larson. Dynamic hash tables. Communications of the ACM, 31(4), April 1988.
....worst case: one for the directory and one for the bucket. Directory less hashing techniques like [Lar88b, Ahn93] try to retrieve entries with at most one disk access by compressing the split history in such a way that it can be kept in main memory. Other techniques like those described in [Lit80, Lar88a] avoid directories by temporary chaining overflow buckets which can be split at a later time. An important tuning factor is the hash function. A good hash function ensures a uniform distribution which is crucial for every hashing technique devised so far. To map OIDs, a good hash function can ....
P.- A. Larson. Dynamic hash tables. Communications of the ACM, 31(4):446--457, 1988.
....write back must be strictly controlled to ensure recoverability) We also outline an extension to the ARIES [Mohan et al. 1992] recovery algorithm which obviates the need for log sequence numbers (LSNs) to be included on every page. Scalable Data Structures [Knuth 1997; Sleator and Tarjan 1985; Larson 1988] 3 Architecture At the core of the ANU Store architecture are three major seperable abstractions: visibility, which governs the inter transactional visibility of intra transactional change, stability, which is concerned with coherent stability and durability of data, and availability which ....
....idea has been independently developed and analyzed by others [Furer 1999] Others have experimented with linear hashing 6 which adapts to the cardinality of the key set. This was originally developed for out of memory data [Litwin 1980; Larson 1980] and subsequently adapted to in memory data [Larson 1988]. Aside from the question of key set cardinality, the reality of non uniform hash functions means that a significant tradeoff must be made between space and time for conventional linearprobing hash tables. Access time can be minimized by reducing collisions through a broad (and wasteful) hash ....
LARSON, P.- A. 1988. Dynamic hash tables. Communications of the ACM 31, 4 (April), 446 -- 457.
....that of LH was designed for a network multicomputer. Then, the design of LH lh involves local bucket management while in [15] this aspect of LH design was left for further study. In LH lh one uses for this purpose a modified version of main memory Linear Hashing defined in [19] on the basis of [11]. An interesting interaction between LH and LH appears, allowing for much more efficient LH bucket splitting. The reason is that LH lh allows the splitting of LH buckets without visiting individual keys. The average access time is of primary importance for any SDDS on a network computer or SM. ....
P. ' A. Larson. Dynamic hash tables. In Communications of the ACM, volume 31(4), pages 446--57. April 1988.
....structures based on linear hashing. All of the data structures mentioned above have been designed for a secondary storage environment, but similar structures have also been introduced for main memory. Analyti and Pramanik [1] describe an extendible hashing based main memory structure, and Larson [20] a linear hashing based one. In its original form the trie [12, 14] is a data structure where a set of strings from an alphabet containing m characters is stored in a m ary tree and each string corresponds to a unique path. In this article, we only consider binary trie structures, thereby ....
P.-A. Larson. Dynamic hash tables. Communications of the ACM, 31(4), 446 -- 457, April 1988.
.... we observe that traditional version control systems such as SCCS [68] or RCS [76] are different in the following respects: Applications cannot control the use of deltas, modeling of version control is mixed up with its realization, and deltas are y Analysis and simulation results of [29] and [53] indicate that the above mentioned dynamic hashing techniques might be superior to our approach in the case of large databases, which consist of many thousands of pages and which would require deep tries. z Research is under way to allow client processes to define complex events which correspond ....
P.A. Larson. Dynamic Hash Tables. Communications of the ACM , vol. 31-4, ACM Press, pp. 446-457 (1988).
....The relations can be implemented easily (and efficiently) by a pair of hash tables, one keyed on ast object, the other on pdg variable. The cost in space and time for hashing structures is minimal, although it is dependent on the exact implementation of the tables. Self organizing hash tables [Larson 88] for example, have amortized cost of space linear in the number of elements, and constant time for lookups, insertions and deletions. The relations are constructed by the AST CFG parser (shown in the diagram as part of AST PDG consistency) This parser updates the control flow graph (CFG) the ....
P. Larson. Dynamic hash tables. Communications of the ACM, 31(4), April 1988.
....the requirement is far beyond the performance of diskbased database systems, we have built our own main memory resident storage system called FLASH. The access method is a core part in the design of a database system. Numerous access methods in main memory databases have been investigated in [1, 6, 7, 8]. Hashing scheme is a well known technique that permits very fast random access to a large file through keyto address calculation. Several hashing schemes have been proposed in both main memory and disk based databases [1, 3, 6, 7, 9] They differ in how to expand the address space and how to ....
....access methods in main memory databases have been investigated in [1, 6, 7, 8] Hashing scheme is a well known technique that permits very fast random access to a large file through keyto address calculation. Several hashing schemes have been proposed in both main memory and disk based databases [1, 3, 6, 7, 9]. They differ in how to expand the address space and how to deal with overflows incurred by collisions in which more than one key has the same hash value. In main memory environment, chained bucket hashing (CBH) is known to provide the fastest access time to a static file [6] CBH scheme, however, ....
[Article contains additional citation context not shown here]
P. Larson, "Dynamic Hash Tables," Comm. of ACM, Vol. 31, No. 4, 1988, pp. 446457.
....the large size of directory when leaf node size is relatively small, and LH scheme shows too slow response time for insertion and search. More recently, two new hashing schemes were proposed for main memory resident database systems: a linear hashing modified for hash table stored in main memory (Larson 1988), and controlled search multidirectory hashing (CSMH) Analyti and Pramanik 1992) Unlike the original LH for disk files, a directory entry of the modified LH contains a pointer, which is the head of a chain of the records hashing to that entry. The average chain length is controlled by a ....
....The average number of key comparisons for successful search is L avg , which is controlled by a user parameter. 3.2 Performance Experiment 3.2.1 Implementation Details Modified LH requires contiguous memory for the directory while it expands. We implemented a dynamic array which is suggested by (Larson 1988). The size of a segment for the dynamic array is set to 1024 in order to take advantage of bit operators when locating a directory entry. The directory size shown in results includes the storage overhead for the dynamic array. A directory entry takes 8 bytes: a four byte pointer to its RID chain ....
Larson, P.A. (1988) "Dynamic Hash Tables." Comm. of ACM, Vol. 31, No. 4, pp. 446-457.
....If an application requires large amounts of objects shared across locations and at the same time discards the objects quickly, then the decentralized system may not been structured in the best way. 5 It is of course crucial that the lookup operation is as fast as possible. Either hashing [Larso88] or indexing [Comer79] could be used. A.Bjornerstedt 8 Second, since we have the additional level of indirection provided by an identifier to address mapping, we can use several different local persistent address spaces. If there are a fair amount of objects which are neither short lived nor ....
P.A. Larson, "Dynamic Hash Tables," Communications of the ACM, vol. 31, no. 4, pp. 446-457, April 1988.
....hash table itself to store the keys and other information. Several techniques, such as linear probing and double hashing, have been devised to resolve the collisions in as few attempts as possible. Dynamic hashing schemes allow the table size to increase dynamically as the number of entries grows [4,16]. Perfect hashing schemes also exist, which cause no collisions [3,30] Minimal perfect hashing functions not only avoid collisions, but also leave no empty space in the hash table [1,2,10,23] For surveys of various hashing schemes and issues see [14,15,17,18,19,20,25,27] If the hash table ....
P. A. Larson, "Dynamic Hash Tables," Comm. of ACM, Vol. 31, No. 4, April 1988, pp. 446-457.
....interface. This approach permitted us to establish that the system as defined was useful, before investing in its in depth optimization. Our experimental implementation uses the cgc lightweight generational garbage collector[cgc97] for memory management, and the fast dynamic hash tables of Larson[Lar88] as implemented by Strandh[Str92] MEC[ABC94] is a model checking program that computes the synchronized product of automata. These synchronized products can be computed by operations on explicit representations of automata, or using tuple set operations[ZC95b] In our first experiment we ....
Per-Ake Larson. Dynamic hash tables. Communications of the ACM, 31(4):446--457, April 1988.
....access small data structures that are often used and should normally be found in the cache memory. 11.2 Data Structure of LH 3 Ordinary linear hashing used a directory to find a linked list of disk pages. No special handling of the internal structure of the pages was described [Litwin80] In [Larson88] an implementation of linear hashing for main memory was developed. It used a data structure as shown in Figure 11 3. The lowest bits of the linear hashing value are used as a pointer in the segment table and the higher bits are used as a pointer in the directory table. Then the elements are ....
....fast method to find data in main memory as long as the linked list does not become too long. Directory Segment Segment Segment Element Element Element Element Element Element Element Element Element Element Element Element Figure 11 3Data Structure of Linear Hashing in main memory as shown in [Larson88] 193 By analysing the data structures using a cached computer architecture, we find that the directory should be in the cache most of the time. The segments are, however, less likely to be found in the caches since there are many segments in each hash table. In a large table consisting of ....
[Article contains additional citation context not shown here]
P-Å Larson, Dynamic Hash Tables, Communications of the ACM, April 1988.
....worst case: one for the directory and one for the bucket. Directory less hashing techniques like [Lar88b, Ahn93] try to retrieve entries with at most one disk access by compressing the split history in such a way that it can be kept in main memory. Other techniques like those described in [Lit80, Lar88a] avoid directories by temporary chaining overflow buckets which can be split at a later time. An important tuning factor is the hash function. A good hash function ensures a uniform distribution which is crucial for every hashing technique devised so far. To map OIDs, a good hash function can ....
P.- A. Larson. Dynamic hash tables. Communications of the ACM, 31(4):446--457, 1988.
....node of the querying user process is running on a multi cpu the database query could sometimes be parallelized and will always run in parallel with the user process. 3. 5 About the Implementation All of Mnesia is written in Erlang except from a special key value dictionary using linear hashing [Lar88]. This dictionary was added to the Erlang implementation to get fast key lookups. The majority of our present users queries are nonrecursive. Therefore we have chosen to separate the recursive and the non recursive parts of the queries. In the first version we make the non recursive query ....
P- A Larson. Dynamic hash tables. Communications of the ACM, 31(4), 1988.
....shortcomings cited above and its implementation had to provide performance equal or superior to that of the existing implementations. In order to provide a compact disk representation, graceful table growth, and expected constant time performance, we selected Litwin s linear hashing algorithm [LAR88, LIT80]. We then enhanced the algorithm to handle page overflows and large key handling with a single mechanism, named buddy in waiting. Existing UNIX Hashing Techniques Over the last decade, several dynamic hashing schemes have been developed for the UNIX timesharing system, starting with the ....
....to provide memory resident hash tables. Since data access does not require disk access, simple hashing schemes which may require multiple probes into the table are used. A more interesting version of hsearch is a public domain library, dynahash, that implements Larson s in memory adaptation [LAR88] of linear hashing [LIT80] USENIX Winter 91 Dallas, TX A New Hashing Package for UNIX Seltzer Yigit dbm and ndbm The dbm and ndbm library implementations are based on the same algorithm by Ken Thompson [THOM90, TOR88, WAL84] but differ in their programmatic interfaces. The latter is a ....
[Article contains additional citation context not shown here]
Larson, Per-Ake, "Dynamic Hash Tables", Communications of the ACM, Volume 31, No. 4., April 1988, pp 446-457.
No context found.
P.- A. Larson. Dynamic hash tables. Communications of the ACM, 31(4), April 1988.
No context found.
P.-. Larson, `Dynamic hash tables', Communications of the ACM, 31, (4), (1988).
....the old table can be deleted. Since these insertions in the new table take constant time (there is no need to check for duplicates) this process will take O(N) time. As N grows, these delays may be undesirable or even unacceptable in interactive or real time applications. Linear Hashing [3], a technique originally developed for databases [4] avoids these O(N) delays by amortizing the work over a longer period of time 2 . The idea is that the table is Partially supported by the Swedish National Board for Industrial and Technical Development (NUTEK) 1 This definition differs ....
....been run with a loading factor of 2. To measure the impact of an increased loading factor, the CMPHASH algorithm was re run with loading factors of 4, 6, 8 and 10 (algorithms LOAD4 to LOAD10 ) As indicated by table 1, the time increase was faily modest and apparently linear. Larson s conclusion [3] that the loading factor can be a high as 5 without sacrificing performance much seems to be true here as well. 4 Comparison with a standard hash table Linear hashing, while offering incremental behaviour during table expansion or reduction, does impose some overhead in its slightly more ....
[Article contains additional citation context not shown here]
Per-- Ake Larson. Dynamic Hash Tables. In Communications of the ACM 31(4), pages 446-- 457, April 1988.
No context found.
P.A. Larson. Dynamic hash tables. Communications of the ACM, 31(4):446--57, April 1988.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC