Resource Oblivious Sorting on Multicores
Richard Cole, Vijaya Ramachandran

TL;DR
This paper introduces SPMS, a resource-oblivious parallel sorting algorithm that achieves optimal cache performance and low parallel complexity on multicore systems, improving previous bounds for cache-oblivious sorting.
Contribution
The paper presents SPMS, a novel deterministic, resource-oblivious sorting algorithm with improved parallel complexity and cache efficiency for multicore architectures.
Findings
Achieves $O(n \, log n)$ cache-oblivious sorting time.
Parallel complexity is $O(\, log n \, \, log\log n)$, better than previous bounds.
Cache and false sharing costs are bounded in terms of steals, cache size, and block size.
Abstract
We present a deterministic sorting algorithm, SPMS (Sample, Partition, and Merge Sort), that interleaves the partitioning of a sample sort with merging. Sequentially, it sorts elements in time cache-obliviously with an optimal number of cache misses. The parallel complexity (or critical path length) of the algorithm is , which improves on previous bounds for optimal cache oblivious sorting. The algorithm also has low false sharing costs. When scheduled by a work-stealing scheduler in a multicore computing environment with a global shared memory and cores, each having a cache of size organized in blocks of size , the costs of the additional cache misses and false sharing misses due to this parallel execution are bounded by the cost of and cache misses respectively, where is the number of steals…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
