The idea here is that we can set the tester so that, say, it only picks 4 compilers out of 8 for each perturbed plan, and randomly samples to get down to that number. Why? I'm thinking of a few reasons:
Reduces the amount of times cycles pick problematic compilers, such as gcc4 and clang3, without actually removing them from play;
Increases the effective turnover of fuzzer outputs, while keeping the possibility of differential-ish testing by having an adjustable amount of duplicate assignment of compilers to test subjects (this is useful for sniffing out fuzzer bugs!);
Shortens compile cycles (though this could also be mitigated by improving the compiler parallelism), increasing the amount of machine node usage.
A disadvantage is that anything that reduces the size of cycles increases the amount of SFTP pushes and pulls needed.
The idea here is that we can set the tester so that, say, it only picks 4 compilers out of 8 for each perturbed plan, and randomly samples to get down to that number. Why? I'm thinking of a few reasons:
A disadvantage is that anything that reduces the size of cycles increases the amount of SFTP pushes and pulls needed.