An important fundament of science is to guarantee reproducibility of results. However, the Gnutella system does not allow providing nodes with different initial parameters; all packets addressed to the nodes contain the same command string. Therefore, it is not possible to pass a different, initial seed for the pseudo-random generator [19] to the nodes. Assuming it would be possible to pass different initial seeds to the nodes, reproducibility of results would be ensured by passing the same seeds to the same nodes each time.
GPU solves the issue as follows: each time a new GPU is installed and executed for the first time, the standard Delphi generator is seeded with the clock (with millisecond resolution) and date. Using this random generator, a seed file with 256 words is generated and stored in a file, once. Each new GPU gets in this way another seed file with high probability, unless they are installed on the same millisecond.
ISAAC[19] is a powerful pseudo-random generator implemented in
Reproducibility of results on one machine, not connected to other machines, is therefore guaranteed.
Ensuring reproducibility of results in GPU while running on a network requires more work: we have to ensure all GPUs are started afresh; we have to know the seed file for each node and we have to connect GPUs with each other in the same manner we did before. Consequently, reproducibility of results is theoretically possible, although different operating system load might introduce an additional uncertainty in how jobs spread in the network.