1. A virtual infrastructure comprising: a plurality of applications; and a management server comprising a processor configured to: generate a matrix that represents a mapping of said plurality of applications to a plurality of hosts; calculate a first imbalance metric of the matrix; identity a plurality of candidate migrations of said plurality of applications; for each of the plurality of candidate migrations, alter the matrix to represent the candidate migration and calculate a candidate imbalance metric based on a standard deviation of the altered matrix; determine a cost and a benefit for each of the plurality of candidate migrations; and determine which of the plurality of candidate migrations to perform based at least in part on the following: the candidate imbalance metric for each of the plurality of candidate migrations and the first imbalance metric, and whether the determined benefit is greater than the determined cost.