Чего я достиг, включив гиперпоточность на старом P4?

У меня старый P4 3 ГГц с 3 ГБ оперативной памяти. Я перестроил его на Windows Server 2008, чтобы он стал моей машиной для тестирования и непрерывной интеграции.

Когда я вошел в BIOS, чтобы он загрузился с DVD для установки Windows Server, я включил Hyperthreading.

Чего я добился благодаря этому?

Я дал себе 2 "1,5" ядра "по 1,5 ГГц"?

Машина работает..

  • SQL Server (Express)
  • IIS (вкл. PHP5)
  • Team City
  • MySql
  • Visual SVN Server

Он используется только мной и несколькими тестовыми пользователями, которые подключаются время от времени.

Будет ли машина работать лучше, оставив гиперпоточность включенной или выключив ее снова?

Основные приоритеты - быстрое время компиляции в Team City.

2 ответа

Решение

Краткий ответ: "Лучшая эффективность процессора". Hyperthread CPU - это логические представления физического процессора. Основным преимуществом этого является то, что ОС может поддерживать две очереди команд для одного и того же фактического ЦП, что, в свою очередь, обеспечивает немного больше параллелизма на уровне потоков, так как фактический ЦП переключается между обслуживанием обоих потоков команд. Когда один логический процессор занят ожиданием некоторых данных из памяти, другой логический процессор может выполнить несколько циклов команд.

Процессоры P4-эры имели довольно глубокие конвейеры инструкций, что означало, что простоя для долгой выборки данных замедляла все. HT был шагом к повышению эффективности этой архитектуры, позволив, по сути, два конвейера инструкций на определенных этапах. Более новые процессоры Core-эры имеют гораздо более короткий конвейер, поэтому не сильно выигрывают от гиперпоточности.

Фактическое улучшение общей производительности варьируется в широких пределах, а в некоторых случаях может фактически ухудшить производительность. Server 2008 поддерживает HT и в значительной степени безопасен для SMP в критических областях, где использование HT может привести к снижению производительности, поэтому при его использовании вы не увидите значительного снижения производительности. Тем не менее, вы можете не заметить каких-либо улучшений либо. В вашем случае я бы оставил это включенным и посмотрел бы, что происходит; Вы всегда можете выключить его снова.

По сути, это был прародитель нескольких ядер. По сути, процессор будет создавать больше виртуальных процессоров. Это работает, только если ОС поддерживает это.

Server 2008 R2 поддерживает HT, поэтому теоретически вы должны увидеть некоторые преимущества. Если вы работаете с SQL, вы можете сгенерировать гигантский запрос, запустить его с HT и без него и сравнить его оттуда.

Вы также можете сделать несколько сборок в Team City с включенным и выключенным HT и посмотреть, каковы ваши результаты.

Другие вопросы по тегам