Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
9 Views

what are the tools available to check the performance of the operating system scheduler for multicore platform

I am using linux platform (Ubuntu). I want to know what are the tools available to check the performance of the operating system scheduler (for multicore platform). so that I can get to know whether scheduler is making best usage of multicore architecture.
0 Kudos
1 Reply
Highlighted
Employee
9 Views

The only toolsI am aware ofare indirect ones:

You can pin the threads yourself using the Linux OS functions sched_setaffinity() and sched_getaffinity() and compare the performance of the scheduler without pinning. The Intel compilers also support extremely flexible thread pinning using OpenMP and the environment variable KMP_AFFINITY.

See this post http://software.intel.com/en-us/forums/showpost.php?p=117038 for a descriptionof how to determine the CPU a particular thread is currently running on.

Processor/memory machine topology information about the machine should be available in /proc/cpuinfo.(which core is on which socket, hyperthread context is on which core, etc) Or, a better compact description of this topology can be obtained using Intel compilers with the -openmp compilation switch and setting the environment variableKMP_AFFINITY="verbose,none" whether or not you use OpenMP threading.

You can alsocontrol the scheduling policy using the Linux OS functions sched_getscheduler() and sched_setscheduler().

0 Kudos