Hyper-Threading
Модераторы: Trinity admin`s, Free-lance moderator`s
- DDM
- member
- Сообщения: 22
- Зарегистрирован: 11 окт 2002, 15:05
- Откуда: St.Petersburg
- Контактная информация:
Hyper-Threading
Провел некоторое дополнительное изучение купленого у вас компьютера на двух XEON Prestonia 2.0Ghz и теперь могу аргументированно утверждать, что при включении Hyper-Threading на плате P4DCE+ в WindowsXP Professional SP-1 в Task Manager отображаются все ЧЕТЫРЕ процессора. Про Windows 2000 (как Professional, так и Server) ничего сказать не могу (пусть Сергей Селезнев проведет такую проверку самостоятельно), а в XP именно так. В ближайшее время сделаю ряд тестов, чтобы узнать прирост производительности от включения данной технологии... Или в Тринити уже есть подобная информация?
Пробовал Hyper-Threading режим в Linux`e -
впечатления положительные (пока без цифр).
Большое количество мелких задачек раскидываются по виртуальным процам и обшая работа на глаз становится быстрее (по крайней мере процесс загрузки).
загрузка Linux 8.0 от старта загрузчика до логина = 45 сек !!!
(1Gb RAM, 1xP4 2.4Ghz, P4DSE, JBOD on Mylex170)
P.S. как и следовало ожидать, увеличения скорости на задачах где загрузка проца близка к 100% нет, но и тормозов тоже не заметно.
впечатления положительные (пока без цифр).
Большое количество мелких задачек раскидываются по виртуальным процам и обшая работа на глаз становится быстрее (по крайней мере процесс загрузки).

(1Gb RAM, 1xP4 2.4Ghz, P4DSE, JBOD on Mylex170)
P.S. как и следовало ожидать, увеличения скорости на задачах где загрузка проца близка к 100% нет, но и тормозов тоже не заметно.
- a_shats
- Advanced member
- Сообщения: 5010
- Зарегистрирован: 27 авг 2002, 10:55
- Откуда: Москва
- Контактная информация:
Тоже вот, попробовалsetar писал(а): P.S. как и следовало ожидать, увеличения скорости на задачах где загрузка проца близка к 100% нет, но и тормозов тоже не заметно.

Скажем так: скорость загрузки и стандартных операций не возросла. С базами потестить не успел, к сожалению (забрали

Lotus Notes + HT
Получу ли я прибавку производительности LN на 2-х процессорном Ксеоне с Hyper-Threading в сравнении с аналогичной конфигурацией, но с Hyper-Threading disable?
И если получу, то сколько?
И если получу, то сколько?
Re: Lotus Notes + HT
Нет, прибавки в производительности не будет, а лишь более равномерная обработка задач (один процесс не будет забирать всё процессорное время).Zigzug писал(а):Получу ли я прибавку производительности LN на 2-х процессорном Ксеоне с Hyper-Threading в сравнении с аналогичной конфигурацией, но с Hyper-Threading disable?
И если получу, то сколько?
P.S. хотя теоритически могут попадаться задачи, в которых будет прирост производительности за счёт бОльщего попадания в общий кеш, но на практике наблюдать подобного пока не довелось.
Последний раз редактировалось setar 25 ноя 2002, 19:02, всего редактировалось 1 раз.
- Dmitry
- Сотрудник Тринити
- Сообщения: 867
- Зарегистрирован: 22 авг 2002, 16:12
- Откуда: St.Petersburg
- Контактная информация:
Как утверждает Intel Microprocessor Software Labs производительность сервера может возрасти до 30%. Все же надо тестировать конкретную задачу. Абстрактный ответ здесь не подойдет.
Вот ссылки на достаточно полное описание достоинств и недостатков этой технологии:
здесь
затем здесь
Вот ссылки на достаточно полное описание достоинств и недостатков этой технологии:


-
- Junior member
- Сообщения: 2
- Зарегистрирован: 05 дек 2002, 12:39
Для увеличения производительности надо чтобы ОСь однозначно понимала что это HT, а не 2 (4) железных процессора, потому как в случае W2K который этого не понимает можно так установить привязку к процессору (affinity) что софт не то что тормозить начнет вообще перстанет выполняться. Поддержка HT есть в XP, .NET и Linux'е (ядро на вскидку не помню, но уже есть). Если же ОСь не поддерживает HT то надо его либо отключить в BIOS'е, либо еще лучше тестить на реальных приложениях клиента включенным и выключенным и смотреть что лучше.
- a_shats
- Advanced member
- Сообщения: 5010
- Зарегистрирован: 27 авг 2002, 10:55
- Откуда: Москва
- Контактная информация:
Oleg A. Lebedev
Не так давно занимался следующим: W2KServer/MSSQL/2 Xeon DP 2 Ггц
Пытались выжать максимум производительности.
В т.ч. привязывали SQL к 3-м из 4 "процессоров". При этом добиться, чтобы что-либо перестало выполняться не удалось
хотя тормоза бывали, ну да и нагрузку соорудили относительно некислую (max 27 пользователей, генерящих "тяжелый" отчет по ~1 Гб базе, причем - один и тот же (как следствие - блокировки и прочие радости))...
Что же касается узнаваемости операционкой HT - это, скорее, о лицензиях: например, W2KProfessional - до 2 процессоров, т.е. на двух ксеонах с включенным НТ уже не пойдет, зато пойдет куда более дорогой Server... ХР - умеет отличать "реальный" процессор от виртуального, но я не думаю, что это скажется на производительности.
Отключать HT в биосе - смысл только один: когда есть тяжелая непараллелящаяся счетная задача и нужно выжать максимум "чистой" производительности процессора.
Относительно SQL - эти задачи весьма нехило параллелятся (обычно сам "движок" SQL состоит из 3-5 запущенных демонов, да на каждую сессию создается процесс или нить, которые прекрасно раскладываются на несколько процессоров).
Не так давно занимался следующим: W2KServer/MSSQL/2 Xeon DP 2 Ггц
Пытались выжать максимум производительности.
В т.ч. привязывали SQL к 3-м из 4 "процессоров". При этом добиться, чтобы что-либо перестало выполняться не удалось

Что же касается узнаваемости операционкой HT - это, скорее, о лицензиях: например, W2KProfessional - до 2 процессоров, т.е. на двух ксеонах с включенным НТ уже не пойдет, зато пойдет куда более дорогой Server... ХР - умеет отличать "реальный" процессор от виртуального, но я не думаю, что это скажется на производительности.
Отключать HT в биосе - смысл только один: когда есть тяжелая непараллелящаяся счетная задача и нужно выжать максимум "чистой" производительности процессора.
Относительно SQL - эти задачи весьма нехило параллелятся (обычно сам "движок" SQL состоит из 3-5 запущенных демонов, да на каждую сессию создается процесс или нить, которые прекрасно раскладываются на несколько процессоров).
- Dmitry
- Сотрудник Тринити
- Сообщения: 867
- Зарегистрирован: 22 авг 2002, 16:12
- Откуда: St.Petersburg
- Контактная информация:
Вот посетил технический семинар по серверной продукции Intel.
Итог следующий:
Рекомендации Microsoft при согласии официального представителя Intel (касательно серверных ОС):
в Windows 2000 " Hyper-Threading " отключать для всех приложений!
в Windows XP " Hyper-Threading " включать для всех приложений!
Первое вызвало неоднозначную реакцию представителей фирм-интеграторов продукции Intel и они в большинстве своем не согласились с этими рекомендациями.
Второе утверждение всех заинтересовало и все решили покинув сей семинар обязательно проверить "А на сколько же процентов этот самый Hyper-Threading увеличивает производительность?"
Во как.
Итог следующий:
Рекомендации Microsoft при согласии официального представителя Intel (касательно серверных ОС):


Первое вызвало неоднозначную реакцию представителей фирм-интеграторов продукции Intel и они в большинстве своем не согласились с этими рекомендациями.
Второе утверждение всех заинтересовало и все решили покинув сей семинар обязательно проверить "А на сколько же процентов этот самый Hyper-Threading увеличивает производительность?"
Во как.

-
- Advanced member
- Сообщения: 138
- Зарегистрирован: 19 окт 2002, 15:49
- Откуда: г. Волжский, Волгоградская область
- Контактная информация:
Так, ну теперь и у меня есть первое знакомство с HT
Имеем сервер на SHG2 и двух Xeon 2.0 . Поставил Windows 2000 Server SP2. HT в биосе был включен, соответственно после установки увиделись 4 процессора
... Я думаю что всем известен софт для нагрузки процессоров - CPUBURN. Ну так вот когда то я запускал этот тест на дуальной SCB2, причем если один экземпляр CPUBURNа, то загрузка между камнями распределялась - общая загрузка была 50%. Если запускал второй экземпляр CPUBURN, то загрузка 100%. Ситуация повторилась и на зионах
Причем запускаю один экземпляр - загрузка 25%, запускаю второй - 50%, запускаю третий - 75%, запускаю четвертый - 100%
. Получается что как бы и 4 камня
. Однако интересно было бы знать что из себя представляет код CPUBURN. Может кто знает? 
Пример может и не убедительный, но прикольно






Пример может и не убедительный, но прикольно

- a_shats
- Advanced member
- Сообщения: 5010
- Зарегистрирован: 27 авг 2002, 10:55
- Откуда: Москва
- Контактная информация:
TAHKuCT
Вот-вот: при генерации отчетов файловой 1С наблюдалась совершенно та же картина (1С файловая юзает все, до чего может дотянуться, но о многопроцессорности, к счастью, не знает
)
Тут, скорее, вопрос в том, что реально показывает Task Manager и как все-таки W2K понимает HT. Выглядит, с моей точки зрения, это так:
1. Запускаем приложение способное работать только на одном процессоре.
2. W2K считает каждый из "виртуальных" процессоров честным "железным".
3. Она же грузит его этим приложением, но при этом - пытается раскидать нагрузку на все процессоры.
Тут маленькое лирическое отступление:
W2K выделяет каждому приложению "квант" времени процессора. По его истечении выполняется переключение контекстов. С точки зрения W2K, занятость процессора определяется тем, использовало ли приложение свой квант или нет (ждет события:ввода с клавиатуры, например).
Кроме того, W2K пытается сбалансировать(выровнять) нагрузку на процессоры: в простейшем случае, если запущено одно активное приложение с одним активным тредом, ему последовательно выделяются кванты на каждом процессоре - тем самым достигается их равномерная загрузка. Но у приложения в примере есть лишь один активный тред, и он может, с точки зрения W2K, нагрузить 1 процессор не более, чем на 100%. Вот она и раскладывает по 25% на все четыре "виртуальных" процессора.
Отсюда, имхо, и слухи о тормозах HT и W2K: наиболее эффективно процессор работает (не простаивают его исполнительные устройства), когда все необходимые данные находятся в его кэше. При работе HT, понятно, на каждые 2 "виртуальных" процессора приходится один реальный кэш. Как результат - в некоторых случаях вполне возможны тормоза (много кэш-миссов).
Как очень дилетантское предположение: XP "знает" о "виртуальности" процессоров при HT, и переключает контекст задачи в пределах одного реального процессора, таким образом не допуская излишних кэш-миссов.
Вроде так ? Поправьте, если не прав.
Вот-вот: при генерации отчетов файловой 1С наблюдалась совершенно та же картина (1С файловая юзает все, до чего может дотянуться, но о многопроцессорности, к счастью, не знает

Тут, скорее, вопрос в том, что реально показывает Task Manager и как все-таки W2K понимает HT. Выглядит, с моей точки зрения, это так:
1. Запускаем приложение способное работать только на одном процессоре.
2. W2K считает каждый из "виртуальных" процессоров честным "железным".
3. Она же грузит его этим приложением, но при этом - пытается раскидать нагрузку на все процессоры.
Тут маленькое лирическое отступление:
W2K выделяет каждому приложению "квант" времени процессора. По его истечении выполняется переключение контекстов. С точки зрения W2K, занятость процессора определяется тем, использовало ли приложение свой квант или нет (ждет события:ввода с клавиатуры, например).
Кроме того, W2K пытается сбалансировать(выровнять) нагрузку на процессоры: в простейшем случае, если запущено одно активное приложение с одним активным тредом, ему последовательно выделяются кванты на каждом процессоре - тем самым достигается их равномерная загрузка. Но у приложения в примере есть лишь один активный тред, и он может, с точки зрения W2K, нагрузить 1 процессор не более, чем на 100%. Вот она и раскладывает по 25% на все четыре "виртуальных" процессора.
Отсюда, имхо, и слухи о тормозах HT и W2K: наиболее эффективно процессор работает (не простаивают его исполнительные устройства), когда все необходимые данные находятся в его кэше. При работе HT, понятно, на каждые 2 "виртуальных" процессора приходится один реальный кэш. Как результат - в некоторых случаях вполне возможны тормоза (много кэш-миссов).
Как очень дилетантское предположение: XP "знает" о "виртуальности" процессоров при HT, и переключает контекст задачи в пределах одного реального процессора, таким образом не допуская излишних кэш-миссов.
Вроде так ? Поправьте, если не прав.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей