TY - JOUR

T1 - A wait-free sorting algorithm

AU - Shavit, N.

AU - Upfal, E.

AU - Zemach, A.

N1 - Funding Information:
⁄ N. Shavit’s work was supported by the following grants: ARPA: F19628-95-C-0118, AFOSR-ONR: F49620-94-1-0199, NSF: 9225124-CCR and CCR-9520298. E. Upfal’s work was supported in part by the Air Force and the Defense Advanced Research Projects Agency of the Department of Defense under Grant No. F30602-00-2-0599, and by NSF Grant CCR-9731477. A. Zemach was supported by an Eshkol Scholarship from the Israeli Ministry of Science. Part of this work was done while this author was at MIT.

PY - 2001

Y1 - 2001

N2 - Sorting is one of a set of fundamental problems in computer science. In this paper we present the first wait-free algorithm for sorting an input array of size N using P ≤ N processors to achieve optimal running time. We show two variants of the algorithm, one deterministic and one randomized, and prove that, with high probability, the latter suffers no more than O(√P) contention when run synchronously. Known sorting algorithms, when made wait-free through previously established transformation techniques, have complexity O(log3 N). The algorithm we present here, when run in the CRCW PRAM model, executes with high probability in O(log N) time when P = N, and O((N log N)/P) otherwise, which is optimal amongst comparison-based sorting algorithms. The wait-free property guarantees that the sort will complete despite any delays or failures incurred by the processors. This is a very desirable property from an operating systems point of view, since it allows oblivious thread scheduling as well as thread creation and deletion, without fear of losing the algorithm's correctness.

AB - Sorting is one of a set of fundamental problems in computer science. In this paper we present the first wait-free algorithm for sorting an input array of size N using P ≤ N processors to achieve optimal running time. We show two variants of the algorithm, one deterministic and one randomized, and prove that, with high probability, the latter suffers no more than O(√P) contention when run synchronously. Known sorting algorithms, when made wait-free through previously established transformation techniques, have complexity O(log3 N). The algorithm we present here, when run in the CRCW PRAM model, executes with high probability in O(log N) time when P = N, and O((N log N)/P) otherwise, which is optimal amongst comparison-based sorting algorithms. The wait-free property guarantees that the sort will complete despite any delays or failures incurred by the processors. This is a very desirable property from an operating systems point of view, since it allows oblivious thread scheduling as well as thread creation and deletion, without fear of losing the algorithm's correctness.

UR - http://www.scopus.com/inward/record.url?scp=0035562190&partnerID=8YFLogxK

U2 - 10.1007/s00224-001-1009-3

DO - 10.1007/s00224-001-1009-3

M3 - מאמר

AN - SCOPUS:0035562190

VL - 34

SP - 519

EP - 544

JO - Theory of Computing Systems

JF - Theory of Computing Systems

SN - 1432-4350

IS - 6

ER -