Issue No. 02 - February (1996 vol. 7)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.485500
<p><b>Abstract</b>—In this paper we describe a new algorithm for maintaining a balanced search tree on a message-passing MIMD architecture; the algorithm is particularly well suited for implementation on a small number of processors. We introduce a (2<super><it>B</it>−2</super>, 2<super><it>B</it></super>) search tree that uses a bidirectional ring of <it>O</it>(log <it>n</it>) processors to store <it>n</it> entries. Update operations use a bottom-up node-splitting scheme, which performs significantly better than top-down search tree algorithms. The bottom-up algorithm requires many fewer messages and results in less blocking due to synchronization than top-down algorithms. Additionally, for a given cost ratio of computation to communication the value of <it>B</it> may be varied to maximize performance. Implementations on a parallel-architecture simulator are described.</p>
Balanced search trees, dictionary abstract data type, parallel algorithms, linear processor array, message-passing architectures, query throughput, query response time.
E. A. Brewer, W. E. Weihl, C. N. Dellarocas and A. Colbrook, "Algorithms for Search Trees on Message-Passing Architectures," in IEEE Transactions on Parallel & Distributed Systems, vol. 7, no. , pp. 97-108, 1996.