Product Support > SPECvirt_sc2013

SPECvirt_sc2013 benchmark results using performance metric


According to the FAQ on the SPEC website, SPECvirt_sc2013 is expressed as "SPECvirt_sc2013 @ <5*Number_of_Tiles + Number_of_DBservers> VMs".

As I understand, the right-hand side expression denotes the number of VMs utilized on the virtualized SUT (System Under Test), at peak performance.

However, examining for example the benchmark results for Hangzhou H3C Technologies Co., Ltd UIS R390, the score is SPECvirt_sc2013 638.6 @ 37 VMs.

The physical host has a processor with 32 threads, i.e. logical processors (16 cores x 2 threads per core). The VMs on the host are configured as follows: 1. Web Server VM: 2 vCPUs 2. App Server VM: 3 vCPUs 3. Mail Server VM: 1 vCPU 4. Batch Server VM: 1 vCPU 5. Infraserver VM: 1 vCPU

Total: 8 vCPUs

All of the above VMs are required for the execution of 1 tile. Furthermore, for each set of 4 tiles, a DB server VM is required, which is configured as follows: - DB Server VM: 6 vCPUs

According to the benchmark result, at peak performance 37 VMs are utilized, of which 2 are DM Server VMs, which means:

7 tiles * (Web Server VM + App Server VM + Mail Server VM + Batch Server VM + Infraserver VM) + 2 * DB Server VM

Hence 7 * 8 vCPUs + 2 * 6 vCPUs = 68 vCPUs are utilized at peak performance.

But considering that 1 vCPU = 1 logical processor on the physical host. How is it possible that 68 vCPUs are utilized when the capacity of the physical processor is only 32 logical processors?

Hope that you can explain this for me. Thanks


Thanks for your answer

Overprovisioning in a virtualized environment, specifically with regard to vCPUs (virtual Central Processing Units), refers to the practice of allocating more virtual CPU resources to virtual machines (VMs) than the physical host has available in terms of physical CPU cores. This is done with the assumption that not all VMs will require full CPU resources simultaneously, allowing for more efficient use of hardware resources.

Here are some key points to understand about overprovisioning vCPUs:

Resource Efficiency: Overprovisioning is aimed at maximizing the utilization of available hardware resources. Since not all VMs are expected to use their allocated CPU resources at full capacity all the time, the total vCPU allocation can exceed the physical CPU core count.

Workload Patterns: Overprovisioning works well in environments where the workloads of different VMs do not peak simultaneously. For example, in a business environment, different departments may have varying peak hours, allowing for better utilization of shared resources.

Performance Impact: While overprovisioning can enhance resource utilization, it comes with the risk of performance degradation if too many VMs demand CPU resources simultaneously. If the aggregate demand exceeds the physical capacity, VMs may experience contention, leading to performance bottlenecks.

Monitoring and Management: It's crucial to monitor the performance of VMs and the host server regularly. Virtualization management tools can help administrators track resource usage and make adjustments as needed to avoid performance issues.

Balancing and Scheduling: Virtualization platforms often include load balancing and scheduling mechanisms to optimize resource distribution across the physical host. These features help prevent resource contention by intelligently placing VMs on available resources.

Consideration of Other Resources: While overprovisioning vCPUs is a common practice, it's essential to consider other resources such as memory and storage. Overprovisioning in one resource domain may impact the overall performance of the virtualized environment.

In summary, overprovisioning vCPUs is a strategy to achieve better resource utilization in virtualized environments, but it requires careful monitoring, management, and consideration of workload patterns to ensure optimal performance for virtual machines.


[0] Message Index

Go to full version