Next: Sample Codes Up: The Benchmarks: A Previous: The Eight Benchmark

The Embarrassingly Parallel Benchmark

In order to give the reader a flavor of the problem descriptions in [6], a detailed definition will be given for the first problem, the ``embarrassingly parallel'' benchmark:

Set and . Generate the pseudorandom floating point values in the interval (0, 1) for using the scheme described below. Then for set and . Thus and are uniformly distributed on the interval .

Next set , and beginning with , test to see if . If not, reject this pair and proceed to the next . If this inequality holds, then set and , where denotes the natural logarithm. Then and are independent Gaussian deviates with mean zero and variance one. Approximately pairs will be constructed in this manner.

Finally, for tabulate as the count of the pairs that lie in the square annulus , and output the ten counts. Each of the ten counts must agree exactly with reference values.

The uniform pseudorandom numbers mentioned above are to be generated according to the following scheme: Set and let be the specified initial ``seed''. Generate the integers for using the linear congruential recursion

and return the numbers as the results. Observe that and the are very nearly uniformly distributed on the unit interval.

An important feature of this pseudorandom number generator is that any particular value of the sequence can be computed directly from the initial seed by using the binary algorithm for exponentiation, taking remainders modulo after each multiplication. The importance of this property for parallel processing is that numerous separate segments of a single, reproducible sequence can be generated on separate processors of a multiprocessor system. Many other widely used schemes for pseudorandom number generation do not possess this important property.

Additional information and references for this benchmark problem are given in [6].

Next: Sample Codes Up: The Benchmarks: A Previous: The Eight Benchmark