论文标题

ROMU:快速非线性伪随机编号生成器提供高质量

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

论文作者

Overton, Mark A.

论文摘要

我们介绍了伪随机数生成器(PRNG)的Romu家族,该家族将旋转的非线性操作与乘法的线性操作结合在一起,并添加。与传统的仅线性PRNG相比,这种线性和非线性操作的混合物使用相同数量的算术操作实现了更大程度的随机性。或等效地,它可以实现相同的随机性,而操作较少,从而导致更高的速度。这些发电机的统计属性很强,因为它们通过了BigCrush和Practrand,这是最严格的测试套件。此外,ROMU发电机在现代超级处理器中最大程度地利用了指令级的并行性,当嵌入式时,它们的输出延迟为零,从而为应用程序添加了零延迟。可以创建和测试这些生成器的缩放版本,从而估算全尺寸生成器在随机性下降之前可以提供的最大值数量,从而确保了大型作业的成功。对于常规PRNG而言,这种能力估计很少见。线性PRNG具有一个已知长度的单个循环,该状态几乎包括所有可能的状态。但是,Romu发电机计算这些状态的伪随机排列,创建具有伪随机长度的多个周期,而理论无法确定。但是,创建128个或更多位的状态大小的易度性使得(1)短周期被限制为消失的低概率,以及(2)具有无限概率重叠概率的数千个平行流。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源