Parallel Partition Revisited

  • Leonor Frias
  • Jordi Petit
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5038)


In this paper we consider parallel algorithms to partition an array with respect to a pivot. We focus on implementations for current widely available multi-core architectures. After reviewing existing algorithms, we propose a modification to obtain the minimal number of comparisons. We have implemented these algorithms and drawn an experimental comparison.


Parallel Time Tree Data Structure Parallel Phase Left Block Splitting Position 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Heidelberger, P., Norton, A., Robinson, J.T.: Parallel quicksort using fetch-and-add. IEEE Trans. Comput. 39(1), 133–138 (1990)CrossRefGoogle Scholar
  2. 2.
    Francis, R.S., Pannan, L.J.H.: A parallel partition for enhanced parallel quicksort. Parallel Computing 18(5), 543–550 (1992)CrossRefzbMATHGoogle Scholar
  3. 3.
    Tsigas, P., Zhang, Y.: A simple, fast parallel implementation of quicksort and its performance evaluation on SUN enterprise 10000. In: 11th Euromicro Workshop on Parallel, Distributed and Network-Based Processing (PDP 2003), pp. 372–381 (2003)Google Scholar
  4. 4.
    Liu, J., Knowles, C., Davis, A.: A cost optimal parallel quicksorting and its implementation on a shared memory parallel computer. In: Pan, Y., Chen, D.-x., Guo, M., Cao, J., Dongarra, J. (eds.) ISPA 2005. LNCS, vol. 3758, pp. 491–502. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Singler, J., Sanders, P., Putze, F.: The Multi-Core Standard Template Library. In: Kermarrec, A.-M., Bougé, L., Priol, T. (eds.) Euro-Par 2007. LNCS, vol. 4641, pp. 682–694. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  6. 6.
    International Standard ISO/IEC 14882: Programming languages — C++. 1st edn. American National Standard Institute (1998)Google Scholar
  7. 7.
    Gottlieb, A., Grishman, R., Kruskal, C.P., McAuliffe, K.P., Rudolph, L., Snir, M.: The NYU ultracomputer - designing a MIMD, shared-memory parallel machine. In: ISCA 1998: 25 years of the international symposia on Computer architecture (selected papers), pp. 239–254. ACM Press, New York, NY, USA (1998)CrossRefGoogle Scholar
  8. 8.
    Cormen, T.H., Leiserson, C., Rivest, R., Stein, C.: Introduction to algorithms, 2nd edn. The MIT Press, Cambridge (2001)zbMATHGoogle Scholar
  9. 9.
    Kumar, V.: Introduction to Parallel Computing. Addison-Wesley, Boston, MA, USA (2002)Google Scholar
  10. 10.
    JáJá, J.: An introduction to parallel algorithms. Addison-Wesley, Redwood City, CA, USA (1992)zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Leonor Frias
    • 1
  • Jordi Petit
    • 1
  1. 1.Departament de Llenguatges i Sistemes InformáticsUniversitat Politécnica de Catalunya 

Personalised recommendations