PTU and TBB, analyze scheduler performance

PTU and TBB, analyze scheduler performance

Hey, all.

I'm looking into different scheduler policies under the hood of TBB, and I'd like to use PTU to optimize the code I've (re)written within the TBB library calls. When I run a program designed to exercise them under PTU, I only see user-code represented in the Basic Sampling results, which doesn't give me any insight into what parts of the scheduler aren't performing. Is there a configuration somewhere I can change to profile that information as well?

Thanks.

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

You do not see TBB among hottest hotspots and this looks OK.
To see TBB functions you can try to select TBB modules in the module filter and/or set hotspots threshold to 100%.
An interesting thing to look at is the 'thread' granularity in per cpu mode.
This will help to understand load balance.

More things to try are:
- PTU statistical callgraph
- Intel Parallel Amplifier (a part of Intel Parallel Studio)

The latest provides enhanced statistical callgraph capability and other features for parallel programs tuning including special handling for TBB.

TBB experts will most likely add more comments.

Quoting - Konstantin Lupach (Intel)

You do not see TBB among hottest hotspots and this looks OK.
To see TBB functions you can try to select TBB modules in the module filter and/or set hotspots threshold to 100%.
An interesting thing to look at is the 'thread' granularity in per cpu mode.
This will help to understand load balance.

That exposed the scheduler functions, thanks.

The problem I have remaining is that the slowdowns from the scheduler don't appear in scheduler samples, directly, but in other functions (e.g. unresolved "vmlinuz" references that I expect are calls to yield(), cache-misses in my "do work" function when the scheduler chooses poorly).

From other discussions I've had, the idea of tracing those sorts of problems back to their real causes is effectively the Holy Grail of performance analysis, so this may be as far as the tools can go.

You are right. Current tools will not help you to understand this.
However, we have some thoughs for this in PTU.
So the only advice for now is to check the "what's new" section in the release notes of future releases.

Leave a Comment

Please sign in to add a comment. Not a member? Join today