Abstract
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.
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
Anderson, R.: Parallel algorithms for generating random permutations on a shared memory machine. In: Proc. SPAA 1990, pp. 95–102. ACM (1990)
Blelloch, G.E.: Prefix sums and their applications. Tech. Rep. CMU-CS-90-190, School of Computer Science, Carnegie Mellon University (November 1990)
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)
CUDPP – CUDA data parallel primitives library, http://code.google.com/p/cudpp/
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)
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)
Holmes, S.: Bootstrapping Phylogenetic Trees: Theory and Methods. Statistical Science 18(2), 241–255 (2003)
Knuth, D.E.: The art of computer programming, 3rd edn., vol. 2 (1997)
Knuth, D.E.: The art of computer programming, volume 3 (2nd ed.) (1998)
Leighton, F.: Introduction to parallel algorithms and architectures: arrays, trees, hypercubes, vol. (1). M. Kaufmann Publishers (1992)
Meyer, C.: Matrix Analysis and Applied Linear Algebra. SIAM (2000)
NVIDIA: NVIDIA CUDA C programming guide, version 3.2 (2011)
Perron, O.: Zur Theorie der Matrices. Mathematische Annalen 64, 248–263 (1907)
Soltis, P.S., Soltis, D.E.: Applying the bootstrap in phylogeny reconstruction. Statistical Science 18(2), 256–267 (2003)
Waksman, A.: A permutation network. J. ACM 15, 159–163 (1968)
Wu, C.F.J.: Jackknife, bootstrap and other resampling methods in regression analysis. Ann. Statist. 14(4), 1261–1295 (1986)
Zoubir, A.M.: Model selection: A bootstrap approach. In: Proc. ICASSP (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Waechter, M., Hamacher, K., Hoffgaard, F., Widmer, S., Goesele, M. (2012). Is Your Permutation Algorithm Unbiased for n ≠ 2m?. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Waśniewski, J. (eds) Parallel Processing and Applied Mathematics. PPAM 2011. Lecture Notes in Computer Science, vol 7203. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31464-3_30
Download citation
DOI: https://doi.org/10.1007/978-3-642-31464-3_30
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-31463-6
Online ISBN: 978-3-642-31464-3
eBook Packages: Computer ScienceComputer Science (R0)