A taxonomy of parallel sorting
ACM Computing Surveys (CSUR)
The input/output complexity of sorting and related problems
Communications of the ACM
A case for redundant arrays of inexpensive disks (RAID)
SIGMOD '88 Proceedings of the 1988 ACM SIGMOD international conference on Management of data
Tight bounds on the complexity of parallel sorting
IEEE Transactions on Computers
Optimal disk I/O with parallel block transfer
STOC '90 Proceedings of the twenty-second annual ACM symposium on Theory of computing
Deterministic distribution sort in shared and distributed memory multiprocessors
SPAA '93 Proceedings of the fifth annual ACM symposium on Parallel algorithms and architectures
The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
Communications of the ACM
Communications of the ACM
I/O complexity: The red-blue pebble game
STOC '81 Proceedings of the thirteenth annual ACM symposium on Theory of computing
STOC '83 Proceedings of the fifteenth annual ACM symposium on Theory of computing
Coding Techniques for Handling Failures in Large Disk Arrays
Coding Techniques for Handling Failures in Large Disk Arrays
Massive Information Storage, Management, and Use
Massive Information Storage, Management, and Use
Efficient external memory algorithms by simulating coarse-grained parallel algorithms
Proceedings of the ninth annual ACM symposium on Parallel algorithms and architectures
On sorting strings in external memory (extended abstract)
STOC '97 Proceedings of the twenty-ninth annual ACM symposium on Theory of computing
PODS '98 Proceedings of the seventeenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Randomized external-memory algorithms for some geometric problems
Proceedings of the fourteenth annual symposium on Computational geometry
A framework for simple sorting algorithms on parallel disk systems (extended abstract)
Proceedings of the tenth annual ACM symposium on Parallel algorithms and architectures
Blocking in parallel multisearch problems (extended abstract)
Proceedings of the tenth annual ACM symposium on Parallel algorithms and architectures
A simple and efficient parallel disk mergesort
Proceedings of the eleventh annual ACM symposium on Parallel algorithms and architectures
Fast concurrent access to parallel disks
SODA '00 Proceedings of the eleventh annual ACM-SIAM symposium on Discrete algorithms
On the sorting-complexity of suffix tree construction
Journal of the ACM (JACM)
Distribution sort with randomized cycle
SODA '01 Proceedings of the twelfth annual ACM-SIAM symposium on Discrete algorithms
Columnsort lives! an efficient out-of-core sorting program
Proceedings of the thirteenth annual ACM symposium on Parallel algorithms and architectures
External memory algorithms and data structures: dealing with massive data
ACM Computing Surveys (CSUR)
ESA '98 Proceedings of the 6th Annual European Symposium on Algorithms
Duality between Prefetching and Queued Writing with Parallel Disks
ESA '01 Proceedings of the 9th Annual European Symposium on Algorithms
External-Memory Breadth-First Search with Sublinear I/O
ESA '02 Proceedings of the 10th Annual European Symposium on Algorithms
Asynchronous parallel disk sorting
Proceedings of the fifteenth annual ACM symposium on Parallel algorithms and architectures
Handbook of massive data sets
Sorting and selection on parallel disk models
Handbook of massive data sets
PDM Sorting Algorithms That Take A Small Number of Passes
IPDPS '05 Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Papers - Volume 01
GPUTeraSort: high performance graphics co-processor sorting for large database management
Proceedings of the 2006 ACM SIGMOD international conference on Management of data
Distribution sort with randomized cycling
Journal of the ACM (JACM)
Linear work suffix array construction
Journal of the ACM (JACM)
Parallel out-of-core sorting and fast accesses to disks
International Journal of High Performance Computing and Networking
Fundamental parallel algorithms for private-cache chip multiprocessors
Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
Algorithms and data structures for external memory
Foundations and Trends® in Theoretical Computer Science
Cleaning uncertain data with quality guarantees
Proceedings of the VLDB Endowment
psort, Yet Another Fast Stable Sorting Software
SEA '09 Proceedings of the 8th International Symposium on Experimental Algorithms
Algorithms for memory hierarchies: advanced lectures
Algorithms for memory hierarchies: advanced lectures
Simple linear work suffix array construction
ICALP'03 Proceedings of the 30th international conference on Automata, languages and programming
Efficient PDM sorting algorithms
HiPC'08 Proceedings of the 15th international conference on High performance computing
Machine models for query processing
ACM SIGMOD Record
psort, yet another fast stable sorting software
Journal of Experimental Algorithmics (JEA)
Effective out-of-core parallel delaunay mesh refinement using off-the-shelf software
Journal of Experimental Algorithmics (JEA)
Efficient out-of-core sorting algorithms for the Parallel Disks Model
Journal of Parallel and Distributed Computing
A simple optimal randomized algorithm for sorting on the PDM
ISAAC'05 Proceedings of the 16th international conference on Algorithms and Computation
Hi-index | 0.00 |
We present an algorithm for sorting efficiently with parallel two-level memories. Our main result is an elegant, easy-to-implement, optimal, deterministic algorithm for external sorting with D disk drives. This result answers in the affirmative the open problem posed by Vitter and Shriver of whether an optimal algorithm exists that is deterministic. Our measure of performance is the number of parallel input/output (I/O) operations, in which each of the D disks can simultaneously transfer a block of B contiguous records. We assume that internal memory can hold M records. Our algorithm sorts N records in the optimal bound of &thgr;((N/BD) log(N/B)/ log(M/B)) deterministically, and thus improves upon Vitter and Shriver's optimal randomized algorithm as well as the well-known deterministic but nonoptimal technique of disk striping. It is also practical to implement.