SCALABLE CONCURRENT B-TREES USING MULTIVERSION MEMORY

Authors
Citation
P. Wang et We. Weihl, SCALABLE CONCURRENT B-TREES USING MULTIVERSION MEMORY, Journal of parallel and distributed computing, 32(1), 1996, pp. 28-48
Citations number
56
Categorie Soggetti
Computer Sciences","Computer Science Theory & Methods
ISSN journal
07437315
Volume
32
Issue
1
Year of publication
1996
Pages
28 - 48
Database
ISI
SICI code
0743-7315(1996)32:1<28:SCBUMM>2.0.ZU;2-I
Abstract
We present a new algorithm for implementing a concurrent B-tree on a m ultiprocessor, The algorithm replicates B-tree nodes on multiple proce ssors (particularly nodes near the root of the tree) to eliminate bott lenecks caused by contention for a single copy of each node. In contra st to other replication or caching strategies that provide some form o f coherence, the algorithm uses a novel replication strategy, called m ulti-version memory. Multi-version memory weakens the semantics of coh erent caches by allowing readers to access ''old versions'' of data. A s a result, readers can run in parallel with a writer. Using multi-ver sion memory for the internal nodes of a B-tree reduces the synchroniza tion requirements and delays associated with updating the internal nod es, Experiments comparing the B-tree algorithm based on multi-version memory to other algorithms based on coherent replication show that usi ng multiversion memory enhances throughput significantly, even for sma ll numbers of processors, and also allows throughput to scale with inc reasing numbers of processors long past the point where other algorith ms saturate and start to thrash. (C) 1996 Academic Press, Inc.