1. A computer-implemented method, said method comprising: receiving a request to allocate CPU slots, said request associated with one or more instances of an application; identifying a resource group comprising at least two servers having idle CPU slots; determining a value representative of the number of running instances of the application on each server in the resource group; determining a value representative of the number of idle CPU slots on each server in the resource group; sorting servers in the resource group in descending order, excluding servers with no idle CPU slots, by the sum of their values representative of the number of running instances of the application and the number of idle CPU slots to create a list of eligible servers; and allocating one CPU slot at a time from the list of eligible servers sorted in descending order in a round-robin fashion.