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.
Adrian Colbrook, Eric A. Brewer, Chrysanthos N. Dellarocas, William E. Weihl, "Algorithms for Search Trees on Message-Passing Architectures", IEEE Transactions on Parallel & Distributed Systems, vol.7, no. 2, pp. 97-108, February 1996, doi:10.1109/71.485500