1. A method for managing resources for a first application comprising a distributed computing application, the method comprising: receiving a first performance metric for a host computer having a first plurality of virtual machines (VMs) controlled by the distributed computing application and a second plurality of VMs controlled by a second application; determining a state of resource contention between the distributed computing application and the second application based on the first performance metric; modifying an allocation of task slots associated with the host computer based on the first performance metric, wherein each task slot represents a capability to handle a unit of work for the distributed computing application; and transmitting the modified allocation of task slots to a scheduler, wherein the scheduler is configured to assign a plurality of tasks to be executed in the first plurality of VMs controlled by the distributed computing application based on the modified allocation of task slots.