1. A computer program product comprising a non-transitory computer readable storage device having a computer readable program stored thereon, wherein the computer readable program when executed on a computer causes the computer to: receive a task at a batch scheduler; generate, at the batch scheduler, a virtual machine corresponding to the task; deploy the virtual machine from the batch scheduler to a compute node; dispatch the task from the batch scheduler to the virtual machine at the compute node so that the virtual machine performs the task; receive, at the batch scheduler, global system information of the compute node from a hypervisor monitoring module that monitors a hypervisor running at the compute node; monitor, with the batch scheduler, a probability of the task at the compute node exceeding a resource reservation for the virtual machine and an additional probability of one or more additional tasks at one or more additional compute nodes exceeding an additional resource reservation for one or more additional virtual machines deployed to the one or more additional compute nodes; and dynamically rebalance, with the batch scheduler, a total load of the virtual machine and the one or more additional virtual machines, based on the global system information of the compute node, the probability of the task at the compute node exceeding the resource reservation, and the probability of the one or more additional compute nodes exceeding the additional resource reservation, by reallocating the task from the virtual machine to one of the one or more additional virtual machines to optimize resource allocation during active processing of at least a portion of the total load.