1. A method, in a data processing system, for performing approximate run-ahead computations, comprising: selecting a first group of compute engines, from a pool of compute engines, to execute full computations on a full set of input data; selecting a second group of compute engines, from the pool of compute engines, to execute computations on a sampled subset of the input data; selecting a third group of compute engines, from the pool of compute engines, to compute a difference in computation results between first computation results generated by the first group of compute engines and second computation results generated by the second group of compute engines; and reconfiguring the second group of compute engines based on the difference generated by the third group of compute engines at least by modifying a number of compute engines selected to be part of the second group of compute engines, wherein the second group of compute engines comprises a number of compute engines that is smaller in number than a number of compute engines in the first group of compute engines.