@Article{Langr:2014:APP, author = "Daniel Langr and Pavel Tvrd\'{i}k and Tom\'{a}\v{s} Dytrych and Jerry P. Draayer", title = "Algorithm 947: Paraperm: Parallel Generation of Random Permutations with MPI", journal = "{ACM} Transactions on Mathematical Software", volume = 41, number = 1, accepted = "2 December 2013", upcoming = "true", abstract = " An algorithm for parallel generation of a random permutation of a large set of distinct integers is presented. This algorithm is designed for massively parallel systems with distributed memory architectures and the MPI-based runtime environments. Scalability of the algorithm is analyzed according to the memory and communication requirements. An implementation of the algorithm in a form of a software library based on the C++ programming language and the MPI application programming interface is further provided. Finally, performed experiments are described and their results discussed. The biggest of these experiments resulted in a generation of a random permutation of 2 41 integers in slightly more than four minutes using 131072 CPU cores.", }