Hyperthreading on the MTL

Hyperthreading on the MTL

As you're probably aware the current implementation of the MTL supports 32 cores and 64 threads, this means that the MTL server is Hyperthreaded or Simultaneous Multithreaded (SMT) aware.

So the obvious question is; how does one specify, saywhen an application is executed, if thread(s) should bescheduledon physical or logical core(s)?

This is easily accomplished by using the Linux* taskset command, e.g.

$ taskset c 0-15

This will specify that the application should run only on the first 16 CPUs, i.e. CPU/thread affinity. This means (on a 64 thread SMT system) that the will be scheduled on ONLY the physical cores.

$ taskset c 0,32

This will specify (on a 64 thread SMT system), that the application should run on both the 1st physical andthe 1st logical core.

Please see: man taskset for more details

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

Hello all,

By the way,RHEL 5.4 inthe labdoes have quite good OS scheduler but anyway I've got perfomance gain using 'taskset' command from 5% for 2 threads to 7%for32 threads for my test case.


Leave a Comment

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