This Article 
 Bibliographic References 
 Add to: 
Algorithms for Search Trees on Message-Passing Architectures
February 1996 (vol. 7 no. 2)
pp. 97-108

Abstract—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 (2B−2, 2B) search tree that uses a bidirectional ring of O(log n) processors to store n 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 B may be varied to maximize performance. Implementations on a parallel-architecture simulator are described.

[1] L.J. Guibas and R. Sedgewick, "A dichromatic framework for balancing trees," Proc. 19th Annual IEEE CS Symp. Foundations of Computer Science, pp.8-21, 1978.
[2] M.J. Carey and C.D. Thompson, "An efficient implementation of search trees on [lgn+1] processors," IEEE Trans. on Computers, vol. 33, no. 11, pp. 1,038-1,041, 1984.
[3] R. Bayer, "Symmetric binary B-trees: Data structure and maintenance algorithms," Acta Informatica, vol. 1, pp. 290-306, 1972.
[4] M.J. Quinn, Designing Efficient Algorithms for Parallel Computers. McGraw-Hill, 1987.
[5] W.E. Weihl and P. Wang, "Multi-version memory: Software cache management for concurrent B-trees," Proc. Second IEEE Symp. Parallel and Distributed Processing, pp. 650-655, 1990.
[6] P. Wang, "An in-depth analysis of current B-tree algorithms," tech. rep. MIT/LCS/TR-496, MIT Laboratory for Computer Science, master's thesis, 1991.
[7] P. Lehman and S. Yao, "Efficient Locking for Concurrent Operations on B-Trees," ACM Trans. Database Systems, vol. 6, no. 4, pp. 650-670, 1981.
[8] Y. Sagiv, "Concurrent Operations on B*-Trees with Overtaking," J. Computer and System Sciences, vol. 33, no. 2, pp. 275-296, 1986.
[9] D. Shasha and N. Goodman,“Concurrent search structure algorithms,” ACM Trans. Database Systems, vol. 13, no. 1, pp. 53-90, 1988.
[10] Y. Mond and Y. Raz, "Concurrency control in B+-trees using preparatory operations," Proc. 11th Int'l Conf. Very Large Data Bases, pp. 331-334, 1985.
[11] Y. Tanaka, Y. Nozaka, and A. Masuyama, "Pipeline searching and sorting modules as components of a data flow database computer," Proc. Int'l Federation for Information Processing, North-Holland, pp. 427-432, 1980.
[12] A.L. Fisher, "Dictionary machines with a small number of processors," Proc. 11th Annual Int'l Symp. Conputer Architecture, pp. 151-156, 1984.
[13] C.N. Dellarocas, "A high-performance retargetable simulator for parallel architectures," master's thesis, MIT Laboratory for Computer Science, 1991.
[14] E.A. Brewer, "Aspects of a high-performance parallel-architecture simulator," master's thesis, MIT Laboratory for Computer Science, 1991.
[15] E.A. Brewer, C.N. Dellarocas, A. Colbrook, and W.E. Weihl, "PROTEUS: A High-Performance Parallel Architecture Simulator," technical report, Massachusetts Inst. of Tech nology, Sept. 1992.
[16] P. Cosway, "Replication control in distributed B-trees," master's thesis, MIT Laboratory for Computer Science, 1994.
[17] V. Lanin, D. Shasha, and J. Schmidt, "An analytical model for the performance of concurrent B-tree algorithms," tech. rep., Ultracomputer Laboratory, New York Univ., 1987.
[18] A. Colbrook and C. Smythe, "Efficient implementation of search trees on parallel distributed memory architectures," IEE Proc., Part E, vol. 137, pp. 394-400, 1979.
[19] D. Comer, “The Ubiquitous B-Tree,” ACM Computing Surveys, vol. 11, no. 2, pp. 121-137, June 1979.
[20] Inmos, Transputer Reference Manual, Prentice Hall, 1988.

Index Terms:
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 and Distributed Systems, vol. 7, no. 2, pp. 97-108, Feb. 1996, doi:10.1109/71.485500
Usage of this product signifies your acceptance of the Terms of Use.