1. A method, comprising: receiving, by a host controller machine, configuration and power information of a host machine from a management agent on the host machine, the configuration information comprising a total number of CPU cores on the host machine and a number of active running CPU cores on the host machine; performing, by the host controller machine, a macro-level power saving scheduling algorithm that takes into consideration the received configuration and power information of the host machine; and requesting, by the host controller machine, that the host machine alter the number of active running CPU cores as part of the macro-level power saving scheduling algorithm.