Re: распределение потоков
От: ioni Россия  
Дата: 05.11.18 11:51
Оценка: +1
Здравствуйте, gwg-605, Вы писали:

G6>Есть две расчетные задачи: А и Б. Каждая задача использует по 4 потока, и работает только со своими данными. Задачи создают примерно одинаковую нагрузку на процессор, практически чистая целочисленная векторная математика (хорошо оптимизирована, включая AVX512). Хотелось бы разнести потоки на разным CPU для уменьшения борьбы за ресурсы. Платформа Intel.


G6>1. 4 кора + 4 HT треда (8 логических ЦПУ)

G6>Задача А: два кора 0 и 1 + два соседних треда (маска=0F)
G6>Задача Б: два других кора 2 и 3 + два соседних треда(маска=F0)

G6>2. 4 кора + 4 HT треда (8 логических ЦПУ)

G6>Задача А: четрые кора 0..3 (маска=55)
G6>Задача Б: четыре треда (маска=AA)

G6>Какой вариант будет будет оптимальным? и почему?


G6>По мне: 1-й вариант более оптимален, но...


Думаю что никакой, оставьте на откуп планировщика
при тестировании может показать одно, при одном наборе процессов,
в реальности все может поменяться кардинально
Попробуйте поиграть приоритетами для этих задач

Еще, возможно что на первом ядре всегда используется обработчик прерываний
который ни при каких условиях не меняет своего аффинити
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.