LINUX.ORG.RU

Опять вопросы про процессоры


0

1

Давайте воздержимся от вопросов операционки, планировщика, и т.п. Софт один хрен не имеет альтернативы (лучшей, чем этот софт).

Суть:

Есть некая задача, которая, хоть и параллелится, но лучше считается на 4 ядрах из 8, чем на всех 8. А еще лучше считается на 2 ядрах из 8.

На 8 и частоты низкие - 1.2-1.4ггц из 2.4ггц штатных (Е5-4640). Для 4 активных ядер - аналогично. Для 2 активных ядер частота повышается до 2.6-2.8 с номинальных 2.4 (включается турбобуст). Сразу скажу - если считать на одном активно ядре для каждого процессора - то все проседает очень сильно. Задача, все таки, параллелится.

Вопрос примерно такой:

Есть ли смысл брать просто четырехядерники? И гасить в них 2 ядра. Они дешевле, частота может быть штатная повыше (хотя сильно выше 2.4 и не бывает у них).

Или в процессоре есть некий ресурс (кэши\регистры\прочие транзисторы?), который более активно задействуется именно при неактивности части ядер?

Ну и вспомню, что вариант «брать десктопный К серии» - хреновый вариант, ибо это всего 64гб рамы. А процесс очень жруч до памяти на одной из своих стадий.

Еще вводные:

Память - 512гб (32х16гб) частотой 1600 (тайминги то ли 10, то ли 11, в биосе нет настроек памяти по частоте и таймингам).

Дисковая подсистема - Fusion-IO ioDrive2 1.2тб. С бешеным иопсом. Но она практически простаивает. Во время этого процессорного расчета и\о всего 2 в сек. (Софтина сжирает файл размером 20-100мб, молотит его, пишет 10-20мб результата, потом жрет следующий, и т.д.)



Последнее исправление: dk- (всего исправлений: 4)

исправил ошибки в первом посте. текущая редакция верная.

еще данные:

включил по третьему активному ядру на процессор - частоты опять упали до 1.2-1.4. Судя по всему, 3 ядра будет медленнее. чем 2 (речь об активном числе ядер на каждый из 4 процессоров).

dk-
() автор топика

добавлю:

по 2 активных ядра (из 8) на каждом из 4 процессоров - считают быстрее, чем 8 активных ядер на одном процессоре и полном простое остальных.

мой незамутненный разум предполагает, что все дело в кэшах л2\л3. я не сильно далек от правды?

dk-
() автор топика

…ибо это всего 64гб рамы. А процесс очень жруч до памяти на одной из своих стадий.

Тяжёлые будни мейнтейнера Firefox.
Простите, не удержался. Что мешает выставить CPU governor ondemand или даже perfomance в ядре и постоянные частоты в биосе/эфи?

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

В биос (там, кстати не биос, а что-то другое. и мышка работает! Оо)

я пока _подробно_ не лазил, 3 дня шел непрерывный процесс, я не мог перезагрузиться. но планирую попробовать выставить частоты «всегда максимум». но... помнится мне, что там тупо нет таких настроек. только вкл\выкл НТ, виртуализация, и еще что-то.

dk-
() автор топика

А частота при подключении 3-4 ядра понижается не по причине ли температуры? Может быть охлаждение посильнее сделать поможет?

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

Еще интересно (ну теоретически, доступа к ним все равно не предвидится) есть ли смысл в 10-12 ядерных ксеонах. может быть в них по 3-4 ядра смогут работать на максимальной эффективности (системы в целом).

У них подняли скорость межпроцессорной шины до 8, и скорость обмена с памятью (ну теоретическую) до 60.

Правда кэшей не сильно много. 25мб на 10 ядер, и 30мб на 12 ядер. Т.е. те же 2.5мб на ядро.

Зато есть интересный 4х ядерник с 15мб л3. http://ark.intel.com/products/75792/Intel-Xeon-Processor-E5-2637-v2-15M-Cache...

На ебее ESки бы продавали. (Видел ES образцы 12 ядерного. за 48к руб. ахринеть).

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

Ну в брендовом серваке с охлаждением все зашибись. И оно даже не на полную работает. По крайней мере мне удавалось более активного его нагружать. + на балкон дверь открыта.

\\ глянул температуру - 48 градусов на 3 активных ядрах.

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

спасибо за наводку, вспомнил еще один факт:

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

так вот там ситуация была такая же. при отключении части ядер общая производительность системы росла. до определенного предела.

dk-
() автор топика

Или в процессоре есть некий ресурс (кэши\регистры\прочие транзисторы?), который более активно задействуется именно при неактивности части ядер?

В некоторых случаях на обеспечение когерентности кэшей уходит много ресурсов. Можно найти публикации на эту тему.

Память - 512гб

Вы жалуетесь или хвастаетесь? © :)

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

Хвастался бы - если бы оно мое было :)

А так я расписался в ведомости, что получил это в тест. И обязуюсь вернуть через 10 дней, в целости и сохранности(

В некоторых случаях на обеспечение когерентности кэшей уходит много ресурсов. Можно найти публикации на эту тему.

Это довод в пользу моей догадки, да?

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

Это довод в пользу моей догадки, да?

Причин может быть очень много. Я бы без профайлера и какого-нить perf stat^W^W intel performance counter monitor не рискнул бы гадать на кофейной гуще.

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

Я качал эту штуку. Думал, что смогу осилить. Но не смог. А спеца рядом (физически посадить за машину) нет. Посмотрел как баран на ворота, и снес.

Еще вопрос:

Вот CPU-Z

Там в инфе есть про кэши раздел. В нем всякое 4 way для Л1 и Л2, и 20 way для Л3.

Причем количество этих WAYев - одинаковое для 4-6-8-10-12 ядерников. Что это?

dk-
() автор топика

Удивительное рядом:

Выяснилось, что максимальная скорость расчета идет на 3 активных ядрах из 8. Даже несмотря на то, что ни то что турбобуста нет, но и частота понижается от номинальной (и сильно).

3 ядра считают на 10% быстрее, чем 2 ядра (речь об активных ядрах на каждый из 4 процессоров).

Эксперимент пока грубый, предварительный, но тенденция видна.

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

>мейнтейнера Firefox

Ак ты наивная душа. Как будто мозилла говносайты клепает.

anonymous
()

Думаю софт криво параллелится, или при большом количестве потоков упирается во что-то еще - нет полной нагрузки и частота падает. Погоняй синтетику что-бы проверить. HT ведь отключен?

Если быстрее всего работает на 3х, отключи 4 ядра, можно будет лучше разогнать оставшиеся. Множитель разблокирован?

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

Насколько я понял, это сделано для того, чтобы параграфы или что там теперь из памяти ложились вместе в отведённые места в кеше, таким образом, процессору не приходится ждать следующую инструкцию или кусок данных до следующего фетча из памяти. Ждать, конечно, всё равно приходится, но реже. Когда куску из памяти предлагается два места в кеше вместо одного, или четыре вместо двух, это само по себе даёт эффект, как если бы сам кеш вырос вдвое, но если доступных мест становится >4, профит уже не тот http://en.wikipedia.org/wiki/CPU_cache#Associativity

Deleted
()
Ответ на: комментарий от dk-

Что это?

Это ответ на вопрос как замапить твои 512ГБ оперативы в, скажем, 8МБ кэша :)

Ассоцитвность это в скольких местах может быть сохранен (произвольный) кусок. Если ассоциативность 1 то значит что каждая линия в 64байта может храниться только в одном месте и эти куски данных могут легко вышибать друг друга. Если 2, то значит даже если два куска памяти метят в одно место кэша (в одну линию) то кэш может их положить рядом.

Выше ассоциативность — более эффективное хранение, но и обычно большие задержки.

Но это очень косвенный параметр, я бы не стал на него ориентироваться. Просто потому что кроме объёма, длины линии и задержек у кэша ещё куча других параметров (аля алгоритм вытеснения итп).

PS 64байта — это типичная длина линии кэша.

true_admin ★★★★★
()

Есть некая задача, которая, хоть и параллелится, но лучше считается на 4 ядрах из 8, чем на всех 8

Профайлер натрави.

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

нет ксеонов с разблокированным множителем

dk-
() автор топика

На 8 и частоты низкие - 1.2-1.4ггц из 2.4ггц штатных (Е5-4640).

Поясни, как это?

Под говнософт, который вроде параллелится, но как-то странно, обычно закупаются максимально частотные Xeon'ы. Из актуальных вариантов - какой-нибудь E5-2643 v2 или E5-2637 v2, но у него кэша меньше, что может сказаться производительности. Правда, довольно незначительно (нефатально)

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

Когда активны все ядра, то процессор понижает свою частоту до 1.2-1.4 и медленно молотит.

Предварительные показания такие:

Активно по 8 ядер в каждом - 246 кадров в час;

Активно по 4 ядра в каждом - 389 кадров в час;

Активно по 3 ядра в каждом - 907 кадров в час;

Активно по 2 ядра в каждом - 828 кадров в час.

Турбобуст (до 2.8ггц со штатных 2.4) запускается только если активно по 2 ядра. В остальных случаях дауклок. Лишь при 3 активных ядрах иногда частота поднимается до 1.8-2.0.

Софт, похоже, для этой мега задачи и правда говно. Но есть нюанс: софтин под это дело всего 2 (две). Вторая из них - тупо вешается при импорте фотографий :)

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

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

Неправильный ответ.

Софта под линкус нет.

А тот что есть - вообще не переваривает такой объем.

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

Когда активны все ядра, то процессор понижает свою частоту до 1.2-1.4 и медленно молотит.

Это как это?! У тебя, случаем, процессор от перегрева в throttling не впадает?

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

E5-2643 v2 - очень хотелось бы поиграть, да :) по 4+мб на ядро.

Вроде нашел в биосе гдее отключить нафиг энергосбережение. Отрубил. Сейчас буду опять тестить.

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

нет нет нет.

температуры выше 60 не видел вообще

а в описанном случае она 48.

и еще: при активности всех ядер - каждое из них загружается максимум на половину.

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

Значит, настраивай свою винду, она тебе наверняка козью морду с энергосбережением показывает (например, множитель снижает зачем-то) Не должен от нагрузки ядер процессор СНИЖАТЬ частоту вообще никак.

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

Вот только что загрузился (капец! как же долго он загружается! пока все проверит и проинициализирует). Энергосбережения все отключил. Частота 2.5 держится. Даже в простое.

По твоей фразе: Ну вообще я давно замечал, что один поток этой операции варпа фоток - не способен загрузить полностью одно ядро, не способен. Что на моем ноутовском и7, что на этих ксеонах.

Может это проседание частоты нормально? Процессор же простаивает, как бы.

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

Объясни плз популярно, как корки могут простаивать, если итоговое количество попугаев снижается? В случае простоя понижение частоты никак не должно влиять на результат.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от Deleted

У меня проблемы терминологией, да. От пробелов в знаниях.

Попробую переформулировать:

Есть 4 процессора по 8 ядер. Если все считать на одном процессоре (заняв все 8 ядер), и простое остальных, то получается медленнее, чем если считать по 2 ядра на каждый процессор.

Ядра процессоров не загружаются на 100% ни в одном случае. Лишь при конфигурации «активно по 2 из 8» загрузка растет где-то до 80-85%.

В случае активных режимов энергосбережения - система понижает частоту. Вероятно это делается потому что процессор как бы простаивает (частично).

Сейчас запустил все 32 активных, энергосбережение вырубил. Молотит на 2.5ггц (номинал 2.4).

Температуры подросли: от 53 до 68 градусов разброс по ядрам. Кулеры стали выть активнее (но не на максимуме).

dk-
() автор топика

Еще данные:

Рост частоты в 2 раза (с 1.2-1.4 до 2.5 ровно) дал почти линейно двухкратный прирост скорости варпа. Вместо 246 кадров - 480.

Забавно... Загрузка ядер все еще не полная. даже половины нет.

Попробую (потом) изврат - в программе укажу, что ей надо считать в 64 потока (принудительно), а ядер дам 32. Посмотрим что будет.

dk-
() автор топика
Ответ на: Еще данные: от dk-

4 memory channels на сокет, каждое ядро имеет 2 load порта. 2 ядра могут забить весь доступный канал памяти. Но т.к. ещё какая-то фигня в промежутке между загрузками считается, то канал не всё время забит, и хватает места для третьего ядра.

Низкие частоты и кол-во считающих ядер тут не при чём: ядра ждут данные из памяти, ничего не делают, поэтому governor в операционке их частоту понижает. Turboboost - это увеличение частоты выше базовой, а не снижение.

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

Да знаю)

Просто я стараюсь отсечь рассуждения на тему «поставь линкус». Поставить то могу, но задача тогда _вообще_ не будет выполняться.

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

Мне бы разлоченный 12 ядерный ксеон и водянку на него :)

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

Есть 4 процессора по 8 ядер. Если все считать на одном процессоре (заняв все 8 ядер), и простое остальных, то получается медленнее, чем если считать по 2 ядра на каждый процессор.

В общем случае должно быть одинаково, даже на одном процессоре теоретически быстрее, т.к. кэш весь рядом на одном кристалле. Однако есть частные случаи в виде различных программ (что мы и видим) и технология SMT, на которую до сих пор по разному реагируют программы, от увеличения производительности в 1.5 раза до просадки.

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

4 memory channels на сокет, каждое ядро имеет 2 load порта. 2 ядра могут забить весь доступный канал памяти. Но т.к. ещё какая-то фигня в промежутке между загрузками считается, то канал не всё время забит, и хватает места для третьего ядра.

Кстати, да. Про то, что можно упереться в память, я не подумал.

Deleted
()

Понятно, что из-за плохих оценок новый процессор тебе не светит, но зачем изливать свои мечты о нём сюда?

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

У меня под столом стоит сервер за 1.2млн. Мне его дали «за спасибо», на 10 дней в тест. Может не все так плохо с оценками? По существу есть что сказать?

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