numactl --physcpubind

Estaba usando el numactl, con la opción --physcpubind. manual dice:

--physcpubind=cpus, -C cpus
Only execute process on cpus. Etc...

Digamos que tengo un sistema NUMA con 3 nodos NUMA, donde cada uno de ellos tiene 4 núcleos. El nodo NUMA 0 tiene 0, 1, 2, 3 como números de núcleo. El nodo NUMA 1 tiene 4,5,6,7 y el nodo NUMA 2 tiene 8,9,10,11. Mi pregunta es, digamos, que ejecuto el programa de la siguiente manera:

export OMP_NUM_THREADS=6
numactl --physcpubind=0,1,4,5,8,9 ./program

es decir, estaré ejecutando mi programa con 6 subprocesos y estoy solicitando que estén en núcleos de CPU 0,1,4,5,8,9. Por ejemplo, si en algún momento durante el programa, los hilos 0-5 tienen asignados núcleos de CPU 0,1,4,5,8,9 (setup1). ¿Es posible que en algún otro momento durante la ejecución del programa, el subproceso 0 se esté ejecutando en el núcleo de la CPU 9, por ejemplo, etc.? Es decir. ¿Habrá migración de hilos entre los núcleos de la CPU? ¿O los hilos se unen de forma única a los núcleos de la CPU (como en setup1)? Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta