Romu: Fast Nonlinear Pseudo-Random Number Generators Providing High Quality

02/26/2020
by   Mark A. Overton, et al.
0

We introduce the Romu family of pseudo-random number generators (PRNGs) which combines the nonlinear operation of rotation with the linear operations of multiplication and (optionally) addition. Compared to conventional linear-only PRNGs, this mixture of linear and nonlinear operations achieves a greater degree of randomness using the same number of arithmetic operations. Or equivalently, it achieves the same randomness with fewer operations, resulting in higher speed. The statistical properties of these generators are strong, as they pass BigCrush and PractRand – the most stringent test suites available. In addition, Romu generators take maximum advantage of instruction-level parallelism in modern superscalar processors, giving them an output latency of zero clock-cycles when inlined, thus adding no delay to an application. Scaled-down versions of these generators can be created and tested, enabling one to estimate the maximum number of values the full-size generators can supply before their randomness declines, ensuring the success of large jobs. Such capacity-estimates are rare for conventional PRNGs. A linear PRNG has a single cycle of states of known length comprising almost all possible states. However, a Romu generator computes pseudo-random permutations of those states, creating multiple cycles with pseudo-random lengths which cannot be determined by theory. But the ease of creating state-sizes of 128 or more bits allows (1) short cycles to be constrained to vanishingly low probabilities, and (2) thousands of parallel streams to be created having infinitesimal probabilities of overlap.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/26/2019

Again, random numbers fall mainly in the planes: xorshift128+ generators

Xorshift128+ are pseudo random number generators with eight sets of para...
research
05/08/2017

A revision of the subtract-with-borrow random number generators

The most popular and widely used subtract-with-borrow generator, also kn...
research
05/03/2018

Scrambled Linear Pseudorandom Number Generators

Linear pseudorandom number generators are very popular due to their high...
research
07/07/2019

Pseudo random number generators: attention for a newly proposed generator

Xorshift128+ is a newly proposed pseudo random number generator (PRNG), ...
research
09/10/2019

High-performance Cryptographically Secure Pseudo-random Number Generation via Bitslicing

In this paper, a high-throughput Cryptographically Secure Pseudo-Random ...
research
04/01/2017

The Stochastic Processes Generation in OpenModelica

Background: Component-based modeling language Modelica (OpenModelica is ...
research
10/27/2020

Integer undirected graphical models for resource-constrained systems

Machine learning on resource-constrained ubiquitous devices suffers from...

Please sign up or login with your details

Forgot password? Click here to reset