Страница 1 из 2

HT or not HT?

Добавлено: 11 май 2008, 21:44
Stanislav
А что скажут уважаемые Линуксоиды про HT(HyperThreading) для Линуха? Включить или отключить? Приложения - Apache, lighttpd, Tomcat.

Re: HT or not HT?

Добавлено: 11 май 2008, 22:02
CdR
Stanislav писал(а):А что скажут уважаемые Линуксоиды про HT(HyperThreading) для Линуха? Включить или отключить? Приложения - Apache, lighttpd, Tomcat.
У меня всё с жтим собрано. Давно. Не жалуюсь.

Re: HT or not HT?

Добавлено: 11 май 2008, 22:17
Marmot
CdR писал(а):
Stanislav писал(а):А что скажут уважаемые Линуксоиды про HT(HyperThreading) для Линуха? Включить или отключить? Приложения - Apache, lighttpd, Tomcat.
У меня всё с жтим собрано.
Как это "собрано"?

Re: HT or not HT?

Добавлено: 11 май 2008, 22:20
Stanislav
Marmot писал(а):
CdR писал(а):
Stanislav писал(а):А что скажут уважаемые Линуксоиды про HT(HyperThreading) для Линуха? Включить или отключить? Приложения - Apache, lighttpd, Tomcat.
У меня всё с жтим собрано.
Как это "собрано"?
Кстати, а как с этим у Фликера?

Re: HT or not HT?

Добавлено: 11 май 2008, 22:23
CdR
Marmot писал(а):
CdR писал(а):
Stanislav писал(а):А что скажут уважаемые Линуксоиды про HT(HyperThreading) для Линуха? Включить или отключить? Приложения - Apache, lighttpd, Tomcat.
У меня всё с этим собрано.
Как это "собрано"?
emerge world.

Я понял. Попутал, sorry.
Ядро собрано с поддержкой HT, world c флагом "nptl" (Native POSIX Threads Library), кроме bind.

Re: HT or not HT?

Добавлено: 11 май 2008, 22:34
Marmot
Stanislav писал(а):
Marmot писал(а):
CdR писал(а):
Stanislav писал(а):А что скажут уважаемые Линуксоиды про HT(HyperThreading) для Линуха? Включить или отключить? Приложения - Apache, lighttpd, Tomcat.
У меня всё с жтим собрано.
Как это "собрано"?
Кстати, а как с этим у Фликера?
Мы без HT живем, оно у нас на не помню каких драйверах глюкало, давно уже, а потом исторически сложилось.
Да и проще оно так, у меня, например, запускается процессов по обработке картинок не более чем количество реальных ядер.
А с HT, хрен поймешь, скока у тебя ядер на самом деле...

Re: HT or not HT?

Добавлено: 11 май 2008, 22:37
CdR
Marmot писал(а):А с HT, хрен поймешь, скока у тебя ядер на самом деле...
cat /proc/cpuinfo ?

Re: HT or not HT?

Добавлено: 11 май 2008, 22:41
Marmot
CdR писал(а):
Marmot писал(а):А с HT, хрен поймешь, скока у тебя ядер на самом деле...
cat /proc/cpuinfo ?
Ну у меня сейчас пробовать на системе с HT негде, но помню как сейчас, видно было в 2 раза больще чем реальных ядер.

Re: HT or not HT?

Добавлено: 11 май 2008, 22:49
CdR
Marmot писал(а):
CdR писал(а):
Marmot писал(а):А с HT, хрен поймешь, скока у тебя ядер на самом деле...
cat /proc/cpuinfo ?
Ну у меня сейчас пробовать на системе с HT негде, но помню как сейчас, видно было в 2 раза больще чем реальных ядер.
Да. А как хотелось бы видеть?
imho -- хуже когда это не используется.

Re: HT or not HT?

Добавлено: 11 май 2008, 22:55
Marmot
CdR писал(а):
Marmot писал(а):
CdR писал(а):
Marmot писал(а):А с HT, хрен поймешь, скока у тебя ядер на самом деле...
cat /proc/cpuinfo ?
Ну у меня сейчас пробовать на системе с HT негде, но помню как сейчас, видно было в 2 раза больще чем реальных ядер.
Да. А как хотелось бы видеть?
imho -- хуже когда это не используется.
Мне способность быстро переключатся между потоками нафиг не нужна, мне надо точно знать, сколько у меня ядер, а не сколько у меня наборов регистров...
Короче, я предпочитаю иметь реальные ядра, а не виртуальные...

Re: HT or not HT?

Добавлено: 11 май 2008, 23:10
CdR
Marmot писал(а):Мне способность быстро переключатся между потоками нафиг не нужна, мне надо точно знать, сколько у меня ядер, а не сколько у меня наборов регистров...
Короче, я предпочитаю иметь реальные ядра, а не виртуальные...
imho -- конфликт подходов. developer не должен заморачиваться подобными вещами. Что брать: HT или честный multi-processor -- вопрос скорее для тех, что железо выбирает.
HT задуман для того, чтобы выглядеть внешне как multi-processor, соответствеено и ведёт себя ядро. А у тебя совершенно противоположные интересы в стиле "а не надули ли нас?". В нормальной ситуации такого вопроса вообще не возникнет, но тем не менее интересно.
Я тут покопал -- и правда, что-то ничего на поверхности не видать.

Re: HT or not HT?

Добавлено: 12 май 2008, 12:21
Аман Ванкуверский
CdR писал(а): Я тут покопал -- и правда, что-то ничего на поверхности не видать.
Вот тут говорят:
> how do I know hyperthreading is enabled on any arbitrary Linux PC?

a) This should report the total number of physical CPUs:
grep -i "physical id" /proc/cpuinfo | sort -u | wc -l

b) This should report the total number of logical CPUs:
grep -i "processor" /proc/cpuinfo | sort -u | wc -l

c) The difference, is hyperthreaded.

Here is an annotated report from an IBM X335:
egrep -i "processor|physical id" /proc/cpuinfo
grep -E "processor|physical id" /proc/cpuinfo
which outputs (for example):
processor : 0 (CPU 0 is the first logical)
physical id : 0 (CPU 0 is the first physical)
processor : 1 (CPU 1 is the second logical)
physical id : 3 (CPU 3 is the second physical)
processor : 2 (CPU 2 is the third logical)
physical id : 0 (CPU 0 is the first physical)
processor : 3 (CPU 3 is the fourth logical)
physical id : 3 (CPU 3 is the second physical)
домой приду, проверю
CdR писал(а): imho -- конфликт подходов. developer не должен заморачиваться подобными вещами. Что брать: HT или честный multi-processor -- вопрос скорее для тех, что железо выбирает.
+1. Если, конечно, девелопмент не системный/real-time

Re: HT or not HT?

Добавлено: 12 май 2008, 12:40
Marmot
Аман Ванкуверский писал(а):
CdR писал(а): imho -- конфликт подходов. developer не должен заморачиваться подобными вещами. Что брать: HT или честный multi-processor -- вопрос скорее для тех, что железо выбирает.
+1. Если, конечно, девелопмент не системный/real-time
чичас я приведу конкретный пример.
Есть приоритетная очередь на обработку картинок.
Среднее время обработки одной картинки 10 сек (условно)
Задача, мнимизировать обработку отдельной картинки, и не задерживать обработку картинок с высоким приоритетом.
Как мы это делаем: запукаем потоки обработки числом не больше чем количество ядер. Так чтобы в идеале каждая картинка обрабатывалась на отделном ядре, как можно быстрее... распараллеливать обработку одной картинки решили не заморачиваться...

Теперь допустим у меня есть 2 процессора с HT.
Моей апликухе они видны как 4 ядра, я по тупому стартую 4 потока, и время обработки одной картинки становится 20 сек, более того высокоприоритетные картинки, которые раньше стояли в очереди at most 10 сек, теперь могут ждать up to 20 сек + 20 сек на обработку...
И расскажите мне про системный вызов который сообщает количество физических процессоров, и как я его буду вызывать из JVM!

Блин, ну сдели вы свой HT, ну и хорошо, но зачем показывать фальшивые ядра???

Re: HT or not HT?

Добавлено: 13 май 2008, 10:26
sobomax
Marmot писал(а):Блин, ну сдели вы свой HT, ну и хорошо, но зачем показывать фальшивые ядра???
Welcome to the wonderful world of the future computing! NUMA, not-very-symmetrical MP, SPE etc. :)

К сожалению простая абстракция кучи равноценных процессоров хорошо работает только при маленьком количестве ядер, так что чем дальше тем больше performance-demanting приложениям придется учитывать топологию железа на котором они выполняются.

-Maxim

Re: HT or not HT?

Добавлено: 13 май 2008, 12:24
Stanislav
Ну вот... все ушли в дебри мультикорных ядер... Я же всего лишь спросил - мне отключить HT или оставить, если на серваке Апач крутится с Котом Томом...