Fix the cRUNch TIME smearing engine of CPUCruncher algorithms
Problem:
The Box-Muller transformation of the CPUCruncher run time smearing engine can generate NaN values, which, guess what, result in the maximum possible (imagine long int) values for algorithm run times. Yeah, you got it right: if this happens, you are done with your job..
Why fix it:
CPUCrunchers' are heavily used in the scheduler tests infrastructure as controllable CPU crunching task units .
Note:
Interestingly, I have never encountered these run time 'explosions' on SLCs (likewise, all nightlies don't see this as well). However, on Ubuntu, which is now my primary dev OS, this problem is surprisingly systematic (~95% of jobs have 1 or 2 algorithms exploding).
Fix:
Dodge log(0) cases by generating a new random number pair.