京都大学 / 学術情報メディアセンター 連携研究部門 情報セキュリティ分野 教授
TinyMT Pseudo Random Number Generator for Erlang | Erlang'12: Proceedings of the 2012 ACM SIGPLAN Erlang Workshop
This paper is a case study of implementing Tiny Mersenne Twister (TinyMT) pseudo random number generator (PRNG) for Erlang. TinyMT has a longer generation period (2127 − 1) than the stock implementation of Erlang/OTP random module. TinyMT can generate multiple independent number streams by choosing different generation parameters, which is suitable for parallel generation. Our test results of the pure Erlang implementation show the execution time of RNG generating integers with TinyMT is approximately two to six times slower of that with the stock random module. Additional implementation with Native Interface Functions (NIFs) improved the execution speed to approximately three times as faster than that of the random module. The results suggest TinyMT will be a good candidate as an alternative PRNG for Erlang, regarding the increased period of the RNG and the benefit of generating parallel independent random number streams. DOI:https://dl.acm.org/doi/10.1145/2364489.2364504 Slide:https://78462f86-a-ead0782a-s-sites.googlegroups.com/a/k2r.org/www/kenji/papers/file-archive/erlang2012-rikitake-tinymt-20120902.pdf?attachauth=ANoY7cqDSSgez4R6TsDTWH_q3rqCJ1nf7VLSSv3J6IfAGt_4i8fgNJBa8Gr_MG0TBIFB7tUklFaCKcoQz0kWPr5xhip2ySy_ZXZCU2Eox4oiEUQlXfq1x2pRNmsCsePXpyb-Cv6Bb2HJt726yAGGbCfVdNn2nM3Mbyx3QytDZEOHyrJZSe4igRpCFV9OhC_MciWoVKgFQaV7EI0OeGR0Y8GMM-YsAIu_TfAV_zxNIo0-8d6nTBTz-TyJQXd1LehcpO4cQLae5QE6bYXg3jWRApu2YzNocLnyVg%3D%3D&attredirects=0