Parallel Computing in Electrical Engineering, 2004. International Conference on (2006)
Sept. 13, 2006 to Sept. 17, 2006
Suri Pushpa , Kurukshetra University, India
Prasad Vinod , Majan University College, Sultanate of Oman
Carsten Maple , University of Luton, United Kingdom
In a multiprocessor system, a lock-based scheme is used to ensure consistency and correctness during parallel processing. To manipulate a binary search tree in parallel, a process that modifies the current state of the data structure has to lock a certain portion of the tree. Lock-based schemes result in a longer wait time for the rest of the processes, particularly if a large portion of the tree has been locked. In a concurrent environment, the root of the binary search tree may therefore become a bottleneck, as it is the only entry point for all processes. To reduce the total wait time, it is possible to create and maintain a binary search tree with multiple roots, thereby allowing multiple processors to act upon different trees simultaneously. In this paper, we present static and dynamic methods to create and maintain a binary search tree with multiple roots. Without considerable overhead, a set of connected trees is created that resembles a forest, yet acts as a single binary search tree.
Suri Pushpa, Prasad Vinod, Carsten Maple, "Creating a Forest of Binary Search Trees for a Multiprocessor System", Parallel Computing in Electrical Engineering, 2004. International Conference on, vol. 00, no. , pp. 290-295, 2006, doi:10.1109/PARELEC.2006.27