HT

2014-06-06 14:06
ufm: (Default)
[personal profile] ufm

А кто может поделиться сокровенным знанием, по нынешним временам HT в интеловских процессорах (ну например Xeon(R) CPU E31230) — он пользу наносит или вред, если это роутер? И вообще, как с ним поступать надо (включать или выключать) для разных применений?

Originally published at U.F.M's Homepage. You can comment here or there.

(no subject)

Date: 2014-06-06 11:46 (UTC)
From: [identity profile] bowhill.livejournal.com
Я интересовался по отношению к оракловой БД, там интеловский HT последнее время приносит пользу (вопреки гайдлайну). Где-то так процентов на 30. А про рутеры не скажу.

(no subject)

Date: 2014-06-06 12:15 (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
вред.
отключать

(no subject)

Date: 2014-06-06 12:22 (UTC)
From: [identity profile] ufm.livejournal.com
А мне вот что-то кажется, что не так всё однозначно. Если процессор просто числогрызит, то, понятно дело, никакой пользы, только вред. А вот на вводе/выводе...

(no subject)

Date: 2014-06-06 12:27 (UTC)
From: [identity profile] dmih.livejournal.com
1) Вреда я не видел.
2) Для роутера польза может быть =0 тоже.

В принципе, теоретически, да, может быть вред, для сферического в вакууме. Чисто практически скорее всего это не 100% роутер, поэтому будет польза.

(no subject)

Date: 2014-06-06 12:36 (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
соски к L3 и от L3 к DDR -- общие.
так что выйгрышь будет только в случае числогрыз+IO.

(no subject)

Date: 2014-06-06 13:21 (UTC)
From: [identity profile] ufm.livejournal.com
ок. Что делает роутер:
Берет по прерыванию пакет из сетевухи (или через polling)
Смотрит табицу роутинга
Отправляет пакет в сетевуху (опять таки - по прерыванию или через polling).
Остальной нагрузкой можно пренебречь. Ну сколько там bgp c ospf сожрут того процессора?
Вот я и пытаюсь понять - это можно считать "разнородной нагрузкой"? Потому что если задачи действительно "CPU+IO" (как выше Макс про sql говорил, или как в ru_sysadmins про кодирование видео вспомнили, да и по личным впечтлениям) - то выигрышь есть.

(no subject)

Date: 2014-06-06 13:25 (UTC)
From: [identity profile] ufm.livejournal.com
Вот ты, кстати, у себя на нодах включаешь?

(no subject)

Date: 2014-06-06 13:32 (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
причемм тут bgp?
просто когда пакетов много, то вот смотрение таблицы роутинга и взод/выход в обработчик прерывания становится уже более чем заметным

(no subject)

Date: 2014-06-06 14:03 (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
ну и еще такой момент --- планировщику не известно сколько у этого псевдоядра ресурсов на самом деле свободно. в результате мы имеем общую загрузку системы при повышениии нагрузки 45% ... 47.. 49.. и сразу 100%!
нахуй такое счастье?

еще момент. чем больше у нас одноврменно (на разных ядрах) тредов пытается обратиться к общему ресурсу (список страниц памяти, таблица роутинга и т.п.) тем выше lock congestion. потому меньше ядер на большей частоте -- лучше чем наоборот

(no subject)

Date: 2014-06-06 14:12 (UTC)
From: [identity profile] ufm.livejournal.com
Ну во первых, все (отучаемся) большинство современных операционок умеют различать настоящие ядра и HT. И планировщик об этих различиях знает.

Таблица роутинга на чтении не лочится. Я вообще не удивлюсь, если она сделана lock-free.

Уже лет так 10 ядра по частоте особо не растут. Всё больше вширь.

(no subject)

Date: 2014-06-06 14:18 (UTC)
From: [identity profile] dmih.livejournal.com
Я везде включаю даже не думая.
Единственное что, на FreeBSD там были особые случаи, и я на 101% уверен, что они еще до сих пор не решены, потому что у них религиозный рак мозга в этом месте - планировщик делают дебилы и не лечатся. Там от кол-ва процессоров может сильно зависеть и поэтому точно есть случаи где HT надо выключать.
С остальными ОС не думая включать.

(no subject)

Date: 2014-06-06 15:03 (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
ну причем тут знает про HT?
планировщик не знает о том, что именно от реального ядра и на сколько использует тред на виртуальном ядре -- использует он только ALU? или FPU с выборкой из памяти тоже нагрузил?
этой информации вне кишок процессора нет и нельзя предугадать второй тред на этом же ядре вступит в борьбу за ресурсы или нет?

таблица роутинга на чтение должна лочиться (если, конечно, она не lockfree. но lockfree обычно очень неэффективны в случае малого числа ядер) иначе будет весело если в процессе обработки пакета одним ядром на другом bgp чего-то поменяет.

ядра современных ксенонов или e3 различаются по частотатм от 1.8 до 3.8. я бы не сказал, что это одно и тоже.

(no subject)

Date: 2014-06-06 19:23 (UTC)
From: [identity profile] 1master.livejournal.com
Для каких приложений?

(no subject)

Date: 2014-06-07 21:02 (UTC)
From: [identity profile] coolcold.livejournal.com
Федор, ты вот все таки если получится померь, интересно же. Я лично больше доверяю dmih'у, но и у _slw есть размумные предположения.

(no subject)

Date: 2014-06-07 21:07 (UTC)
From: [identity profile] ufm.livejournal.com
Да, честно говоря, я даже не знаю как на роутере это мерять.
Во первых у меня сейас на роутере 36 ядер и все настоящие.
Во вторых я бы в любом случае не довёл роутер до такого состояния и уж точно не стал-бы на живых абонентах так эксперементировать. :)

(no subject)

Date: 2014-06-08 05:05 (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
мои предположения -- на основе реальных измерений.
правда нагрузка была не роутерная, но по моим понятиям от нее не сильно отличающаяся.

(no subject)

Date: 2014-06-09 10:43 (UTC)

(no subject)

Date: 2014-06-09 12:21 (UTC)
From: [identity profile] ufm.livejournal.com
угу. http://routerboard.com/CCR1036-8G-2Splus