Abstract
We tackle the feasibility and efficiency of two new parallel algorithms that sample random permutations of the integers [M] = {1, ..., M}. The first reduces the communication for p processors from O(M) words (O(M logM) bits, the coding size of the permutation) to O(M logp / logM) words (O(M logp) bits, the coding size of a partition of [M] into M / p sized subsets). The second exploits the common case of using pseudo-random numbers instead of real randomness. It reduces the communication even further to a use of bandwidth that is proportional to the used real randomness. Careful engineering of the required subroutines is necessary to obtain a competitive implementation. Especially the second approach shows very good results which are demonstrated by large scale experiments. It shows high scalability and outperforms the previously known approaches by far. First, we compare our algorithm to the classical sequential data shuffle algorithm, where we get a speedup of about 1.5. Then, we show how the algorithm parallelizes well on a multicore system and scales to a cluster of 440 cores.
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
Alpert, C.J., Huang, J.H., Kahng, A.B.: Multilevel circuit partitioning. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 17(8), 655–667 (1998), http://vlsicad.ucsd.edu/Publications/Journals/j34.pdf
Anderson, R.J.: Parallel algorithms for generating random permutations on a shared memory machine. In: Proceedings of the second annual ACM symposium on Parallel algorithms and architectures (SPAA 1990), pp. 95–102. ACM, New York (1990)
Cohen, E.: Estimating the size of the transitive closure in linear time. In: Goldwasser, S. (ed.) 35th Annual Symposium on Foundations of Computer Science, Santa Fe, New Mexico, USA, 20-22 November 1994, pp. 190–200. IEEE, Los Alamitos (1994), http://csdl2.computer.org/comp/proceedings/sfcs/1994/6580/00/0365694.pdf
Cong, G., Bader, D.A.: An empirical analysis of parallel random permutation algorithms on SMPs. In: Proc. 18th ISCA International Conference on Parallel and Distributed Computing Systems (PDCS 2005) (2005)
Czumaj, A., Kanarek, P., Kutylowski, M., Lorys, K.: Fast generation of random permutations via networks simulation. Algorithmica 21(1), 2–20 (1998)
Durstenfeld, R.: Algorithm 235: Random permutation. Commun. ACM, 420 (1964)
Dwass, M.: Modified randomization tests for nonparametric hypotheses. Annals of Mathematical Statistics 28, 181–187 (1957)
Goodrich, M.T.: Randomized fully-scalable BSP techniques for multi-searching and convex hull construction. In: Saks, M., et al. (eds.) Proceedings of the eighth annual ACM-SIAM Symposium on Discrete Algorithms, pp. 767–776. SIAM, Society of Industrial and Applied Mathematics, Philadelphia (1997)
Guérin Lassous, I., Thierry, É.: Generating random permutations in the framework of parallel coarse grained models. In: Proceedings of OPODIS 2000. Studia Informatica Universalis, vol. 2, pp. 1–16 (2000)
Gustedt, J.: Efficient Sampling of Random Permutations. Journal of Discrete Algorithms 6(1), 125–139 (2008), http://hal.inria.fr/inria-00000900/en/
Gustedt, J.: Sublinear Communication for Integer Permutations. Technical Report RR-6403, INRIA (December 2007), http://hal.inria.fr/inria-00201503/en/
Gustedt, J.: Randomized Permutations in a Coarse Grained Parallel Environment [extended abstract]. In: der Heide, F.M.a. (ed.) Fifteenth Annual ACM Symposium on Parallelism in Algorithms and Architectures (SPAA 2003), San Diego, CA, June 2003, pp. 248–249. ACM Press, New York (2003)
Knuth, D.E.: The Art of Computer Programming. Seminumerical Algorithms, 1st edn., vol. 2. Addison-Wesley, Reading (1981)
Martin, G.N.N.: Range encoding: an algorithm for removing redundancy from a digitised message. In: The Video & Data Recording Conference, Southampton, UK (March 1979), http://www.compressconsult.com/rangecoder/rngcod.pdf.gz
Moses, L.E., Oakford, R.V.: Tables of Random Permutations. Stanford University Press (1963)
Nichols, T.E., Holmes, A.P.: Nonparametric permutation tests for functional neuroimaging: A primer with examples. Human Brain Mapping 15, 1–25 (2001), http://www.fil.ion.ucl.ac.uk/spm/doc/papers/NicholsHolmes.pdf
Sanders, P.: Random permutations on distributed, external and hierarchical memory. Inf. Process. Lett. 67(6), 305–309 (1998)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gustedt, J. (2008). Engineering Parallel In-Place Random Generation of Integer Permutations . In: McGeoch, C.C. (eds) Experimental Algorithms. WEA 2008. Lecture Notes in Computer Science, vol 5038. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-68552-4_10
Download citation
DOI: https://doi.org/10.1007/978-3-540-68552-4_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-68548-7
Online ISBN: 978-3-540-68552-4
eBook Packages: Computer ScienceComputer Science (R0)