Affiliation:
1. The University of Melbourne
Abstract
Burstsort is a trie-based string sorting algorithm that distributes strings into small buckets whose contents are then sorted in cache. This approach has earlier been demonstrated to be efficient on modern cache-based processors [Sinha & Zobel, JEA 2004]. In this article, we introduce improvements that reduce by a significant margin the memory requirement of Burstsort: It is now less than 1% greater than an in-place algorithm. These techniques can be applied to existing variants of Burstsort, as well as other string algorithms such as for string management.
We redesigned the buckets, introducing sub-buckets and an index structure for them, which resulted in an order-of-magnitude space reduction. We also show the practicality of moving some fields from the trie nodes to the insertion point (for the next string pointer) in the bucket; this technique reduces memory usage of the trie nodes by one-third. Importantly, the trade-off for the reduction in memory use is only a very slight increase in the running time of Burstsort on real-world string collections. In addition, during the bucket-sorting phase, the string suffixes are copied to a small buffer to improve their spatial locality, lowering the running time of Burstsort by up to 30%. These memory usage enhancements have enabled the copy-based approach [Sinha et al., JEA 2006] to also reduce the memory usage with negligible impact on speed.
Publisher
Association for Computing Machinery (ACM)
Subject
Theoretical Computer Science
Reference33 articles.
1. Aho A. Hopcroft J. E. and Ullman J. D. 1974. The Design and Analysis of Computer Algorithms. Addison-Wesley Reading MA. Aho A. Hopcroft J. E. and Ullman J. D. 1974. The Design and Analysis of Computer Algorithms. Addison-Wesley Reading MA.
2. Implementing radixsort
3. On sorting strings in external memory (extended abstract)
4. Cache-Conscious Collision Resolution in String Hash Tables
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. BunchBloomer: Cost-Effective Bloom Filter Accelerator for Genomics Applications;2022 32nd International Conference on Field-Programmable Logic and Applications (FPL);2022-08
2. Efficient String Sort with Multi-Character Encoding and Adaptive Sampling;Proceedings of the 2021 International Conference on Management of Data;2021-06-09
3. Engineering Parallel String Sorting;Algorithmica;2015-09-18