LINUX.ORG.RU

Чудеса производительности


0

0

Есть два лаптопа. Первый с вот с таким процессором:

cpu family      : 15
model           : 72
model name      : AMD Turion(tm) 64 X2 Mobile Technology TL-52
stepping        : 2
cpu MHz         : 1607.306
cache size      : 512 KB

Второй с intel:

cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 Duo CPU     T5850  @ 2.16GHz
stepping        : 13
cpu MHz         : 2161.298
cache size      : 2048 KB
На первом (с amd процессором) был установлен lenny, который перенесли на лаптоп с intel (просто копированием). Собрали ядро 2.6.28 на каждую машину под свой процессор. Затем сравнивая производительность компиляции испытали шок. На рабочем проекте (смесь С++ и С, 95% С++), машина с core2duo собирала на 20% медленнее amd. Проверили на сборке emacs23 (C и elisp). Разница увеличилась почти до 40%. Собирали с одинаковыми параметрами конфигурирования, мейку добавляли -j2. Переход на ядро от дистрибутива (2.6.26-1-686), не помог исправить ситуацию. top исправно рапортует, что при компиляции ядра процессора загружены именно процессами компиляции. Каждый замер произвели четыре раза. На обоих машинах обновили дистрибутив из сети. В /var/log/messages ничего подозрительного не обнаружено. На amd 2 гб памяти, на core2duo — 3. На машинах стоит ещё заводская Vista, перегрузили туда. Рейтинг Висты для cpu intel: 5,1; для cpu amd: 4,6. По памяти правда intel проиграл: 4,7 против 5,9. Но думаю это объясняется тем, что у amd 2 гб озу работают в dual channel, и amd имеет встроенный контролер памяти.

Почему так происходит? Предыдущие замеры показывали, что amd справляется с компиляцией медленней лаптопа с coreduo 1,66 и десктопа с 1,86. А тут машина с 2,16 заметно проигрывает.

Ответ на: комментарий от Praktik

это очень странно, так как больше всего на производительность влияет cache, а его на интел в 4 раза больше

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

cpufrequtils не установлен. Частота не пониженная - 2160.

Praktik
() автор топика

speedstep отключи

Reset ★★★★★
()

Видяха на ноуте с корой дуба встроенная? Просто на буке 3 Гб памяти, а слотов памяти всего 2 => только лишь одноканальный режим (стоят модули памяти на 1Гб и на 2Гб). Поэтому и такая разница в производительности. Поставьте одну и ту же память на оба ноута и только потом проводите тесты (сначала на одном буке, а потом с той же памятью на другом). Турионы хороши, но к сожалению не настолько, чтобы на равных частотах тягаться с корками 2х дубов.

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

Видео на обоих нормальное. На amd - 7300m, на intel - 8600m. Насчёт двухканальности сомневаюсь. Десктоп и laptop которые победили amd имели 1 гб одной планкой. В принципе в данном случае ещё по памяти играет fsb, т.к. в этом турионе она 800, а на интеле 667. Но чтобы настолько.

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

Ну тогда еще вариант про жесткие диски остается... Какая плотность записи на 1 блин у винчестеров этих 2х ноутбуков? На 3,5" винты явно шустрее, чем 2.5" на ноутах.

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

Не знаю, где это посмотреть? hdparm -t и -T выдают небольшое преимущество винту на машине с intel. Встроенный тест Висты тоже (точно не помню, на две или три десятых). На обоих sata 2.5", amd - fujitsu на 250, на intel wd на 320.

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

Ось одинаковая, x86. Это lenny, который ставился на amd. Как появилась машина с intel скопировали его туда, пересобрали ядро только под core2duo. Ночью обновили дистрибутив на обоих ноутбуках.

make -s мне не поможет, много echo в самописном make, поэтому для проверки просто пустил time make -j2 > make.log. Результат не изменился.

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

Точную модель винта можно узнать smartctl -i /dev/sda, а дальше искать на сайте производителя винта описание этой модели (количество пластин/голов, скорость вращения и прочее). Еще есть несколько факторов: физическое размещение раздела с lenny на винте, не включился ли случайно троттлинг процессора (перегрев), в каких режимах работают sata контроллеры (IDE compatible или AHCI).
А модели ноутбуков какие именно?

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

Спасибо конечно, но того что на intel жёсткий диск работает быстрее мне и так достаточно, подробности о плотности записи и т.п. выяснять смысла не вижу. Аналогично с разделами и sata-контроллером. Собирать пробовал на разных разделах, с разными фс, результат один. При этом очевидно что производительность винта в данном случае не узкое место, т.к. на копировании, просмотре видео поток куда выше и это не вызывает никаких проблем. Троттлинг пробовал в ядре вообще выключать, результат не изменился. Вообще по температуре: у amd при капитальной загрузке ядер поднимается под 72, у intel в пределах 55. А какая разница какие модели? Оба Асеры какие-то.

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

Какой-то особой разницы от модели быть не должно - просто интересно. Вроде все факторы уж исключили. В общем непонятно. Можно еще конечно биос обновить, но наверно ничего особо поразительно процедура это не принесет.

eugeneblack
()

На случай если это кому-нибудь интересно вот результаты Sandra 2009 sp2.

Арифметический тест.

amd
Dhrystone ALU : 9.36ГIPS
Whetstone iSSE3 : 9.48ГFLOPS
Производительность - Скорость
Dhrystone ALU : 5.82MIPS/МГц
Whetstone iSSE3 : 5.90MFLOPS/МГц

intel

Dhrystone ALU : 8.10ГIPS
Whetstone iSSE3 : 6.73ГFLOPS
Производительность - Скорость
Dhrystone ALU : 3.75MIPS/МГц
Whetstone iSSE3 : 3.11MFLOPS/МГц

Мультимедиа тест.

amd
Multi-Media Int x8 aSSE2 : 19.01MPixel/s
Multi-Media Float x4 iSSE2 : 10.99MPixel/s
Multi-Media Double x2 iSSE2 : 6.07MPixel/s
Производительность - Скорость
Multi-Media Int x8 aSSE2 : 11.83КПиксель/с/МГц
Multi-Media Float x4 iSSE2 : 6.84КПиксель/с/МГц
Multi-Media Double x2 iSSE2 : 3.78КПиксель/с/МГц

intel
Multi-Media Int x8 iSSSE3 : 17.08MPixel/s
Multi-Media Float x4 iSSE2 : 22.38MPixel/s
Multi-Media Double x2 iSSE2 : 11.16MPixel/s
Производительность - Скорость
Multi-Media Int x8 iSSSE3 : 7.90КПиксель/с/МГц
Multi-Media Float x4 iSSE2 : 10.35КПиксель/с/МГц
Multi-Media Double x2 iSSE2 : 5.16КПиксель/с/МГц

Межъядерная производительность.

amd
Межъядерная пропускная способность : 1.48Гб/с
Интерпретация результатов : Большие значения индекса лучше.
Межъядерная задержка : 210нс
Производительность - Скорость
Межъядерная пропускная способность : 0.95Мб/с/МГц
Интерпретация результатов : Большие значения индекса лучше.
Межъядерная задержка : 0.13нс/МГц

intel
Межъядерная пропускная способность : 6.22Гб/с
Интерпретация результатов : Большие значения индекса лучше.
Межъядерная задержка : 62нс
Производительность - Скорость
Межъядерная пропускная способность : 2.95Мб/с/МГц
Интерпретация результатов : Большие значения индекса лучше.
Межъядерная задержка : 0.03нс/МГц

Шифрование

amd
Скорость криптографии AES256 CPU : 66Мб/с
Скорость хэширования SHA256 CPU : 134Мб/с
Производительность - Скорость
Скорость криптографии AES256 CPU : 0.04Мб/с/МГц
Скорость хэширования SHA256 CPU : 0.08Мб/с/МГц
Разбивка теста
4Мб блоки, шифрование AES256 : 66Мб/с
4Мб блоки, дешифрование AES256 : 65Мб/с
4Мб блоки, хэширование SHA256 : 134Мб/с

intel
Скорость криптографии AES256 CPU : 130Мб/с
Скорость хэширования SHA256 CPU : 199Мб/с
Производительность - Скорость
Скорость криптографии AES256 CPU : 0.06Мб/с/МГц
Скорость хэширования SHA256 CPU : 0.09Мб/с/МГц
Разбивка теста
4Мб блоки, шифрование AES256 : 144Мб/с
4Мб блоки, дешифрование AES256 : 115Мб/с
4Мб блоки, хэширование SHA256 : 199Мб/с

Вывод такой: производительность сильно упирается в низкую частоту шины (667, против 800). В результате на арифметике тотальный проигрыш не смотря на большой кэш и большую частоту. Родные для intel sse-инструкции уже смотряться лучше, но только для чисел с плавающей точкой. Там где частота шины не играет роли (межъядерное взаимодействие) core2duo значительно опережает amd. Преимущество в криптографии объясняется небольшим размером блока (4 мб), как раз при идеальном распараллеливании его можно уложить поровну на каждое ядро.
Теперь я больше уважаю amd чем раньше. Неясно зачем вообще было делать процессор на такой низкой частоте, ведь даже 2 ггц (T6400, T5800) и 2.2 ггц (T5900, T6670) версии между которыми и находится T5850 идут на частоте 800 мгц. Вероятно из-за отбраковки. Частоту самих ядер занижать не стали, ведь с более высокой его будет легче продать за большую цену.

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

Вот тест для Pentium Dual Core T2370 (1.73GHz, 1Mb L2), 2Гб двухканальной DDR2-533, встроенное X3100 (acer 2920z), виста что шла с ноутом, Sandra 2009 sp2 Lite
Арифметический тест
ALU: 13.48GIPS
iSSE3 11.18GFLOPS
Мультимедийный
Int x8 iSSE3 28.44MPixel/s
Float x4 iSSE2 17.91MPixel/s
Double x2 iSSE2 9.06MPixel/s
Межъядерная производительность 3.47Гб/с
Шифрование
AES256 101Mb/s
SHA256 159Mb/s
Итого: с тем ноутом, на котором core 2 duo T5800, есть какой-то косяк :(

eugeneblack
()
Ответ на: комментарий от Praktik

Чудеса производительности.

Для более наочного представления возьму заезженный пример с машинами. 
Есть две машины. 

Одна - КамАЗ. 
     Производитель                         Камский автозавод
     Модель                                КамАЗ - 55102
     Тип двигателя	                турбо-дизель
     Число и расположение цилиндров        8, V-образное
     Рабочий объем, см. куб               10850
     Колесная база, мм:                   4200

А другая - Субару. 
     Производитель                         Fuji Heavy Industries Ltd
     Модель                                Impreza WRX STI
     Тип двигателя                         бензиновый, турбированый
     Число и расположение цилиндров        4, оппозитное
     Рабочий объем, см. куб               2457
     Колесная база, мм:                   2525

На обе приделали дополнительный прицеп от КамАЗа. Погрузили в прицеп полторы тонны щебня. Затем, сравнивая максимальную скорость, испытали шок. Участок в 400 метров (смесь гравия и песка, 95% песка) Субару преодолевала на 20% медленнее КамАЗа. Пробовали гонять по болоту. Разница увеличилась почти до 40%. Обе ездили на одинаковом топливе (дизель, Lukoil). Досыпание в прицеп ещё тонны щебня не помогло исправить ситуацию. Спидометр показывает, что скорость большая, а значит, двигатель работает исправно и все его силы направлены на тягание прицепа. На каждой трассе гоняли четыре раза. На обеих машинах поменяли моторы. В записях бортовых компьютеров ничего подозрительного не обнаружено. На КамАЗе стоит две турбины, а к Субару в магазине прикрутили вторую и третью. В технических характеристиках написано, что у КамАЗа 240 лошадиных сил, а у Субару - 280. Правда, крутящий момент у КамАЗа 	980Нм, а у Субару - 392Нм. Но, думаю, это объясняется тем, что у КамАЗа и должно было быть две турбины, а к Субару две из трёх приделали в магазине.
Почему так происходит? Предыдущие замеры показывали, что Ока( с того же завода) справляется с трассой на пересечённой местности хуже Субару 2.0. А тут машина с 2.5 заметно проигрывает.

Вы говорите, что взяли полностью тот Lenny, который стоит на AMD и только поменяли ядро. А вы не думали, что производители ноута позаботились о своих покупателях и заточили этот Lenny именно под AMD. Поставьте туда что-то нейтральное. Например, Убунту. Или Федору. Или SUSE. Проведите тесты. Если есть желание - поставьте Gentoo, имейте с ней медовый месяц для каждого ноута и получите в результате идеально заточенный линукс именно под конкретную машину. пересоберите под процессор GCC, для интела можно поставить ICC. С оптимизацией под процессор скомпилируйте  binutils и т.д. После этого тесты. После этого - выводы. Кроме того, для двухьядерных интелов будет правильнее собирать в пять (n*2+1 , где n - колиство ядер) потоков. Это почти всегда лучшее и, уж точно, всегда хорошее решение.

Rzhepish
()
Ответ на: Чудеса производительности. от Rzhepish

>А вы не думали, что производители ноута позаботились о своих покупателях и заточили этот Lenny именно под AMD.

Нет, разумеется не думал. Ведь на amd-лаптоп я установил обычного lenny для архитектуры i386. Точно такой же, который я ранее ставил на две других упоминаемых мной в этой проверке машинах с intel (с частотой 1.66 и 1.86). Я проверял сборку и на четыре, и пять потоков. Результат был тем же (чуть медленней). Синтетические тесты Сандры к тому же показали схожий результат. Наверняка дело ещё в чем-то кроме частоты fsb (может материнка влияет, может ещё что), но т.к. там где задачи в это не упирались отрыв был разительным, то и в ней тоже. Вывод один, конкретно этот c2d — хреновый.

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

Как я уже намекнул, возможно дело в памяти. Стоят две разные планки. Например, как было для памяти сд-рам. Если есть планка 100 мгц и 133 мгц, то по производительности они будут сравнимы чуть ли не с 33мгц. Так было с сдрам.Попробуйте вынуть планку на гиг из ноута и повторить опыты.

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

Вы говорили об оптимизации под процессор. Про память упоминал eugeneblack. С разными планками памяти я обязательно проверю как руки дойдут до ноутбука.

Praktik
() автор топика

> На amd 2 гб памяти, на core2duo — 3.

На интеле оставь две одинаковые планки.

mv ★★★★★
()

Были проведены дополнительные проверки. С 2 гб памяти одной планкой. С 1 гб памяти одной планкой (с той что была в паре с 2 гб). С 2 гб памяти двумя планками (сняли с amd машины). Результат не изменился.

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

Теперь можешь авторитетно заявлять, что память на 800 мгц работает быстрее, чем на 666. Ты подтвердил теорию практикой.

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

Более вероятно, что здесь напортачил конкретный производитель ноутбука (уж не знаю может материнка дурная, может ещё что). Бук с coreduo на 1.66 имеет точно такую же шину 667, а собирает при этом чуть быстрее машины с amd. Тот coreduo результаты в Сандре которого привёл eugeneblack вообще работает на 533 шине и получил большие значения в alu-тестах.

Praktik
() автор топика

4 метра разделяемого кэша против отдельного для каждого ядра у AMD, плюс работа с памятью составляет примерно 60-66% от работы с памятью у AMD.

Проц нужен посвежее.

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

Написал же, что проверял и с той памятью что на amd стоит, результат при этом не изменился.

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

В ядре отключал его. Да и температура выше 55 градусов не поднимается. Не в холодильник же его ставить.

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