Data centers usually have a heterogeneous setup with servers of various configurations provided by different vendors. The performance of servers depends not only on the CPU speed but also on the processor architecture and server architecture. Consider a data center having two models of x64 servers - HP Proliant DL 350 and HP Proliant DL 380. An application that is consuming 1 GHz CPU speed on the HP Proliant DL 350 server may not consume 1 GHz speed on the HP Proliant DL 380 server. During the placement of VMs on the VM hosts, it becomes essential to compare the overall performance of different models of servers and not just CPU speed.
For the purpose of comparing servers to recommend optimal VM placement options, it is necessary to normalize the CPU speed of the servers across the data center. SHO uses SPECint2006Rate CPU numbers for the normalization of CPU speed. The SPECint numbers are industry standard performance benchmark numbers published by Standard Performance Evaluation Corporation (SPEC). For more information on the SPECint numbers, see www.spec.org.
While defining an optimization scenario you can choose to enable SHO to use SPECint numbers for normalization of CPU speed. SHO defines a reference host system with a standard configuration. Before running the optimization scenario, SHO expresses the CPU speed of all the VM hosts and CPU usage in GHz of all the VMs in terms of CPU performance of reference host. This process is called CPU normalization. The CPU speeds of servers are normalized by using the SPECint CPU numbers of the servers relative to the SPECint number of the reference host system.
The normalized CPU speed calculation for VMs and VM hosts is done as follows:
Normalized CPU capacity (in GHz) of VM host = (SPEC CPU number of VM host / SPEC CPU number of reference host) * CPU capacity in GHz
Normalized CPU utilization (in GHz) of VM = (SPEC CPU number of current host of VM / SPEC CPU number of reference host) * CPU usage in GHz
The normalized CPU speeds are considered for recommending the migration of VMs and optimally placing them on VM hosts. Normalized CPU capacity of VM Hosts and normalized CPU usage of VMs are then passed on to the SHO VM placement engine for optimal VM placement recommendation. After obtaining the VM placement recommendation from the VM placement engine for each VM, SHO expresses the CPU utilization (in GHz) in terms of performance of corresponding recommended VM hosts. This process is called CPU de-normalization and is calculated as follows:
De-normalized CPU utilization (in GHz) of VM = (SPEC CPU number of reference host / SPEC CPU number of target VM host) * CPU utilization in GHz
Example
Consider a VM named VM1 with CPU utilization of 2 GHz running on VM Host 1 of server model X. It has four cores with CPU speed of 1 GHz. There is another VM Host 2 of server model Y which also has four cores with CPU speed of 1GHz. SHO considers SPECint CPU numbers to recommend the migration from VM Host 1 to VM Host 2.
According to the SPECint CPU numbers, it is seen that VM Host 1 is 10 percent faster than VM Host 2. This implies that the CPU speed of 1GHz on VM Host 1 is equivalent to CPU speed of 1.1GHz on VM Host 2. Therefore, it is expected that if VM1 is migrated from VM Host 1 to VM Host 2, it will utilize 2.2 GHz on VM Host 2. SHO considers this effective CPU utilization to recommend the VM migration as shown in the following figure.