numactl --physcpubind

Я использовал numactl с параметром --physcpubind. Руководство говорит:

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

Позволять'скажем, у меня есть система NUMA с 3 узлами NUMA, где каждый из них имеет 4 ядра. Узел NUMA 0 имеет номера ядра 0, 1, 2, 3. Узел NUMA 1 имеет 4,5,6,7, а узел NUMA 2 имеет 8,9,10,11. Мой вопрос пустьскажем, я запускаю программу следующим образом:

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

то есть яЯ буду запускать мою программу с 6 потоками, и я прошу, чтобы они были на ядрах процессора 0,1,4,5,8,9. Например, если в какой-то момент во время выполнения программных потоков 0-5 назначаются ядра ЦП 0,1,4,5,8,9 (setup1). Возможно ли, что в какой-то другой момент во время выполнения программы поток 0 может работать, например, на ядре 9 процессора и т. Д.? То есть будет ли миграция потоков между ядрами процессора? Или потоки однозначно привязываются к ядрам процессора (как в setup1)? Благодарю.

Ответы на вопрос(1)

Ваш ответ на вопрос