Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
5208 Discussions

Meaning of Poor Wait Time By Utilization

yixzhouNuro
Beginner
650 Views

Hi VTuen supports, 

 

I want to understand a bit more on the vtune threading mode for and the Wait Time by Utilization column in the Bottom-Up section of the report, for an example, you can refer to the screenshot below:

Screenshot 2024-06-11 at 6.01.18 PM.png

I would like to understand the meaning of the Poor v.s. Idle utilization. In this example, is my application CPU compute intensive? My understanding is although I am polling / waiting on the condition variable, the process can yield to other CPU processes (although during this profiling run, i only had this one process). Will this behavior reflected in the profile? Or the long poor utilization bar we see here really means I am polling in a CPU intensive manner? 

 

Thanks in advance,

0 Kudos
1 Reply
yuzhang3_intel
Moderator
624 Views

A high thread wait time can cause poor CPU utilization. One common problem in parallel applications is threads waiting too long on synchronization objects that are on the critical path of application execution (for example, locks). Parallel performance suffers when waits occur while cores are under-utilized. Threading analysis helps to analyze thread wait time and find synchronization bottlenecks.

For details about the metric, you can refer to the guide:

https://www.intel.com/content/www/us/en/docs/vtune-profiler/user-guide/2024-1/threading-efficiency-view.html

 

Poor vs. Idle, you can refer to the section of 'CPU Utilization' in guide:

https://www.intel.com/content/www/us/en/docs/vtune-profiler/user-guide/2024-1/cpu-metrics-reference.html

 

Idle

yuzhang3_intel_1-1718170136706.jpeg

 

Idle utilization. By default, if the CPU Time on all threads is less than 0.5 of 100% CPU Time on 1 core, such CPU utilization is classified as idle. Formula: Σi=1,ThreadsCount(CPUTime(T,i)/T) < 0.5, where CPUTime(T,i) is the total CPU Time on thread i on interval T.

Poor

yuzhang3_intel_2-1718170136707.jpeg

 

Poor utilization. By default, poor utilization is when the number of simultaneously running CPUs is less than or equal to 50% of the target CPU utilization.

 

 

Reply