Abstract
psort was the fastest sorting software in 2008 according to the Pennysort benchmark, sorting 181GB of data for 0.01$ of computer time. This paper details its internals, and the careful fitting of its architecture to the structure of modern PCs-class platforms, allowing it to outperform state-of-the-art sorting software such as GNUsort or STXXL.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
The GNU C library - Array Sort Function, http://www.gnu.org/
GNU Coreutils - sort, http://www.gnu.org/
Sort Benchmark Home Page, http://www.hpl.hp.com/hosted/sortbenchmark/
A measure of transaction processing power. Datamation 31(7), 112–118 (1985)
Aaron Darling, A.M.: DMSort: A PennySort and Performance/Price Sort, http://www.hpl.hp.com/hosted/sortbenchmark/DMsort.pdf
Aggarwal, A., Alpern, B., Chandra, A., Snir, M.: A model for hierarchical memory. In: Proc. of ACM STOC 1987, pp. 305–314 (1987)
Aggarwal, A., Chandra, A.K., Snir, M.: Hierarchical memory with block transfer. In: Proc. of IEEE FOCS 1987, pp. 204–216 (1987)
Ailamaki, A., Dewitt, D.J., Hill, M.D., Wood, D.A.: Dbmss on a modern processor: Where does time go. In: Proc. of VLBD (1999)
Alpern, B., Carter, L., Feig, E., Selker, T.: The uniform memory hierarchy model of computation. Algorithmica 12, 72–109 (1994)
Arpaci-Dusseau, A.C., Arpaci-Dusseau, R.H., Culler, D.E., Hellerstein, J.M., Patterson, D.A.: High-performance sorting on networks of workstations. In: Proc. of ACM SIGMOD 1997, vol. 26(2), pp. 243–254 (1997)
Bilardi, G., Ekanadham, K., Pattnaik, P.: Optimal organizations for pipelined hierarchical memories. In: Proc. of ACM SPAA 2002, pp. 109–116 (2002)
Dementiev, R., Sanders, P.: Asynchronous parallel disk sorting. In: Proc. of ACM SPAA 2003, pp. 138–148 (2003)
Dewitt, D.J., Naughton, J.F., Schneider, D.A.: Parallel sorting on a shared-nothing architecture using probabilistic splitting. In: Proc. of PDIS 1991 (1991)
Govindaraju, N.K., Gray, J., Kumar, R., Manocha, D.: Gputerasort: High performance graphics coprocessor sorting for large database management. In: Proc. of ACM SIGMOD ICMD 2006 (2006)
Gray, J.: A measure of transaction processing 20 years later. CoRR, abs/cs/0701162 (2007)
Gray, J., Coates, J., Nyberg, C.: Price/performance sort and 1998 pennysort performance/price sort and pennysort (1998)
Hennessy, J., Hennessy, J.L., Goldberg, D., Patterson, D.A.: Computer Architecture: A Quantitative Approach, 1st edn. Morgan Kaufmann Publishers, San Francisco
Knuth, D.E.: Art of Computer Programming, 2nd edn. Sorting and Searching, vol. 3. Addison-Wesley, Reading (1998)
Lei Yang, Z.W., Huang, H., Song, T.: SheenkSort, Performance/Price Sort and PennySort (2003), http://www.hpl.hp.com/hosted/sortbenchmark/SheenkSort.pdf
Mehlhorn, K., Sanders, P.: Scanning multiple sequences via cache memory. Algorithmica 1(35), 75–93 (2003)
Nodine, M.H., Vitter, J.S.: Greed sort: optimal deterministic sorting on parallel disks. J. ACM 42(4), 919–933 (1995)
Nyberg, C., Barclay, T., Cvetanovic, Z., Gray, J., Lomet, D.B.: Alphasort: A cache-sensitive parallel external sort. VLDB J. 4(4), 603–627 (1995)
Liu, P., Shi, Y., Zhang, L.: 2002 Performance / Price Sort and PennySort (2002), http://www.hpl.hp.com/hosted/sortbenchmark/THsort.pdf
Rahman, N., Cole, R., Raman, R.: Optimised predecessor data structures for internal memory. In: Brodal, G.S., Frigioni, D., Marchetti-Spaccamela, A. (eds.) WAE 2001. LNCS, vol. 2141, pp. 67–78. Springer, Heidelberg (2001)
Ramey, R.: Postman’s Sort, http://www.rrsd.com/
Valiant, L.: A bridging model for parallel computation. Comm. ACM 33(8), 103–111 (1990)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bertasi, P., Bressan, M., Peserico, E. (2009). psort, Yet Another Fast Stable Sorting Software. In: Vahrenhold, J. (eds) Experimental Algorithms. SEA 2009. Lecture Notes in Computer Science, vol 5526. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02011-7_9
Download citation
DOI: https://doi.org/10.1007/978-3-642-02011-7_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02010-0
Online ISBN: 978-3-642-02011-7
eBook Packages: Computer ScienceComputer Science (R0)