* Department of Electrical and Computer Engineering, Rice University, Houston, TX 77251-1892, USA
** Database Technology Institute, IBM Almaden research Center, 650 Harry Road, San Jose, CA 95120, USA
Abstract:
An efficient parallel algorithm for merging two sorted lists is presented. The algorithm is based on a novel partitioning algorithm that splits the two lists among the processors, in a way that ensures load balance during the merge. The partitioning algorithm can itself be efficiently parallelized, allowing the solution to scale with increased numbers of processors. A shared memory multiprocessor is assumed. The time complexity for partitioning and merging is O(N/p + log N), where p is the number of processors and N is the total number of elements in the two lists. Implementation results on a twenty node Sequent Symmetry multiprocessor are also presented.