1. A method for balancing virtual machine loads comprises: monitoring load information of each of physical hosts and virtual machines operating on said physical hosts; calculating load index of each of said physical hosts and said virtual machines operating on said physical hosts respectively according to said load information; based on load index of each physical hosts, determining a source physical host on which any virtual machine needs to be migrated so as to reduce the load index of the source physical host; determining a target virtual machine to be migrated on the source physical host based on load index of each virtual machines on the source physical host and respective affinity factor indicating a degree of dependency of a virtual machine on a physical host on which it resides; and migrating the target virtual machine into a destination physical host different than the source physical host.