scispace - formally typeset
Search or ask a question

Showing papers on "Comparison sort published in 2010"


Proceedings ArticleDOI
19 Apr 2010
TL;DR: In this paper, the authors present a sample sort algorithm for manycore GPUs, which is robust to different distributions and entropy levels of keys and scales almost linearly with the input size.
Abstract: We present the design of a sample sort algorithm for manycore GPUs. Despite being one of the most efficient comparison-based sorting algorithms for distributed memory architectures its performance on GPUs was previously unknown. For uniformly distributed keys our sample sort is at least 25% and on average 68% faster than the best comparison-based sorting algorithm, GPU Thrust merge sort, and on average more than 2 times faster than GPU quicksort. Moreover, for 64-bit integer keys it is at least 63% and on average 2 times faster than the highly optimized GPU Thrust radix sort that directly manipulates the binary representation of keys. Our implementation is robust to different distributions and entropy levels of keys and scales almost linearly with the input size. These results indicate that multi-way techniques in general and sample sort in particular achieve substantially better performance than two-way merge sort and quicksort.

117 citations


Patent
29 Mar 2010
TL;DR: In this paper, a system, method, and computer program product are provided for sorting a set of records in a sort run, and metadata regarding the sort run is gathered, and subsequently used to determine bounds of two or more disjoint subsets of the sorted run.
Abstract: A system, method, and computer program product are provided for sorting a set of records in a sort run. As the records are sorted, metadata regarding the sort run is gathered, and subsequently used to determine bounds of two or more disjoint subsets of the sort run. This enables the parallelization of several tasks over the sort run data using efficient, dynamic bounds determination, such as the outputting of sorted data from the disjoint subsets in parallel.

9 citations


01 Jan 2010
TL;DR: This paper presents the first parallel sorting algorithm to combine all herein before mentioned properties, while laying the foundations to overcome scalability problems for sorting data on the next generation of massively parallel systems.
Abstract: Sorting is one of the most fundamental algorithmic kernels, used by a large fraction of computer applications. This paper proposes a novel parallel sorting algorithm based on exact splitting that combines excellent scaling behavior with universal applicability. In contrast to many existing parallel sorting algorithms that make limiting assumptions regarding the input problem or the underlying computation model, our general-purpose algorithm can be used without restrictions on any MIMD-class computer architecture, demonstrating its full potential on massively parallel systems with distributed memory. It is comparison-based like most sequential sorting algorithms, handles an arbitrary number of keys per processing element, works in a deterministic way, does not fail in the presence of duplicate keys, minimizes the communication bandwidth requirements, does not require any knowledge of the key-value distribution, and uses only a small and a priori known amount of additional memory. Moreover, our algorithm can be turned into a stable sort without altering the time complexity, and can be made work in place. The total running time for sorting n elements on p processors is O( n log n + plog 2 n). Practical scalability is shown using more than thirty thousand compute nodes. This paper presents the first parallel sorting algorithm to combine all herein before mentioned properties, while laying the foundations to overcome scalability problems for sorting data on the next generation of massively parallel systems.

6 citations


Journal ArticleDOI
TL;DR: This paper studies the question of which are the smallest general graphs that can sort an arbitrary permutation and what is their efficiency, and shows that certain two-node graphs can sort in time @Q(n^2) and no simpler graph can sort all permutations.

3 citations


Patent
29 Mar 2010
TL;DR: In this article, a system, method, and computer program product are provided for sorting a set of records in a sort run, and metadata regarding the sort run is gathered, and subsequently used to determine bounds of two or more disjoint subsets of the sorted run.
Abstract: A system, method, and computer program product are provided for sorting a set of records in a sort run. As the records are sorted, metadata regarding the sort run is gathered, and subsequently used to determine bounds of two or more disjoint subsets of the sort run. This enables the parallelization of several tasks over the sort run data using efficient, dynamic bounds determination, such as the outputting of sorted data from the disjoint subsets in parallel.

2 citations


Proceedings ArticleDOI
26 May 2010
TL;DR: Clump Sort as discussed by the authors is a stable sorting algorithm that preserves the original order of equal elements in the order of the data segments in the medical data set, and it is shown to have considerably better data cache performance than Heap Sort.
Abstract: Sorting data sets are a thoroughly researched field. Several sorting algorithms have been introduced and these include Bubble, Insertion, Selection, Shell, Quick, Merge and Heap. In this paper, we present a novel sorting algorithm,named Clump Sort, to take advantage of ordered segments already present in medical data sets. It succeeds in sorting the medical data considerably better than all the sorts except when using totally non-clumped data. In this test using totally nonclumped data, Heap sort does only slightly better than Clump sort. However, Clump sort has the advantage of being a stable sort as the original order of equal elements is preserved whereas in Heap sort, it is not since it does not guarantee that equal elements will appear in their original order after sorting. As such, Clump Sort will have considerably better data cache performance with both clumped and non-clumped data, outperforming Heap Sort on a modern desktop PC, because it accesses the elements in order. Sorting equal elements in the correct order is essential for sorting medical data.

1 citations


Journal Article
TL;DR: The interesting feature of this algorithm is that the order of alphabets is not change and the approach is too much simpler.
Abstract: In This paper, the authors present a positional algorithmic approach for alphabetic sort. Results are achieved in linear time. Within this approach two embedded algorithms, Binary Search and Counting Sort are executed in parallel to achieve the goal. In this approach a Pre-Processor or Priority Queue is used, which minimizes time complexity. The algorithm is linear in speed. Time Complexity of this newly proposed algorithm is Θ (n). The interesting feature of this algorithm is that the order of alphabets is not change and the approach is too much simpler KeywordsAlgorithm, Priority Queue, Sort, Search, Complexity, Analysis.