Назад | Перейти на главную страницу

Отключение HyperThread в BIOS или ядре?

Есть ли разница в производительности между этими отключенными сценариями HyperThread? Что лучше и почему?

Высокооптимизированные параллельные приложения работают медленнее с включенным HT.
https://www.percona.com/blog/2015/01/15/hyper-threading-double-cpu-throughput/
Наше приложение работает на 13% быстрее на 4 ядрах, чем на 4 ядрах + 4 HT.

Оборудование:

Ну, первое очевидное отличие состоит в том, что noht фактически ничего не делает в современных системах Linux. Эта опция загрузки ядра давно устарела и была заменена на maxcpus=.

Настройка maxcpus=m, где m количество физических (не HT) ядер, теперь выполняет то же самое.

Также возможно включить или отключить отдельные ядра / гиперпотоки ЦП через sysfs пока система работает.

С этим в стороне ...

Не должно быть разницы в производительности между отключением гиперпоточности в BIOS или отключением в операционной системе.

Единственная реальная разница заключается в том, что если вы отключите ядра / потоки в ОС, вы можете снова включить их позже без перезагрузки. Возможно, вы захотите сделать это, если вы выполняете разные вычислительные задания, некоторые из которых получают выгоду от гиперпоточности, а некоторые - нет.