1. A system for scheduling jobs, said system comprising: a plurality of interconnected compute nodes defining a cluster of compute nodes, the cluster including a NameNode and a multitude of DataNodes; the NameNode including at least one processor programmed to: schedule execution of a plurality of tasks on compute nodes of the cluster; receive state information variables of the compute nodes; determine if the state variables indicate that a current model of the capabilities of the compute nodes are no longer correct; if the state variables show that the current model is no longer correct, schedule a specific plurality of tasks onto the compute nodes for which a model discrepancy has been detected in order to obtain specific observations that allow for efficiently updating the model of that compute node.