1. A method for managing tasks for a virtual machine, the method comprising: responsive to receiving a request to perform a task for the virtual machine in a set of data processing systems, identifying an amount of resources to perform the task for the virtual machine; identifying a set of resources in the set of data processing systems available to complete the task for the virtual machine; identifying a set of priorities for a set of phases of the task; and scheduling operations on the set of resources to perform the task for the virtual machine based on the set of priorities identified for the set of phases of the task.