Skip to main content

Engineering Parallel In-Place Random Generation of Integer Permutations

  • Conference paper
Book cover Experimental Algorithms (WEA 2008)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5038))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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

    Article  Google Scholar 

  2. 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)

    Google Scholar 

  3. 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

    Chapter  Google Scholar 

  4. 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)

    Google Scholar 

  5. Czumaj, A., Kanarek, P., Kutylowski, M., Lorys, K.: Fast generation of random permutations via networks simulation. Algorithmica 21(1), 2–20 (1998)

    Article  MATH  MathSciNet  Google Scholar 

  6. Durstenfeld, R.: Algorithm 235: Random permutation. Commun. ACM, 420 (1964)

    Google Scholar 

  7. Dwass, M.: Modified randomization tests for nonparametric hypotheses. Annals of Mathematical Statistics 28, 181–187 (1957)

    Article  MathSciNet  Google Scholar 

  8. 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)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. Gustedt, J.: Efficient Sampling of Random Permutations. Journal of Discrete Algorithms 6(1), 125–139 (2008), http://hal.inria.fr/inria-00000900/en/

    Article  Google Scholar 

  11. Gustedt, J.: Sublinear Communication for Integer Permutations. Technical Report RR-6403, INRIA (December 2007), http://hal.inria.fr/inria-00201503/en/

  12. 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)

    Chapter  Google Scholar 

  13. Knuth, D.E.: The Art of Computer Programming. Seminumerical Algorithms, 1st edn., vol. 2. Addison-Wesley, Reading (1981)

    Google Scholar 

  14. 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

  15. Moses, L.E., Oakford, R.V.: Tables of Random Permutations. Stanford University Press (1963)

    Google Scholar 

  16. 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

    Article  Google Scholar 

  17. Sanders, P.: Random permutations on distributed, external and hierarchical memory. Inf. Process. Lett. 67(6), 305–309 (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Catherine C. McGeoch

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics