LINUX.ORG.RU
ФорумTalks

Эксперимент для Linux пользователей с CPU с HyperThreading


0

2

Пожалуйста, проведите следующий тест (N - количество логических CPU в системе). Запустите N/2 копий [ bzip2 < /dev/zero > /dev/null & ] и посмотрите в htop, что нагрузка идёт на физические ядра, т.е. если у вас 8 логических CPU и запущено 4 копии bzip2, то тогда должны быть заняты реальные процессоры из пар:

1,2 -> bzip2

3,4 -> bzip2

5,6 -> bzip2

7,8 -> bzip2

Если у вас ядро кидает bzip2 на, например, 2 HT потока одного процессора (1:2:4:6), то это неправильно.

Прошу понаблюдать на незанятой системе хотя бы пару минут и сообщить сюда об результатах. Я это проверял на ядре в районе 2.6.33, и результаты оказались крайне неприятными.

Хочу пожаловаться Инге Мольнару, если бага до сих пор не решена.

Проверил на i7 970 (6 ядер, 12 потоков), bzip2 пошел на сл. vcpu: 3,5,9,10,11,12. На 2 x Xeon E5620 (итого 8 ядер, 16 потоков): 1,4,9,10,11,13,15,16 Debian Squeeze, 2.6.32 из реп в обоих случаях.

VinilNavigator
()

Загружает реальные ядра, т.е. на двух ядернеки заняты 1, 4

hedin@lizard:~$ uname -a
Linux lizard 3.0.0-13-generic #21-Ubuntu SMP Mon Oct 17 20:18:51 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
hedin@lizard:~$ cat /proc/cpuinfo | grep name
model name      : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
model name      : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
model name      : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
model name      : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
cool_hedin
()
Ответ на: комментарий от VinilNavigator

Ага, проблема так и осталась - HT aware preccess scheduling ничерта правильно не работает. :((

Буду жаловаться в LKML :))

А почему так мало результатов? Все пьяные или пользователей Linux на LOR нет?

juk4windows
() автор топика
Ответ на: комментарий от VinilNavigator

А, у вас ядро старое.

А можете проверить 3.0.8/3.1.0?

juk4windows
() автор топика
$ uname -a
Linux hydrogen 3.0-ARCH #1 SMP PREEMPT Wed Oct 19 10:27:51 CEST 2011 x86_64 Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz GenuineIntel GNU/Linux
$ cat /proc/cpuinfo | grep name
model name      : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
model name      : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
model name      : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
model name      : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
model name      : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
model name      : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
model name      : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
model name      : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz

Загружены логические CPU 3, 4, 5, 6

m0rph ★★★★★
()
Ответ на: комментарий от m0rph

Процессоры в идеале всегда должны быть всегда нагружены парами. Ваши результаты говорят об обратном.

juk4windows
() автор топика
Ответ на: комментарий от Axon

Да вы гоните - тут пачка народа с 2600K 920 930 940 950 960

juk4windows
() автор топика
Ответ на: комментарий от question4

Причём тут bzip2?

Тут речь про то, что планировщик процессов плюёт на факт того, что половина процессоров в системе виртуальные.

juk4windows
() автор топика
Ответ на: комментарий от juk4windows

> на каждой паре виртуальных процессоров висит по одной задаче

И это даёт реальный прирост скорости вдвое?

question4 ★★★★★
()
Ответ на: комментарий от juk4windows

>планировщик процессов плюёт на факт того, что половина процессоров в системе виртуальные.

Ему виднее. И да, эти виртуальные ядра рвут честные у бульдозера.

devl547 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.