Выбор процессора - многоядерность и разрядность

Любые разговоры которые хоть как-то связаны с тематикой форума

Модератор: Модераторы разделов

Аватара пользователя
anjolio
Сообщения: 663
Статус: радист
ОС: debian squeeze

Выбор процессора - многоядерность и разрядность

Сообщение anjolio »

Вот я задумываюсь над покупкой ноутбука, в связи с чем хочу устранить свою безграмотность в области процессоров (а именно про многоядерность и разрядность). У меня одноядерный 32-битный старенький комп, посему никогда не сталкивался с этим вопросом. Читал вики, но там все не то написано.. (Или читал плохо..) Единственное, что знаю, что многих приложений нет для 64-х битных систем.

Собственно чего я не нашел при беглом прочтении статей в тырнете:
1. Степень заточенности дистрибутивов под многоядерные процессоры (В особенности debian. Знаю, что DragonFlyBSD очень хорошо под них заточена, но хочется остаться на debian или чем-то подобном, например, Убунта);
2. Прирост производительности в зависимости от количества ядер;
3. Все ли современные ноутбуки идут многоядерными (собираюсь покупать в пределах 30к руб.);

4. Есть ли какие-либо проблемы при работе 32-битной ОС на 64-битном процессоре;
5. Разница в производительности между 32-х и 64-хбитными ОС при работе на 64-битном процессоре;
6. Все ли ноутбуки идут сейчас с 64-битными процессорами?

Ув. дамы и господа, поделитесь, пожалуйста, опытом и знаниями по этому вопросу.
The two most common things in the Universe are hydrogen and stupidity. (Harlan Ellison)
Спасибо сказали:

Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Выбор процессора - многоядерность и разрядность

Сообщение RasenHerz »

1. Не дистрибутивов, а может ядра? Так вродь логичнее.... Проблем по данному пункту нет.
2. В большинстве программ прирост равен 0%, исключения - видеопроигрыватели, 3D рендеры и прочее. Прирост будет лишь в тех программах, которые создавались в расчете на возможность использования в многопроцессорной среде (2-х, 4-хядерных процах, к примеру).
3. Большинство. Но не все (довольно старые модели)
4-5. Если использовать на 64х 32-битные программы, практического прироста нет. 32х ОС устанавливаются на 64х.
6. По-моему, поправьте если ошибаюсь, все многоядерные машины являются 64-битными
Спасибо сказали:

Kondrat
Сообщения: 223
ОС: И снова Федора

Re: Выбор процессора - многоядерность и разрядность

Сообщение Kondrat »

Единственное, где на практике есть действительный прирост производительности от многоядерности, это компиляция программ. При правильно подобранных опциях, разница очень ощутима.
Ёж - птица гордая: пока не пнёшь, не полетит.
Спасибо сказали:

Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Выбор процессора - многоядерность и разрядность

Сообщение RasenHerz »

Kondrat писал(а):
16.05.2008 14:04
Единственное, где на практике есть действительный прирост производительности от многоядерности, это компиляция программ. При правильно подобранных опциях, разница очень ощутима.

вот какая вещь получается - программы собираются быстрее, а работают так же))) наверно, многоядерные компы для программистов создали, а толкают кому не попадя, да и свалили всю ответственность тоже на нас - типа это мы программы криво пишем, поэтому вместо прироста получается кукиш с маслом. еще не создан компилятор и не родился программист, который сможет сделать то чего от нас, программистов требуют производители железа.
Спасибо сказали:

Аватара пользователя
DiS
Сообщения: 296
ОС: Gentoo

Re: Выбор процессора - многоядерность и разрядность

Сообщение DiS »

О многоядерности из интервью с Д.Кнутом:
Э.Б.: Между тем, производители многоядерных машин сейчас расстраиваются по поводу того, как трудно привлечь разработчиков к этим машинам. Как бывший университетский профессор, что вы думаете об этом? Может, проблема в инструментах - например, необходима более естественная поддержка одновременных вычислений в языках программирования? Или проблема в самих вычислительных архитекрутах? Или какие-то другие решения возможны?

Д.К.: Мне придется несколько уклониться от прямого ответа, и побурчать о моих личных сомнениях по поводу нынешнего тренда в сторону мультипроцессорных архитектур. Мне кажется, у создателей "железа" кончились идеи, и они пытаются свалить на программистов всю вину за грядущий облом Закона Мура. Они дают нам машины, которые работают быстро - но лишь по немногим ключевым показателям! Я не удивлюсь, если вся идея многопоточных вычислений окажется лажей. И это будет даже более серьезное фиаско, чем хваленый подход Itanium - который обещал работать просто удивительно, но потом оказалось, что для него невозможно написать желаемых компиляторов.

Полностью здесь.
Если правильно задать вопрос, то он сам по себе будет ответом.
Спасибо сказали:

Аватара пользователя
chitatel
Сообщения: 1890

Re: Выбор процессора - многоядерность и разрядность

Сообщение chitatel »

В начале года поменял PIII на Core2Duo. Использую Debian. Просто скопировал старую систему на новый HDD, предварительно собрав новое ядро для нового железа.

1. Степень "заточенности" мне неизвестна. Я использую 32-х разрядную версию. Каких-то специфических, обусловленных многоядерностью проблем не заметил.

2. Прирост производительнсти заметен невооружённым взглядом. Однако - где заметен? При сборке ядра, например, безусловно. И вообще при компиляции чего-либо, LFS, допустим - да. А при обычной, так сказать, работе - нет. Это, ещё раз скажу - "на глаз", я замеров специальных не делал.

Вот у меня память соответственно увеличилась с 256 mb до 2Gb, вот это, я думаю, на общую отзывчивость системы повлияло гораздо сильнее самого камня.


P.S.

Вот, кстати, заметил такое. При запуске чего-либо ресурсоёмкого, типа clamscan'a или там john(-the-Ripper'a) - top, gkrellm, conky рисуют такую картину, как будто процесс "перебрасывается" с ядра на ядро. Т.е. с cpu0 на cpu1 и обратно, и обратно, и обратно... Я в этом вообще слабо разбираюсь, не знаю, можно ли по показаниям top, например, компетентно судить о загрузке ядер, но вот как-то так у меня. SMP включено, MCORE2 включено. Не должен ли оптимизированный код честно распараллеливаться между ядрами? ХЗ.
Спасибо сказали:

Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

Re: Выбор процессора - многоядерность и разрядность

Сообщение Doka »

chitatel писал(а):
16.05.2008 15:38
Вот, кстати, заметил такое. При запуске чего-либо ресурсоёмкого, типа clamscan'a или там john(-the-Ripper'a) - top, gkrellm, conky рисуют такую картину, как будто процесс "перебрасывается" с ядра на ядро. Т.е. с cpu0 на cpu1 и обратно, и обратно, и обратно... Я в этом вообще слабо разбираюсь, не знаю, можно ли по показаниям top, например, компетентно судить о загрузке ядер, но вот как-то так у меня. SMP включено, MCORE2 включено. Не должен ли оптимизированный код честно распараллеливаться между ядрами? ХЗ.

да. есть такой прикол)))
заметил на билд-сервере на Core2Duo. в случае когда работает одно, но ресурсоёмкое приложение.
при этом, если мониторить содержимое файла cpuinfo, видно, что технология энергосбережения снижает частоту одного из ядер (неактивного)
можно предположить ,что это сделано для более равномерного тепловыделения - чтобы не было на чипе областей с резким градиентом температуры.
Never stop thinking..................................................................
Спасибо сказали:

Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Выбор процессора - многоядерность и разрядность

Сообщение RasenHerz »

chitatel писал(а):
16.05.2008 15:38
P.S.

Вот, кстати, заметил такое. При запуске чего-либо ресурсоёмкого, типа clamscan'a или там john(-the-Ripper'a) - top, gkrellm, conky рисуют такую картину, как будто процесс "перебрасывается" с ядра на ядро. Т.е. с cpu0 на cpu1 и обратно, и обратно, и обратно... Я в этом вообще слабо разбираюсь, не знаю, можно ли по показаниям top, например, компетентно судить о загрузке ядер, но вот как-то так у меня. SMP включено, MCORE2 включено. Не должен ли оптимизированный код честно распараллеливаться между ядрами? ХЗ.

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

Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Выбор процессора - многоядерность и разрядность

Сообщение Goodvin »

RasenHerz писал(а):
16.05.2008 14:52
еще не создан компилятор и не родился программист, который сможет сделать то чего от нас, программистов требуют производители железа.
Отучайтесь говорить за всех, говорите за себя.
Спасибо сказали:

Аватара пользователя
chitatel
Сообщения: 1890

Re: Выбор процессора - многоядерность и разрядность

Сообщение chitatel »

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

Т.е. моё представление об оптимизированном коде как о коде, который предполагает "честное" распределение нагрузки на имеющиеся ядра в каждый момент времени, без "перебрасывания", не верно?
Спасибо сказали:

Аватара пользователя
Iroln
Сообщения: 201
ОС: openSUSE 10.3

Re: Выбор процессора - многоядерность и разрядность

Сообщение Iroln »

Тут вообще спрашивали про архитектуры x86 и x86-64. Позволю себе усомниться в реальной пользе от перехода на x86-64.
Но вот по поводу многоядерности не соглашусь с предыдущими ораторами :)
Правильно написанные программы, которые используют в своем коде многоядерность процессора (разделяют потоки и тд) работают быстрее. Это особенно заметно, когда запущено много приложений. Например недавно в нашей группе (на работе) закончили сдали проект вейвлетного шумоподавляющего фильтра. Когда его код оптимизировали под многоядерность, фильтр стал работать почти в два раза быстрее на двуядерном процессоре.
Но тут же стоит и отметить, что многоядерный процессор работает значительно медленнее чем, скажем, его "аналог" из нескольких процессоров за счет внутренней архитектуры.

6. По-моему, поправьте если ошибаюсь, все многоядерные машины являются 64-битными

Так и есть, все верно :)
Тайною мир держится
Спасибо сказали:

Аватара пользователя
DiS
Сообщения: 296
ОС: Gentoo

Re: Выбор процессора - многоядерность и разрядность

Сообщение DiS »

Iroln писал(а):
16.05.2008 16:15
оптимизировали под многоядерность

Вот это ключевой момент. Пока ещё очень не много приложений оптимизированы под многоядерность.
Если правильно задать вопрос, то он сам по себе будет ответом.
Спасибо сказали:

Аватара пользователя
mark
Бывший модератор
Сообщения: 2055
Статус: ...
ОС: Windows 7

Re: Выбор процессора - многоядерность и разрядность

Сообщение mark »

Тут вообще спрашивали про архитектуры x86 и x86-64. Позволю себе усомниться в реальной пользе от перехода на x86-64.

имхо единственный плюс - поддержка больше оперативки, хотя для ноута это неактуально )))

Про двухядерность - при кодировании видео реально заметно ускорение.
Спасибо сказали:

Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Выбор процессора - многоядерность и разрядность

Сообщение RasenHerz »

Т.е. моё представление об оптимизированном коде как о коде, который предполагает "честное" распределение нагрузки на имеющиеся ядра в каждый момент времени, без "перебрасывания", не верно?

как вы представляете себе этот код? неужели в бинарнике должны быть инструкции указывающие, какой участок кода какому процессору должен пренадлежать? имхо, это пока-что невыполнимая задача. тем более, было отмечено что такое "перебрасывание" наблюдается при загрузке одной большой программы, требующей много процессорного времени. как распараллелить ее выполнение? никак. чтобы сделать это надо пересмотреть существующую архитетуру компьютера, базовые алгоритмы и принципы работы, нужны новые технологии, в корне отличающиеся от сегодняшних. и, извините меня, сегодняшние процессоры созданные чтобы выполнять быстро, но ОДНУ операцию за раз просто по определению не могут дать реальную многозадачность.
Правильно написанные программы, которые используют в своем коде многоядерность процессора (разделяют потоки и тд) работают быстрее.

нет никакой гарантии, что созданные потоки будут работать на разных процессорах. даже на многоядерном процессоре.
Отучайтесь говорить за всех, говорите за себя.

а он уже родился? и неужели это вы? прошу опровержения моих доводов.
Спасибо сказали:

Аватара пользователя
chitatel
Сообщения: 1890

Re: Выбор процессора - многоядерность и разрядность

Сообщение chitatel »

RasenHerz писал(а):
16.05.2008 16:51
как вы представляете себе этот код?

Честно говоря - никак: я не программист. :) За ответ - спасибо.
Спасибо сказали:

Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: Выбор процессора - многоядерность и разрядность

Сообщение Frank »

По части многопроцессорности: вот вам такая аналогия.
1) Нужно отсчитать 100 банок пива. С этой задачей одинаково справятся как один человек, так и пара. Потому что счёт у них общий.
2) Нужно сложить отобранные банки пива в упаковочную тару. Здесь пара справится в два раза быстрее чем одиночка. Потому что у них в этой задаче нет блокирующих элементов. Каждый работает над задачей независимо друг от друга.
3) Нужно заклеить скотчем ящики с упакованнм пивом. Рулон скотча один.
Вывод: не всякая задача может быть распаралелена. Некоторые задачи изначально подходят для паралельной работы (задача #2), некоторые могут быть переформулированы чтобы можно было их распаралелить (например, задачу #1 переформулируем так: каждому из пары даём задачу отсчитать 50 банок пива. Если люди в паре одинаково расторопны, задачу выполнят быстрее чем одиночка, отсчитывающий 100 банок), ну а некоторые задачи не могут быть распаралелены никак (задача #3).

Но в любом случае, два человека не хуже, чем один :) В крайнем случае, если они начинают мешаться друг другу - можно отослать одного покурить ;)
Изображение
Спасибо сказали:

Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Выбор процессора - многоядерность и разрядность

Сообщение Goodvin »

RasenHerz писал(а):
16.05.2008 16:51
Отучайтесь говорить за всех, говорите за себя.

а он уже родился? и неужели это вы? прошу опровержения моих доводов.
Для начала неплохо бы сформулировать свои доводы.
А то пока только "нет компиляторов" и "не родился".
Заявления космического масштаба, не подкрепленные ничем.
Давайте говорить предметно, а не тыкать пальцем в небо.
Спасибо сказали:

Аватара пользователя
chitatel
Сообщения: 1890

Re: Выбор процессора - многоядерность и разрядность

Сообщение chitatel »

Frank, блеск! :)

Надеюсь, вопрос в тему - случаи 1, 2 имеют отношение к MPI?
Спасибо сказали:

Torvinson
Сообщения: 425
ОС: Gentoo ~amd64

Re: Выбор процессора - многоядерность и разрядность

Сообщение Torvinson »

Kondrat писал(а):
16.05.2008 14:04
Единственное, где на практике есть действительный прирост производительности от многоядерности, это компиляция программ. При правильно подобранных опциях, разница очень ощутима.
Ага, а второй случай - кодирование аудио/видео, а третий случай... И т.д. до бесконечности, учитывая что уже много прог, поддерживающих многопоточность. И не забывайте, что работа на 2-ух ядерной проце оси при загрузке будет быстрее, чем на одноядерном, т.к. ось будет распределять свои процессы на друго ядро и не мешать работающий на максимуме проге.

С 64-ех раздрядными та же песня - он есть, читаем статьи про это. Но выигрышь не всегда значителен.

Конечно, лазать в инете все равно на чем. Можно и в мобильном.
Спасибо сказали:

Аватара пользователя
anjolio
Сообщения: 663
Статус: радист
ОС: debian squeeze

Re: Выбор процессора - многоядерность и разрядность

Сообщение anjolio »

Ох, господа, спасибо! Ответили на все, что меня интересовало (:

Torvinson писал(а):
16.05.2008 19:54
Конечно, лазать в инете все равно на чем. Можно и в мобильном.

В том то и проблема, мне нужна машинка для тырнета, музыки и небольших математических расчетов (интегральчики, диффуры). И мне не хочется брать монстра, способного обсчитывать влияние всей галактики на падение яблока, потому что во-первых переплачу, а во-вторых греться он очевидно сильнее будет.
chitatel писал(а):
16.05.2008 15:38
В начале года поменял PIII на Core2Duo. Использую Debian. Просто скопировал старую систему на новый HDD, предварительно собрав новое ядро для нового железа.
Я вот ядерной физикой пока не занимался.. Это надо делать только если предыдущее ядро собиралось под вашу машинку? У меня обычное из репозитория стоит..
RasenHerz писал(а):
16.05.2008 13:51
1. Не дистрибутивов, а может ядра? Так вродь логичнее....
Да, верно, спасибо..
The two most common things in the Universe are hydrogen and stupidity. (Harlan Ellison)
Спасибо сказали:

Аватара пользователя
mark
Бывший модератор
Сообщения: 2055
Статус: ...
ОС: Windows 7

Re: Выбор процессора - многоядерность и разрядность

Сообщение mark »

потому что во-первых переплачу, а во-вторых греться он очевидно сильнее будет.

не сильно то и переплатите, тк разница в цене не очень большая, да и с тепловыделением у новых процов от интел, по амд не знаю, очень даже не большое. Да и реальной альтернативы Core2Duo сейчас нет, тк имхо селерон тормоз даже на неочень сложных задачах... По мне так лучше сейчас переплатить пару тыров, чем через пол года кусать локти и думать какого же тормоза ты купил ))) все имхо. У меня просто таких вопросов не было, тк иногда занимаюсь видео и там то проц нужен хороший )))
Спасибо сказали:

Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Выбор процессора - многоядерность и разрядность

Сообщение Bluetooth »

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

Аватара пользователя
FirstAlex
Сообщения: 159
ОС: GNU/Linux

Re: Выбор процессора - многоядерность и разрядность

Сообщение FirstAlex »

При большом количестве запущенных приложений, многоядерный процессор "отзывчивей" при переключении между ними.
ИМХО весомый аргумент в пользу многоядерности.
Спрашивать, какой дистрибутив лучше, все равно что интересоваться, какая пища вкуснее.
Спасибо сказали:

Аватара пользователя
chitatel
Сообщения: 1890

Re: Выбор процессора - многоядерность и разрядность

Сообщение chitatel »

anjolio писал(а):
16.05.2008 22:57
Это надо делать только если предыдущее ядро собиралось под вашу машинку?

Да, именно по этой причине мне понадобилось собрать новое ядро, старое бы на новом железе просто не завелось.
Спасибо сказали:

Аватара пользователя
xorader
Сообщения: 1030
Статус: собирающий миры
ОС: Debian

Re: Выбор процессора - многоядерность и разрядность

Сообщение xorader »

> ...нет никакой гарантии, что созданные потоки будут работать на разных процессорах. даже на многоядерном процессоре.

за это отвечает scheduler ядра... гарантии, конечно, нет - ибо итак понятно, что помимо выполнения одной программы есть ещё куча процессов, которые хотят процессорного времени. Но всё же много превалирующий процент этой тяжёлой программы о двух (к примеру) тхредах будет выполняться на двух разных физических ядрах.
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
Спасибо сказали:

Аватара пользователя
vonabarak
Сообщения: 146

Re: Выбор процессора - многоядерность и разрядность

Сообщение vonabarak »

FirstAlex писал(а):
17.05.2008 03:38
При большом количестве запущенных приложений, многоядерный процессор "отзывчивей" при переключении между ними.
ИМХО весомый аргумент в пользу многоядерности.

Кстати, когда приложения НЕ оптимизированы под многопроцессорность, то вышеупомянутый фактор куда заметнее,
чем с оптимизированными прогами. Так большинство i686 бинарников не могут загрузить камень больше, чем на 50%,
а какой-нить архиватор или видео(аудио)[де]кодер х86_64 запросто загружают камень на все 100%. Сам проверял.
Йа тьомный эльф
Спасибо сказали:

Аватара пользователя
Фантом
Сообщения: 417
ОС: openSUSE

Re: Выбор процессора - многоядерность и разрядность

Сообщение Фантом »

FirstAlex писал(а):
17.05.2008 03:38
При большом количестве запущенных приложений, многоядерный процессор "отзывчивей" при переключении между ними.
ИМХО весомый аргумент в пользу многоядерности.


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

Отсюда глобальный вывод: работать можно со всеми вариантами процессоров, современные дистрибутивы никаких проблем не создадут, и выбор процессора/ноутбука должен определяться конкретными планируемыми для него задачами. На мой взгляд, сравнительно более типична ситуация, когда на ноутбуке единовременно работает только одно "процессороемкое" приложение, так что одноядерный процессор может оказаться удобнее.
Спасибо сказали:

Аватара пользователя
A-i-D
Сообщения: 128
ОС: FreeBSD

Re: Выбор процессора - многоядерность и разрядность

Сообщение A-i-D »

Как я понимаю из всего выше написанного, На 2х Ядерный проц, можно без проблем поставить 32 разрядную ось. И это будет лучше чем ставить 64 разрядную
AMD Athlon-64 X2 2Gh | DDR II 4 Gb | 640 Gb | nVidia GeForce 9800 512Mb
Спасибо сказали:

Аватара пользователя
/dev/random
Администратор
Сообщения: 5103
ОС: Gentoo

Re: Выбор процессора - многоядерность и разрядность

Сообщение /dev/random »

A-i-D писал(а):
04.06.2008 13:57
Как я понимаю из всего выше написанного, На 2х Ядерный проц, можно без проблем поставить 32 разрядную ось. И это будет лучше чем ставить 64 разрядную

Если оперативы 4ГБ или больше, то 64разрядную. Иначе - да, во многих случаях лучше 32разрядную.
Спасибо сказали:

Аватара пользователя
A-i-D
Сообщения: 128
ОС: FreeBSD

Re: Выбор процессора - многоядерность и разрядность

Сообщение A-i-D »

/dev/random писал(а):
04.06.2008 14:31
A-i-D писал(а):
04.06.2008 13:57
Как я понимаю из всего выше написанного, На 2х Ядерный проц, можно без проблем поставить 32 разрядную ось. И это будет лучше чем ставить 64 разрядную

Если оперативы 4ГБ или больше, то 64разрядную. Иначе - да, во многих случаях лучше 32разрядную.


Благодарю за ответ. Теперь все понятно.
AMD Athlon-64 X2 2Gh | DDR II 4 Gb | 640 Gb | nVidia GeForce 9800 512Mb
Спасибо сказали: