Почему ядра не загружены равномерно?

 
1 2 3 4 5 6
+
0 (+1/-1)
-
edit
 

Wyvern-2

координатор
★★★★★
TheFreeMan>> Приоритеты даются software threads, у hardware threads нет приоритетов.
Mishka> Считай, что порядок в таблице и есть приоритет. :P Вот первые в таблице — главные. А вторые — подчинённые. Или наоборот.

А сразу ПО ЧЕЛОВЕЧЕСКИ сказать не мог: четные и нечетные :D (выше тоже самое, но тоже через левое ухо объяснял Сергей) Именно ТАК отличает "виртуальные" и "реальные" ядра (между которыми все равно разницы нет) Винда.
Т.е. алгоритм Винды таков: грузим вначале НЕчетные ядра и только при перегрузе - четные.таким образом оптимизируем исполнение.

Вот все вопросы и разрешены :)
Жизнь коротка, путь искусства долог, удобный случай мимолетен, опыт обманчив.... Ἱπποκράτης  9.0.19.0.1
+
-
edit
 

Balancer

администратор
★★★★★
Mishka> Возьми однопоточную и одновременно что-то другое.

Понятно, что «что-то другое» будет крутиться на другом виртуальном ядре. Речь именно о пиковой производительности одного потока.

Скажем, программное однопоточное декодирование видео. На P4-3000 без HT вытягивает 720p без проблем, а вот с HT — уже тормозит. Так как поток декодирования не загружает процессор более чем на половину. На второе виртуальное ядро уходит декодирование звука, сервисные процессы, но основная нагрузка всё равно висит на одном ядре, второе — простаивает.

Потому если нужно видео (или то же однопоточное кодирование/архивирование, компиляция в один поток и т.п.), то HT приходится отрубать. Если обычная работа, то HT рулит, так как один тяжёлый процесс (та же распаковка архивов) не занимает более половины процессора и остаётся место для высокой отзывчивости GUI.
 
+
-
edit
 

Mishka

модератор
★★★
Wyvern-2> А сразу ПО ЧЕЛОВЕЧЕСКИ сказать не мог: четные и нечетные
Блин, да где же ты видишь чётные и нечётные в такой таблице? От 1 до N/2 — главные, от N/2+1 и до N — подчнённые. :P
 5.05.0
+
-
edit
 

Mishka

модератор
★★★
Balancer> Понятно, что «что-то другое» будет крутиться на другом виртуальном ядре. Речь именно о пиковой производительности одного потока.
Тогда установи affinity для онднопотового кодировщика и запусти с НТ и без — машину придётся перезагрузить, да. Но выше сказали, что должно быть одинаково.
 5.05.0
IL TheFreeMan #11.01.2012 13:04  @Mishka#11.01.2012 07:40
+
-
edit
 

TheFreeMan

втянувшийся

Mishka> Тогда установи affinity для онднопотового кодировщика и запусти с НТ и без — машину придётся перезагрузить, да. Но выше сказали, что должно быть одинаково.

Выше было сказанно, "если без ОС, на ассемблере".
А так, там куча кода работает самой ОС, и чего в таком случае будет, зависит сильно от ОС.
 17.0.963.2617.0.963.26
US Mishka #24.01.2012 03:55  @TheFreeMan#11.01.2012 13:04
+
-
edit
 

Mishka

модератор
★★★
TheFreeMan> Выше было сказанно, "если без ОС, на ассемблере".
TheFreeMan> А так, там куча кода работает самой ОС, и чего в таком случае будет, зависит сильно от ОС.
Это уже не так важно. При установленном афинити там всякое хождение по другим ядрам будет запрещено. Т.е. показания будут отличаться, но разница всё равно будет.
 7.0.17.0.1
1 2 3 4 5 6

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru