Is Your Permutation Algorithm Unbiased for n ≠ 2m?

  • Michael Waechter
  • Kay Hamacher
  • Franziska Hoffgaard
  • Sven Widmer
  • Michael Goesele
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7203)


Many papers on parallel random permutation algorithms assume the input size n to be a power of two and imply that these algorithms can be easily generalized to arbitrary n. We show that this simplifying assumption is not necessarily correct since it may result in a bias. Many of these algorithms are, however, consistent, i.e., iterating them ultimately converges against an unbiased permutation. We prove this convergence along with proving exponential convergence speed. Furthermore, we present an analysis of iterating applied to a butterfly permutation network, which works in-place and is well-suited for implementation on many-core systems such as GPUs. We also show a method that improves the convergence speed even further and yields a practical implementation of the permutation network on current GPUs.


parallel random permutation butterfly network bias consistency GPU 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Anderson, R.: Parallel algorithms for generating random permutations on a shared memory machine. In: Proc. SPAA 1990, pp. 95–102. ACM (1990)Google Scholar
  2. 2.
    Blelloch, G.E.: Prefix sums and their applications. Tech. Rep. CMU-CS-90-190, School of Computer Science, Carnegie Mellon University (November 1990)Google Scholar
  3. 3.
    Cong, G., Bader, D.A.: An empirical analysis of parallel random permutation algorithms on SMPs. In: Oudshoorn, M.J., Rajasekaran, S. (eds.) ISCA PDCS, pp. 27–34 (2005)Google Scholar
  4. 4.
    CUDPP – CUDA data parallel primitives library,
  5. 5.
    Czumaj, A., Kanarek, P., Kutylowski, M., Lorys, K.: Fast Generation of Random Permutations via Networks Simulation. In: Díaz, J. (ed.) ESA 1996. LNCS, vol. 1136, pp. 246–260. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  6. 6.
    Hagerup, T.: Fast Parallel Generation of Random Permutations. In: Leach Albert, J., Monien, B., Rodríguez-Artalejo, M. (eds.) ICALP 1991. LNCS, vol. 510, pp. 405–416. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  7. 7.
    Holmes, S.: Bootstrapping Phylogenetic Trees: Theory and Methods. Statistical Science 18(2), 241–255 (2003)MathSciNetCrossRefGoogle Scholar
  8. 8.
    Knuth, D.E.: The art of computer programming, 3rd edn., vol. 2 (1997)Google Scholar
  9. 9.
    Knuth, D.E.: The art of computer programming, volume 3 (2nd ed.) (1998)Google Scholar
  10. 10.
    Leighton, F.: Introduction to parallel algorithms and architectures: arrays, trees, hypercubes, vol. (1). M. Kaufmann Publishers (1992)Google Scholar
  11. 11.
    Meyer, C.: Matrix Analysis and Applied Linear Algebra. SIAM (2000)Google Scholar
  12. 12.
    NVIDIA: NVIDIA CUDA C programming guide, version 3.2 (2011)Google Scholar
  13. 13.
    Perron, O.: Zur Theorie der Matrices. Mathematische Annalen 64, 248–263 (1907)MathSciNetzbMATHCrossRefGoogle Scholar
  14. 14.
    Soltis, P.S., Soltis, D.E.: Applying the bootstrap in phylogeny reconstruction. Statistical Science 18(2), 256–267 (2003)MathSciNetCrossRefGoogle Scholar
  15. 15.
    Waksman, A.: A permutation network. J. ACM 15, 159–163 (1968)MathSciNetzbMATHCrossRefGoogle Scholar
  16. 16.
    Wu, C.F.J.: Jackknife, bootstrap and other resampling methods in regression analysis. Ann. Statist. 14(4), 1261–1295 (1986)MathSciNetzbMATHCrossRefGoogle Scholar
  17. 17.
    Zoubir, A.M.: Model selection: A bootstrap approach. In: Proc. ICASSP (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Michael Waechter
    • 1
  • Kay Hamacher
    • 2
  • Franziska Hoffgaard
    • 2
  • Sven Widmer
    • 1
  • Michael Goesele
    • 1
  1. 1.GRIS, TU DarmstadtGermany
  2. 2.Bioinformatics and Theoretical BiologyTU DarmstadtGermany

Personalised recommendations