The Journal of Supercomputing

, Volume 53, Issue 2, pp 293–312

Analyzing and enhancing the parallel sort operation on multithreaded architectures

Authors

  • Layali Rashid
    • Department of Electrical and Computer EngineeringUniversity of Calgary
    • Department of Electrical and Computer EngineeringUniversity of Calgary
  • Moustafa A. Hammad
    • Google Inc.
Article

DOI: 10.1007/s11227-009-0294-5

Cite this article as:
Rashid, L., Hassanein, W.M. & Hammad, M.A. J Supercomput (2010) 53: 293. doi:10.1007/s11227-009-0294-5

Abstract

The sort operation is a core part of many critical applications (e.g., database management systems). Despite the large efforts to parallelize it, the fact that it suffers from high data-dependencies vastly limits its performance. Multithreaded architectures are emerging as the most demanding technology in leading-edge processors. These architectures include simultaneous multithreading, chip multiprocessors, and machines combining different multithreading technologies. In this paper, we analyze the memory behavior and improve the performance of the most recent parallel radix and quick integer sort algorithms on modern multithreaded architectures. We achieve speedups up to 4.69× for radix sort and up to 4.17× for quicksort on a machine with 4 multithreaded processors compared to single threaded versions, respectively. We find that since radix sort is CPU-intensive, it exhibits better results on chip multiprocessors where multiple CPUs are available. While quicksort is accomplishing speedups on all types of multithreading processers due to its ability to overlap memory miss latencies with other useful processing.

Keywords

MultithreadingInternal databaseSimultaneous multithreadingChip multiprocessorDatabase operationsSortsQuicksortRadix sort

Copyright information

© Springer Science+Business Media, LLC 2009