Двухядерный или однодерный или четырехядерный?

Loki

Пользователь
...Для меня естественно в данный момент решать одну задачу с максимальной скоростью и программировать тоже намного приятнее, чем постоянно заботиться о масштабируемости и решать дополнительные задачи.
Зачем откладывать на завтра то, что можно сделать сегодня. Лучше сегодня подумать о масштабируемости, т.к. завтра она может понадобиться.
 

@live

Новичок
Дак в предел по частоте уже упёрлись. Некуда повышать дальше.
Вы уверены?
То что лично вам кажется естественным и приятным, совсем необязательно является таковым :lol:
"Таковым" для кого? Мои сообщения - это моё имхо, я не ручаюсь говорить за всех.
Перечитайте эту свою фразу.
Память может быть быстрее, может быть иной способ сообщения с ней: новые материалы и т.д. Тупое увеличение ядер приводит к экспонециальной зависимости, что я писал выше. Что не устроило в моей фразе?
Дорого и не нужно это было массам.
А сейчас вдруг неожиданно стало нужным?

Loki написал(а):
Зачем откладывать на завтра то, что можно сделать сегодня. Лучше сегодня подумать о масштабируемости, т.к. завтра она может понадобиться.
Она требовалась и вчера, но поголовно применять её не вижу смысла, так как на послезавтра её точно не хватит.
 

SLoNiCK

Новичок
Раз многопроцессорные решения существуют уже 20 лет, почему же на массовый рынок они пришли только сейчас?
Дык, благодаря эмпирическому правилу Г. Мура.

И на данный момент всё ещё заметно, что бОльшая частота даёт бОльшую призводительность.
Глупость какая. Для ПК, если что, самым высокочастотным процессором по прежнему остается PentiumD 965XE с тактовой 3.73ГГц. Отнюдь не рекордсмен в подавляющем большинстве приложений на данный момент. Если обратите внимание, тактовая частота практически всех процессоров (не только x86), нацеленных на производительность, уже года 4 болтается в промежутке 2-3ГГц, при том, что если сильно захотеть, то ее можно форсировать (см. IBM Power6). Видимо, считают это не выгодным, предпочитая другие методы повышения производительности.

Для меня естественно в данный момент решать одну задачу с максимальной скоростью
А для меня (и большинства пользователей) - нет. ПК давно стал не только "вычислителем", но и еще центром коммуникаций и развлечения. Даже если у меня есть Большая Задача (и куча фоновых служб), я хочу убрать ее в трей и делать что-нить еще без тормозов и ручной раздачи приоритетов.

программировать тоже намного приятнее, чем постоянно заботиться о масштабируемости и решать дополнительные задачи.
Вы утрируете ситуацию. Типа, раньше было все просто - программируй себе последовательно и забот не знай, а сейчас думать надо, как параллелить. Нет, ничего подобного, для того, чтобы достигнуть высокой производительности, крепко думать над той или иной формой параллелизма приходится как минимум последние лет 10. Еще раз напомню, что суперскалярность, SIMD и разного рода мультитрединг - это _параллельные_ технологии увеличения производительности.

Рассуждения, о том что производительность упрётся в память, шину и т.д. не считаю верным проводить, так как теоритически это может не произойти, в отличие от экстенсивного наращивания ядер.
Хех, тогда вопрос - зачем процессору кэш-память? Сложная логика, 2-3 уровня, половина транзисторов современного процессора...
 

Mek_ph

Активный пользователь
Любой отдельный HDD умеет писать и читать только в один поток. ;)

Ну так то отдельный. Откуда нам знать, может у него винтов много?

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

Mek_ph

Активный пользователь
Ок, имеем несколько потоков, но число ядер будет расти дальше, при этом в среднем будем иметь экспонициальный рост производительности. И чем больше будет ядер, тем специфичнее нужны задачи, которые можно полностью реализовать на них. В среднем же мы будем иметь некий предел, когда экстенсивное добавление ещё одного вычислительного центра не только не даст разгон, но может привести к падению производительности. С алгоритмической точки зрения всё так же, когда имеется очень быстрый алгоритм, но он совершенно не параллелится, приходится всё переделывать с учётом масштабируемости, при этом работать он будет скорее всего медленне (теоретически для одного ядра), а выше онбудет мажорироваться опять же теоритическим максимумом самого распараллеливания.
Научившись решать примеры на 1 тему, и решив хоть 10000 аналогичных примеров, из другой темы решить даже 1 не сможешь. Большую пользу многоядерности вижё только в промышленных масштабах, для дома это тупиковая ветвь, имхо.

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

p.s. Вряд ли найдёшь многоядерник с принципиально большей частотой и того же поколения...

???
Что ты имеешь в виду?

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


ЗЫ У меня двухядерник, и это мне как то не мешает, скорее наоборот... ;)

Память может быть быстрее, может быть иной способ сообщения с ней: новые материалы и т.д.

Забавно в этом то что вы отказываете в совершенствовании алгоритмам распараллеливания, называя это "тупым" расширением количества...

Тупое увеличение ядер приводит к экспонециальной зависимости, что я писал выше. Что не устроило в моей фразе?

???

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

Эlton

I'll be back
Такие плакатики всегда рисовала проигрывающая сторона для моральной поддержки самой себя.
 

Mike22

Местный
Интересно, что и Intel и AMD сейчас ведут разработки новых многоядерных ЦП у которых ядра не одинаковые а специализированные под конкретные типы вычислений/задач.
 

SLoNiCK

Новичок
Звучит, конечно, круто, но цель - не столько повышение производительности, сколько возможность создания SoC на базе x86
 

Steeply

Skynet
Интересно, что и Intel и AMD сейчас ведут разработки новых многоядерных ЦП у которых ядра не одинаковые а специализированные под конкретные типы вычислений/задач.
Получается, что мы завтра будем выбирать себе не универсальный проц, а спец. под конкретные задачи на которых он расчитан?
Спасает тогда только то что можно ставить N процов и выбор процов будет обширен
 

Mike22

Местный
Получается, что мы завтра будем выбирать себе не универсальный проц, а спец. под конкретные задачи на которых он расчитан?
Спасает тогда только то что можно ставить N процов и выбор процов будет обширен
Нет, не так немного.
 

@live

Новичок
И на данный момент всё ещё заметно, что бОльшая частота даёт бОльшую призводительность.
Глупость какая. Для ПК, если что, самым высокочастотным процессором по прежнему остается PentiumD 965XE с тактовой 3.73ГГц. Отнюдь не рекордсмен в подавляющем большинстве приложений на данный момент. Если обратите внимание, тактовая частота практически всех процессоров (не только x86), нацеленных на производительность, уже года 4 болтается в промежутке 2-3ГГц, при том, что если сильно захотеть, то ее можно форсировать (см. IBM Power6). Видимо, считают это не выгодным, предпочитая другие методы повышения производительности.
Не совершенная архитектура процессора, которая и позволила добиться такой частоты. Думаю, что возможно ещё создать одноядерник с хорошими вычислительными показазателями, а не пихать миллиарды в тупиковую технологию.
Для меня естественно в данный момент решать одну задачу с максимальной скоростью
А для меня (и большинства пользователей) - нет. ПК давно стал не только "вычислителем", но и еще центром коммуникаций и развлечения. Даже если у меня есть Большая Задача (и куча фоновых служб), я хочу убрать ее в трей и делать что-нить еще без тормозов и ручной раздачи приоритетов.
Вы так уверенно об этом говорите, причём за большинство (ваше мнение больше моего? ок, значит с вами мне спорить бесполезно). Вы проводили соц. опросы, собирали фокус группу? Больше 3х программ мне чаще не требуется, причём от тех, что в фоне мне соверешенно не требуется молниеносной производительности. Программам в трее, вообще почти ничего не нужно: им больше памяти бы. Ну если вы смотрите пару фильмов, слушаете музыку, декодируете, рендерите и работаете в фотошопе - это ваше право...
программировать тоже намного приятнее, чем постоянно заботиться о масштабируемости и решать дополнительные задачи.
Вы утрируете ситуацию. Типа, раньше было все просто - программируй себе последовательно и забот не знай, а сейчас думать надо, как параллелить. Нет, ничего подобного, для того, чтобы достигнуть высокой производительности, крепко думать над той или иной формой параллелизма приходится как минимум последние лет 10. Еще раз напомню, что суперскалярность, SIMD и разного рода мультитрединг - это _параллельные_ технологии увеличения производительности.
Я не спорю, что над этим требуется думать 10 лет, и создано уже много технологий. Просто раньше они требовались в промышленных масштабах, сейчас же пытаются впихнуть их любому обычному юзеру, причём с уверенностью говоря, что данное решение будет намного лучше.
Mek_ph написал(а):
???
Что ты имеешь в виду?
Это пролог к моему посту, если не поняли...ну и фиг с ним ;-).
Mek_ph написал(а):
Забавно в этом то что вы отказываете в совершенствовании алгоритмам распараллеливания, называя это "тупым" расширением количества...
Про это я тоже писал, по второму кругу?..
Mek_ph написал(а):
В теории рост для каждой задачи свой. Некоторые не испытают прироста производительности, но таких мало и они прекрасно работают в один поток (возможно за редким исключением), по крайней мере таких задач намного меньше чем распараллеливаемых.
Есть ряд задач которые хорошо параллелятся - скорость обработки растет линейно с ростом количества ядер (многие расчетные алгоритмы типа монте-карло, МКЭ и т.п., обработка видео и графики вообще), хотя все зависит от оптимизации алгоритма под распараллеливание, но это не уникальная проблема, поскольку без оптимизации под используемые технологии того-же проца работать все будет гораздо медленнее и в одном потоке (SLoNiCK об этом уже писал)...
Ну и промежуточный - когда рост производительности лежит где-то между...
Я писал в теории в предельном случае. Вы сами начинаете писать, что "где-то между" - это получаем при увеличении N.
 

Anu

keishi
Не совершенная архитектура процессора, которая и позволила добиться такой частоты. Думаю, что возможно ещё создать одноядерник с хорошими вычислительными показазателями, а не пихать миллиарды в тупиковую технологию.
Можно. Наверно. Даже не на этой архитектуре (х86 и её х64-добавка), только кому это будет надо?
ИМХО ваш идеал - это 8086 на 4 GHz ;)
 

@live

Новичок
Можно. Наверно. Даже не на этой архитектуре (х86 и её х64-добавка), только кому это будет надо?
ИМХО ваш идеал - это 8086 на 4 GHz ;)
Этим постом я поправился - архитектура важна (мегагерцы не всё решают, длинный конвеер требовал большой прогнозируемости). Речь идёт не о наращивании мегагерц, а о правильном их использовании в одноядерных и многоядерных системах. Или вы считаете, что архитектура 8086 на 4Ггц даст бОльшую производительность? Не уверен... учитывая даже размер техпроцесса.
 

SLoNiCK

Новичок
Не совершенная архитектура процессора, которая и позволила добиться такой частоты. Думаю, что возможно ещё создать одноядерник с хорошими вычислительными показазателями, а не пихать миллиарды в тупиковую технологию.
Что значит "не совершенная"? Если отвлечься от популизма и holy wars - очень даже совершенная была архитектура, с большим кол-вом интересных решений, изначально рассчитанная на высокие частоты. Только вот вышло, что die shrink до 90, затем до 60 нм не позволил пропорционально увеличить частоту и уменьшить тепловыделение. Токи ли утечки, еще какие проблемы - не знаю. А вот количество транзисторов на единицу площади выросло. Поэтому решили миллиарды неизвестно куда не тратить, а 1) расширить архитектуру P-M, 2) перенести часть логики серверного северного моста на кристалл ЦП и сделать там 2 ядра. Та-да! Встречайте новую архитектуру Core2!

Вы так уверенно об этом говорите, причём за большинство (ваше мнение больше моего? ок, значит с вами мне спорить бесполезно). Вы проводили соц. опросы, собирали фокус группу? Больше 3х программ мне чаще не требуется, причём от тех, что в фоне мне соверешенно не требуется молниеносной производительности. Программам в трее, вообще почти ничего не нужно: им больше памяти бы. Ну если вы смотрите пару фильмов, слушаете музыку, декодируете, рендерите и работаете в фотошопе - это ваше право...
Дык, а то. Тем, кто действительно постоянно крутит у себя хотя бы 1 тяжелую продолжительную задачу, доказывать приемущества многоядерности обычно и не надо. Тем, у кого таких задач практически нет, тоже доказывать не надо - им ни квадкор, ни гипотетический одноядерник на 10ГГц не нужны. Вы из каких будете? ;)

Я не спорю, что над этим требуется думать 10 лет, и создано уже много технологий. Просто раньше они требовались в промышленных масштабах, сейчас же пытаются впихнуть их любому обычному юзеру, причём с уверенностью говоря, что данное решение будет намного лучше.
Простите, а когда не пытались? Уже забыли замечательный третий пень, который благодаря SSE ускорял интернет? Или первый с MMX, благодаря которому все игры должны были летать на невиданной высоте?
Ну не было никогда _только_ экстенсивного увеличения частоты. Всегда еще всплывали некие новые технологии, которые требовали переделки и перекомпиляции софта, буде нам интересно выжать из процессора все, что можно.
 

@live

Новичок
Не совершенная архитектура процессора, которая и позволила добиться такой частоты. Думаю, что возможно ещё создать одноядерник с хорошими вычислительными показазателями, а не пихать миллиарды в тупиковую технологию.
Что значит "не совершенная"? Если отвлечься от популизма и holy wars - очень даже совершенная была архитектура, с большим кол-вом интересных решений, изначально рассчитанная на высокие частоты. Только вот вышло, что die shrink до 90, затем до 60 нм не позволил пропорционально увеличить частоту и уменьшить тепловыделение. Токи ли утечки, еще какие проблемы - не знаю. А вот количество транзисторов на единицу площади выросло. Поэтому решили миллиарды неизвестно куда не тратить, а 1) расширить архитектуру P-M, 2) перенести часть логики серверного северного моста на кристалл ЦП и сделать там 2 ядра. Та-да! Встречайте новую архитектуру Core2!
И где же она совершенная? Вы сами себе противорчетите. Pentium Mobile - иная ветвь, разрабатываемая другими учёными. Intel улучшили технологию интенсивно - получилось красивое решение, есть чем гордиться.
Мне не понаслышке известно, что такое MPI и OpenMP. Кого вы тут делите? Мне не интересен собеседник, который говорит за Всех, и ставит себя выше Всех. Ваше эго можете тешить с кем-нибудь другим. excusez moi...
 

Anu

keishi
Или вы считаете, что архитектура 8086 на 4Ггц даст бОльшую производительность? Не уверен... учитывая даже размер техпроцесса.
Нет конечно!

И где же она совершенная? Вы сами себе противорчетите. Pentium Mobile - иная ветвь, разрабатываемая другими учёными. Intel улучшили технологию интенсивно - получилось красивое решение, есть чем гордиться.

Мне не понаслышке известно, что такое MPI и OpenMP. Кого вы тут делите? Мне не интересен собеседник, который говорит за Всех, и ставит себя выше Всех. Ваше эго можете тешить с кем-нибудь другим. excusez moi...
Чем вы и занимаетесь


Видимо на данный момент многоядерность все-же достаточно оптимальный вариант повышения производительности. И если ЭТО продается, недорого и в таких количествах, то наверно это оправдано. Вот Itanium как-то не появился на desktop'ах хотя технология явно не тупиковая.

ИМХО, не может развитие чего-либо постоянно быть интенсивным.
 

SLoNiCK

Новичок
И где же она совершенная? Вы сами себе противорчетите.
T-cache (и свзанные с ним декодер и внутренняя система МОПов), SSE2 как замена x87, длииный конвеер с "легкими" стадиями. На грамотно написанном коде можно было получит средний IPC выше, чем у конкурентов, да и еще тактовая была процентов на 30-50 выше. А собственно сгубило P4 даже не то, что софт под него оптимизировать стали далеко не все, а то, что Интел наткнулась на непреодолимые проблемы с повышением тактовой частоты.

Pentium Mobile - иная ветвь, разрабатываемая другими учёными. Intel улучшили технологию интенсивно - получилось красивое решение, есть чем гордиться.
Гм. Вы как-то странно рассуждаете. Почему, например, добавление дополнительного ФУ и порта запуска - это интенсивно и красиво, а добавление 2 ядра - это экстенсивно и уродливо?

Мне не понаслышке известно, что такое MPI и OpenMP. Кого вы тут делите? Мне не интересен собеседник, который говорит за Всех, и ставит себя выше Всех. Ваше эго можете тешить с кем-нибудь другим. excusez moi...
Раз "не понаслышке", так в чем проблемы? Используйте с головой и получайте прирост производительности, если Вы - программист. Или используйте конечные программные продукты, которые нормально написаны, и тоже получайте прирост. Ну вот такой вот мир вокруг, не существует никаких производтельных одноядерных процессоров. Через год вообще что у AMD, что у Intel оснывными "честные" четырехядерники будут. Причем, добро бы действительно вся эта многопроцессорность приносила пользу в каком-то узкам классе задач. Так ведь нет, практически все, кому прирост _действительно_ нужен, его получают. Об чем страдания?
 

Жадный КаБан

Санкт-Петербург
@live, мне просто интересно, а вы думаете, что вы умнее всех людей работающих в Intel, или AMD?! Я лично считаю, что если производитель решил давать нам 2-х, 3-х, 4-х ядерные процессоры по доступной цене, у них есть потенциал для разгона, все программы и игры запускаются на них и даже не всегда требуют загрузку всего процессора, и их хватит для домашних целей на ближайшие года два-три, то наверное они (производители), это делают не просто так. Разработчики дают возможность выбора всем пользователям. И если вам нравятся одноядерные процессоры - это ваше дело. К тому же, если вы знаете как улучшить технологию, то устраивайтесь в Intel/AMD. Поверьте мне, там работают не худшие умы человечества в этом деле. А если не знаете, то пользуйтесь тем, что есть. имхо. :)
Это всё. :D
 

@live

Новичок
Amaterasu Omikami написал(а):
Чем вы и занимаетесь
Я что-то сказал за всех, или упрекнул кого-то в полной неправоте? Я высказываю своё личное мнение, на это вроде и есть форум.

[вырезано]
Как вы думаете AMD/Intel заботятся о вашем кармане или свём? В ваших постах я не увидел даже малейших рассуждений по данному вопросу, все премущества и недостатки были озвучены ранее.

Я высказал своё личное мнение на вопрос arem'а. Все тут стали рьяно мне доказывать что-то, хотя вроде и не просил...
p.s. Хороша широкая тропа, не правда ли?
 

SLoNiCK

Новичок
Я высказал своё личное мнение на вопрос arem'а. Все тут стали рьяно мне доказывать что-то, хотя вроде и не просил...
Любое _публично_ высказанное мнение может быть обсуждено и без желания высказавшегося :) :D
 
Сверху