Ascertain whether the level of performance improvement from Hyper-Threading Technology for a specific application is acceptable. There is a misconception that equal performance on two workloads means equal Hyper-Threading Technology effectiveness. This doesn't give the full picture, since the amount of performance achievable is unknown.
For example, in the case where application A has a 5% speedup with Hyper-Threading Technology, while application B has a 7% speedup, it may not be the case that scaling was more successful with application B. If application A has a 90% speedup with dual-processors and application B only has a 10% increase with dual-processors, application A had much more potential to scale with Hyper-Threading Technology but failed to take advantage of it. Application B, on the other hand, only had 10% potential and took advantage of most of that potential with Hyper-Threading Technology.
Use an adaptation of Amdahl's law to calculate Hyper-Threading Technology effectiveness. To determine application/workload Hyper-Threading Technology effectiveness, the following measurements are needed:
- Single-processor (UP) performance
- Hyper-Threading Technology (HT) performance
- Dual-processor (DP) performance
Performance measurements denote a metric where higher values are more favorable. In cases where elapsed time is the performance metric, the reciprocal of time is used. The most important consideration is that the application/workload pair performs the same amount of work on all configurations. From the measurements, we can calculate the following:
Using those values, Hyper-Threading Technology effectiveness can be represented using Amdahl's law:
A Hyper-Threading Technology Effectiveness of 1.0 is desirable, meaning that the application is achieving what is typical based on measured performance from common benchmarks. Anything less than 1.0 represents an undesirable effectiveness that should be investigated using performance analyzer tools such as the VTune™ Performance Analyzer.