Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Optimal parallel merging and sorting without memory conflicts

Journal Article · · IEEE Trans. Comput.; (United States)
A parallel algorithm is described for merging two sorted vectors of total length N. The algorithm runs on a shared-memory model of parallel computation that disallows more than one processor to simultaneously read from or write into the same memory location. It uses kappa processors, where 1 less than or equal to kappa less than or equal to N, and requires O(N/kappa + log kappa x log N) time. The proposed approach for merging leads to a parallel sorting algorithm that sorts a vector of length N in O((log/sup 2/ kappa + N/kappa) log N) time. Because they modify their behavior, and hence their running time, according to the number of available processors, the two new algorithms are said to be self-reconfiguring. In addition, both algorithms are optimal, for kappa less than or equal to N/log/sup 2/ N, in view of the ..cap omega..(N) and ..cap omega..(N log N) lower bounds on merging and sorting, respectively.
Research Organization:
Dept. of Computing and Information Science, Queen's Univ., Kingston, Ont. K7L 3N6
OSTI ID:
5912451
Journal Information:
IEEE Trans. Comput.; (United States), Journal Name: IEEE Trans. Comput.; (United States) Vol. C-36:11; ISSN ITCOB
Country of Publication:
United States
Language:
English

Similar Records

Searching, merging, and sorting in parallel computation
Journal Article · Sat Oct 01 00:00:00 EDT 1983 · IEEE Trans. Comput.; (United States) · OSTI ID:5363554

Tight comparison bounds on the complexity of parallel sorting
Journal Article · Mon Jun 01 00:00:00 EDT 1987 · SIAM J. Comput.; (United States) · OSTI ID:6190628

The complexity of parallel sorting
Journal Article · Sat Jan 31 23:00:00 EST 1987 · SIAM J. Comput.; (United States) · OSTI ID:6537775