Должен ли я отключить гиперпоточность в процессоре Intel?

3653
Rigel

У меня ноутбук с Intel i5 M430 2,27 ГГц. Процессор имеет два РЕАЛЬНЫХ ядра, но также имеет некоторую виртуализацию, поэтому Windows рассматривает его как 4-ядерное.

В РЕАЛЬНОМ двухъядерном процессоре однопоточная программа будет работать в одноядерном режиме с частотой 2,27 ГГц. Правильно?

У меня вопрос, в моем 4-ядерном процессоре та же самая программа работает на частоте 1,13 ГГц? (2.27 / 2) Я имею в виду, частота каждого реального ядра делится на две части, чтобы имитировать 4-ядерный процессор?

Мне нужно знать, чтобы запустить программу, загруженную процессором, на максимальной скорости. Если я запустлю два экземпляра этой программы, я закончу обработку данных в два раза быстрее, потому что у меня есть два реальных ядра. Но если я запустлю 4 экземпляра, я завершу обработку в 4 раза быстрее, или же это «2 дополнительные виртуальные ядра» или еще одна приятная особенность от Intel?


Обновить:

Я использовал CPU Overload для запуска 2 и 3 потоков, сильно загружающих процессор. В Resource Monitor график «CPU-Total» показывает только 50 и соответственно 75% загрузки.

8

2 ответа на вопрос

21
Michael K

У вас есть процессор с технологией гиперпоточности . Вы не можете изменить это, но не волнуйтесь, у вас не будет никакой потери производительности; на самом деле это увеличивает производительность вашей системы.

Обратите внимание, что тактовая частота процессора не равна производительности процессора. Часы не делятся на два для двух потоков.

Обновление / заключение: Как уже упоминалось в комментариях, в некоторых (большинстве?) BIOS можно отключить гиперпоточность. Но это не принесет никаких улучшений производительности, поскольку управление потоками Intel достаточно разумно, чтобы использовать только столько, сколько необходимо.

you can turn off hyperthreading in the bios, if you need to. However, hyperthreading does have a performance advantage in most situations. Journeyman Geek 12 лет назад 11
По словам Intel, производительность увеличивается до 30% за счет гиперпоточности. Я не знал, что на самом деле вы можете отключить его, большинство BIOS, кажется, не имеет этой опции. Michael K 12 лет назад 2
я полагаю, что многие биозы покалечены, это ДОЛЖНО быть возможно в большинстве приличных; p Journeyman Geek 12 лет назад 0
«Кроме того, тактовая частота процессора не равна производительности процессора» - - - Я знаю это. Rigel 12 лет назад 0
«На самом деле это увеличивает производительность вашей системы» - - - Я тоже это знаю. Но меня интересует максимальная производительность для одной / конкретной программы. Rigel 12 лет назад 0
«Часы не делятся на два для двух потоков» - - тогда эти дополнительные 2 ядра на 100% бесполезны. Откуда вы взяли циклы процессора для их питания? Пример: если вы запустите две программы в реальных ядрах, а затем еще две программы в виртуальных ядрах, программы в виртуальных ядрах будут голодать. Rigel 12 лет назад 0
Пожалуйста, взгляните на статью, на которую есть ссылки в моем тексте, вы не сможете добиться большей производительности, отключив HT. Michael K 12 лет назад 0
ядро имеет частичный конвейер для их обработки - часть ядра, а не полное ядро Journeyman Geek 12 лет назад 0
На этой странице Википедии не объясняется, как она влияет на одну программу или как циклы ЦП распределяются между 4 независимыми программами, каждая из которых использует 100% ЦП. Rigel 12 лет назад 0
Если вернуться к вашему вопросу, возможно, в вашей биографии есть переключатель для HT. Если вы не найдете его там, я полагаю, что его невозможно отключить. Michael K 12 лет назад 0
HT был чрезвычайно полезен для одноядерных процессоров, но многоядерные процессоры считают его менее полезным из-за наличия других ядер. Кроме того, вы можете * получить * лучшую производительность от * одного * приложения, если HT отключен, поскольку каждое реальное ядро ​​будет иметь больше доступных ресурсов; единственный способ быть уверенным - это эмпирическое тестирование. Ignacio Vazquez-Abrams 12 лет назад 4
HT has come a long way since it's first implementation in the Pentium 4 CPUs. There are very few scenarios where it will harm performance. afrazier 12 лет назад 1
спасибо Игнасио Я надеюсь, что смогу найти веб-сайт, где этот тест уже был выполнен. Rigel 12 лет назад 0
HT не вдвое сокращает циклы ЦП, выделенные для какого-либо потока, поскольку это технология, которая позволяет физическому ядру ЦП обрабатывать более одного потока за цикл. Используя какой-то интеллект, который определяет, какая часть ядра будет использоваться каким-либо конкретным потоком, HT будет запускать 2 потока в одном цикле на одном ядре, не мешая одному. music2myear 12 лет назад 2
@Altar As a side note, when the CPU is not being used hard enough to require the use of the potential extra resource that hyperthreading provides then Windows 7 will "park" that hyperthreaded core, presumably freeing up all the resources to allow the real cores to work efficiently. I can see this happening on my quad core i7 in the Resource Monitor program as cores #1, #3, #4 and #7 are "Parked" and showing 0% CPU usage while cores #0, #2, #5 and #6 are running. Mokubai 12 лет назад 4
Спасибо music2myear. Наконец хорошее техническое объяснение. Можете ли вы указать больше документации об этом? Спасибо, Мокубай - Ты прав. Два моих ядра также припаркованы, даже если ResMon показывает некоторую (ниже 10%) активность в них. Rigel 12 лет назад 0
Всю эту информацию и необходимую документацию можно найти в статье в Википедии, на которую я ссылаюсь. Michael K 12 лет назад 0
http://software.intel.com/en-us/articles/intel-hyper-threading-technology-your-questions-anspted/?wapkw=(hyper+threading+technologies) это заявление Intel о гиперпоточности. Вы можете найти больше ссылок, заглянув в справочную главу статьи в Википедии. Michael K 12 лет назад 0
3
Andy

Технология Hyper Threading (HT) от Intel разработана для одновременной работы двух потоков на одном ядре. Таким образом, поскольку у вас двухъядерный процессор с HT, вы можете запускать четыре потока одновременно. Как правило, тактовая частота процессора фиксирована и не зависит от количества одновременно работающих потоков. Однако недавно Intel представила функцию Turbo Boost, которая позволяет процессору работать на более высокой тактовой частоте, если используются не все ядра. Ваш процессор имеет встроенный Turbo Boost, поэтому он будет работать с частотой 2,26 ГГц, если интенсивно используются оба ядра, и 2,53 ГГц, если интенсивно используется только одно ядро. Все это обрабатывается автоматически, а разница в тактовой частоте составляет всего около 10%, так что не стоит сильно беспокоиться об этом. Вам будет лучше убедиться, что все остальное отключено, освобождая ресурсы для вашего основного процесса.

Я использовал 'CPU Overload', чтобы запустить 1 поток с очень высокой загрузкой процессора. В Resource Monitor график (синяя линия, представляющая максимальную частоту) не достигает 110%. Rigel 12 лет назад 0

Похожие вопросы