{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,8,28]],"date-time":"2024-08-28T19:52:07Z","timestamp":1724874727392},"reference-count":35,"publisher":"Cambridge University Press (CUP)","license":[{"start":{"date-parts":[[2015,6,17]],"date-time":"2015-06-17T00:00:00Z","timestamp":1434499200000},"content-version":"unspecified","delay-in-days":167,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Funct. Prog."],"published-print":{"date-parts":[[2015]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Pseudo-random number generation is a fundamental problem in computer programming. In the case of sequential processing the problem is very well researched, but parallel processing raises new problems whereof far too little is currently understood. Splittable pseudo-random generators (S-PRNG) have been proposed to meet the challenges of parallelism. While applicable to any programming paradigm, they are designed to be particularly suitable for pure functional programming. In this paper, we review and evaluate known constructions of such generators, and we identify flaws in several large classes of generators, including Lehmer trees, the implementation in Haskell's standard library, leapfrog, and subsequencing (substreaming).<\/jats:p>","DOI":"10.1017\/s095679681500012x","type":"journal-article","created":{"date-parts":[[2015,7,21]],"date-time":"2015-07-21T10:45:57Z","timestamp":1437475557000},"source":"Crossref","is-referenced-by-count":5,"title":["Evaluation of splittable pseudo-random generators"],"prefix":"10.1017","volume":"25","author":[{"given":"HANS GEORG","family":"SCHAATHUN","sequence":"first","affiliation":[]}],"member":"56","published-online":{"date-parts":[[2015,6,17]]},"reference":[{"key":"S095679681500012X_ref17","doi-asserted-by":"publisher","DOI":"10.1145\/62959.62969"},{"key":"S095679681500012X_ref24","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-8191(98)00010-6"},{"key":"S095679681500012X_ref18","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-21551-3_3"},{"key":"S095679681500012X_ref12","doi-asserted-by":"publisher","DOI":"10.1016\/0021-9991(89)90180-0"},{"key":"S095679681500012X_ref2","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796800000320"},{"key":"S095679681500012X_ref19","doi-asserted-by":"publisher","DOI":"10.1145\/1268776.1268777"},{"key":"S095679681500012X_ref20","doi-asserted-by":"publisher","DOI":"10.1287\/opre.50.6.1073.358"},{"key":"S095679681500012X_ref29","doi-asserted-by":"publisher","DOI":"10.1145\/63039.63042"},{"key":"S095679681500012X_ref14","volume-title":"The Art of Computer Programming, vol. 2: Seminumerical Algorithms","author":"Knuth","year":"1998"},{"key":"S095679681500012X_ref9","doi-asserted-by":"publisher","DOI":"10.1016\/0377-0427(90)90336-X"},{"key":"S095679681500012X_ref1","unstructured":"Brown R. G. (2015 January) Dieharder: A Random Number Test Suite. Software. Available from http:\/\/www.phy.duke.edu\/~rgb\/General\/dieharder.php."},{"key":"S095679681500012X_ref32","unstructured":"Schaathun H. G. (2014) Parallell slump (Om \u00e5 parallellisera genetiske algoritmar i Haskell) Norsk informatikkonferanse. Open access at: http:\/\/ojs.bibsys.no\/index.php\/NIK\/index. ISSN 1892-0721."},{"key":"S095679681500012X_ref7","first-page":"279","volume-title":"Proceedings of the 7th SIAM Conference on Parallel Processing for Scientific Computing","author":"Cuccaro","year":"1995"},{"key":"S095679681500012X_ref27","volume-title":"Handbook of Applied Cryptography","author":"Menezes","year":"1997"},{"key":"S095679681500012X_ref16","doi-asserted-by":"publisher","DOI":"10.1016\/0196-6774(92)90054-G"},{"key":"S095679681500012X_ref11","unstructured":"Hackage. (2011) The Random Package. Haskell Random Number Library. Documentation. Accessed 2015-01-16. Online at: http:\/\/hackage.haskell.org\/package\/random-1.1."},{"key":"S095679681500012X_ref10","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-8191(84)90072-3"},{"key":"S095679681500012X_ref30","doi-asserted-by":"publisher","DOI":"10.1016\/0743-7315(89)90002-6"},{"key":"S095679681500012X_ref3","unstructured":"Bye R. T. & Schaathun H. G. (2014) An improved receding horizon genetic algorithm for the tug fleet optimisation problem. In Proceedings of the 28th European Conference on Modelling and Simulation (ECMS 2014). ECMS European Council for Modelling and Simulation, pp. 682\u2013690."},{"key":"S095679681500012X_ref34","first-page":"135","article-title":"Synchronization of random number generators.","volume":"37","author":"Warnock","year":"1983","journal-title":"Congressus Numerantium"},{"key":"S095679681500012X_ref22","volume-title":"Parallel and Concurrent Programming in Haskell","author":"Marlow","year":"2013"},{"key":"S095679681500012X_ref21","doi-asserted-by":"publisher","DOI":"10.1145\/2370036.2145841"},{"key":"S095679681500012X_ref23","doi-asserted-by":"publisher","DOI":"10.1073\/pnas.61.1.25"},{"key":"S095679681500012X_ref25","first-page":"56","volume-title":"In Monte Carlo and quasi-Monte Carlo Methods, 1998: Proceedings of a Conference Held at the Claremont Graduate University, June 22\u201326","author":"Matsumoto","year":"1998"},{"key":"S095679681500012X_ref26","doi-asserted-by":"publisher","DOI":"10.1145\/1276927.1276928"},{"key":"S095679681500012X_ref31","doi-asserted-by":"crossref","unstructured":"Salmon J. K. , Moraes M. A. , Dror R. O. & Shaw D. E. (2011) Parallel random numbers: As easy as 1, 2, 3. In High performance computing, networking, storage and analysis (SC11), 2011 International conference for. ACM, pp. 1\u201312.","DOI":"10.1145\/2063384.2063405"},{"key":"S095679681500012X_ref33","doi-asserted-by":"publisher","DOI":"10.1145\/2714064.2660195"},{"key":"S095679681500012X_ref35","doi-asserted-by":"publisher","DOI":"10.1016\/j.cpc.2004.08.009"},{"key":"S095679681500012X_ref28","volume-title":"Real World Haskell","author":"O'Sullivan","year":"2008"},{"key":"S095679681500012X_ref8","doi-asserted-by":"publisher","DOI":"10.1016\/0167-8191(90)90108-L"},{"key":"S095679681500012X_ref6","unstructured":"Claessen K. & Pa\u0142ka M. H. (2013b) The tf-Random Package. Accessed 2015-01-15. Online at: https:\/\/hackage.haskell.org\/package\/tf-random."},{"key":"S095679681500012X_ref13","doi-asserted-by":"publisher","DOI":"10.1016\/S0021-9800(67)80075-9"},{"key":"S095679681500012X_ref5","doi-asserted-by":"publisher","DOI":"10.1145\/2503778.2503784"},{"key":"S095679681500012X_ref4","doi-asserted-by":"publisher","DOI":"10.1145\/76372.76379"},{"key":"S095679681500012X_ref15","doi-asserted-by":"publisher","DOI":"10.1016\/0021-9991(89)90072-7"}],"container-title":["Journal of Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S095679681500012X","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,6,7]],"date-time":"2019-06-07T02:29:11Z","timestamp":1559874551000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S095679681500012X\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015]]},"references-count":35,"alternative-id":["S095679681500012X"],"URL":"https:\/\/doi.org\/10.1017\/s095679681500012x","relation":{},"ISSN":["0956-7968","1469-7653"],"issn-type":[{"value":"0956-7968","type":"print"},{"value":"1469-7653","type":"electronic"}],"subject":[],"published":{"date-parts":[[2015]]},"article-number":"e6"}}