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 nouveau(x)
Dernière contribution
Reportez-vous à notre Notice d'optimisation pour plus d'informations sur les choix et l'optimisation des performances dans les produits logiciels Intel.

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.

--Vladimir

Laisser un commentaire

Veuillez ouvrir une session pour ajouter un commentaire. Pas encore membre ? Rejoignez-nous dès aujourd’hui