Процессорные ядра: чем больше, тем лучше?

174790
Travis

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

Разница, которую я вижу, состоит в том, что мой двухъядерный процессор имеет частоту 2,8 ГГц, а мой четырехъядерный процессор - 2,4 ГГц.

Лучше иметь двухъядерный процессор с высокой тактовой частотой или четырехъядерный процессор с посредственной тактовой частотой?

68
«Быстрый» и «посредственный» относительны. В вашем случае четырехъядерный процессор был бы лучше, потому что разница в тактовых частотах составляет всего 400 МГц. Однако двухъядерный процессор с частотой 3 ГГц лучше, чем четырехъядерный процессор с частотой 1,5 ГГц, по большей части. Sasha Chedygov 14 лет назад 5
Не используйте ГГц для сравнения процессоров, используйте результаты теста скорости / нагрузки для сравнения эффективной скорости процессора. Двухъядерный процессор 3 ГГц ** может ** медленнее, чем 2,4 ГГц i7 (у i7 нет передней шины, ...) ... Ben 12 лет назад 0
@Ben, должно быть очевидно, что это будет та же архитектура процессора (например, 45 нм Core 2 Duo против Quad). Mircea Chirea 12 лет назад 2

12 ответов на вопрос

53
nik

ПРИМЕЧАНИЕ: этот ответ был написан 8 лет назад. Параллельное программирование стало более актуальным. Вероятно, это связано с внутренними пределами тактовой частоты и быстро приближающимися пределами размера транзистора.


Ваша основная проблема - программное обеспечение, не написанное для многоядерности.

Посмотрите на отличную статью Джеффа Этвуда о выборе двухъядерного или четырехъядерного процессора .

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

Вам ответили здесь (выделение скопировано из статьи Джеффа),

Однако здесь были некоторые сюрпризы, такие как Excel 2007 и настройка «параллельных операций» Lost Planet. Вполне возможно, что разработка программного обеспечения в конечном итоге приведет к тому, что тактовая частота будет иметь меньшее значение, чем параллелизм. Или, в конце концов, это может быть неактуально, если мы не сделаем выбор между более высокими тактовыми частотами и большим количеством ядер процессора. Но в то же время, тактовая частота побеждает большую часть времени. Больше процессорных ядер автоматически не лучше . Обычным пользователям будет лучше с самым быстрым двухъядерным процессором, который они могут себе позволить.


Проблема Front-Side Bus (этот термин меня всегда забавлял).
С Nehalem все меняется ... как сказала ArsTechnica в прошлом году.

Закон Мура дал разработчикам процессоров затруднение из-за богатства транзисторов, и нигде это не так очевидно, как в 45-нм процессоре Intel Nehalem. Дебютировав в 4- и 8-ядерном варианте позже в этом году, Nehalem упаковывает тонну аппаратного обеспечения в одно процессорное гнездо. (В первых числах число транзисторов четырехъядерного Nehalem составило 781 миллион; пока не появилось ни одного числа для 8-ядерной модели.) Но пытаться снабжать все это оборудование существующей архитектурой шины Intel на передней панели было бы глупо. Так что, что не менее важно, Nehalem также звучит давно назревшим смертельным звонком для архитектуры Intel с положительным гериатрическим фронтом.

Радикальное изменение в пропускной способности системы Intel, которое представляет новое Intel QuickPath Interconnect (QPI), является, пожалуй, крупнейшим фактором, который сформировал дизайн Nehalem. Между QuickPath и встроенным контроллером памяти Nehalem процессор Nehalem будет иметь доступ к беспрецедентному объему общей пропускной способности, особенно в реализациях с двумя и четырьмя сокетами.

AMD ранее перенесла контроллер памяти в процессор и использовала Hypertransport.

Другая проблема, которую следует рассмотреть, - это производительность лицевой стороны шины. С таким количеством ядер, большим количеством памяти и такими большими программами доступ к памяти становится критическим! Если ЦП должен выйти из строя, чтобы получить доступ к основной памяти, это ухудшит производительность. Чем больше вы выполняете многозадачность, тем больше вероятность того, что это произойдет, независимо от того, насколько неприлично велик объем кеш-памяти. geoffc 14 лет назад 3
За 8 лет, прошедших с момента открытия этого вопроса в 2009 году, все изменилось. Программное обеспечение теперь намного лучше использует преимущества многих ядер, и эта тенденция будет только продолжаться. Contango 6 лет назад 1
@Contango Согласен, этот ответ необходимо обновить, чтобы отразить текущие тенденции. Joe 6 лет назад 1
18
cletus

По моему опыту, огромное преимущество в производительности достигается от одного до двух ядер. Внезапно одна программа с высокой загрузкой процессора не блокирует вашу машину и не делает ее слишком медленной. Огромная разница.

Но два к четырем? Для 99% людей это не будет иметь значения. Вам придется запускать много программ одновременно или использовать программы, которые могут использовать более двух ядер (и реально их не так много). Некоторые медиа-кодеры приходят на ум.

В этом отношении также есть разница между Intel Core 2s и AMD Phenoms. AMD использует Hypertransport, который является протоколом точка-точка, поэтому каждое ядро ​​имеет выделенную полосу пропускания. В Intel Core 2 (но не в Core i7 и других процессорах на базе Niehalem) используется передняя шина, которая совместно использует пропускную способность, поэтому у вас больше ядер, конкурирующих за одинаковую пропускную способность.

Это может потенциально сделать один и тот же тактовый четырехъядерный процессор (незначительно) медленнее в некоторых обстоятельствах. Соотношение цены и качества до сих пор с двумя ядрами ИМХО. При этом у меня есть четырехъядерный процессор.

Nehalem использует QPI (QuickPathInterconnect), который находится в том же парке, что и Hypertransport. nik 14 лет назад 1
10
Bastien Léonard

Мне нравится, как Дональд Кнут подводит итог :

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

Позвольте мне выразиться так: за последние 50 лет я написал более тысячи программ, многие из которых имеют значительный объем. Я не могу вспомнить даже пять из тех программ, которые были бы заметно улучшены благодаря параллелизму или многопоточности. Конечно, например, несколько процессоров не помогают TeX.

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

В целом я согласен, что многоядерные процессоры не помогут самому TeX. Но это был бы большой выигрыш для графического редактора TeX, который неоднократно вызывает TeX для обновления отображения во время редактирования документа. KeithB 14 лет назад 4
Это одно из тех мест, где мое сердце относится к Кнуту, но мой разум не совсем согласен. nik 14 лет назад 3
5
Jeff Fritz

Для моего основного рабочего стола у моего работодателя я использую двухъядерный процессор Xeon с 8 ГБ оперативной памяти.

Когда я программирую, и у меня есть Internet Explorer, Chrome, TweetDeck, Visual Studio 2008 (или 2010) и локальный экземпляр Sql Server Express ... все гудит просто отлично.

Для сравнения, раньше у меня было двухъядерное ядро, и все начинало ползти только при работе Visual Studio, Chrome и Sql Express.

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

1
Auxonic

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

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

С точки зрения перспективы, двухъядерные процессоры по-прежнему имеют удобную опору.

1
David Hayes

Это зависит. Если вы делаете вещи, которые будут использовать каждое ядро, лучше использовать 4 ядра (редактирование видео, рендеринг и т. Д.). В настоящее время большинство людей найдут два быстрых ядра лучше, потому что не так много приложений написано для полного использования четырех ядер.

1
jerryjvl

Обратите внимание, что новейшие процессоры i7 могут фактически увеличить тактовую частоту на активных ядрах, когда не все из них необходимы; например, если у вас есть четырехъядерный процессор на частоте 2,4 ГГц, но для работы программного обеспечения требуются только 2 ядра, то он может автоматически разогнаться до 2,8 ГГц (не фактическая цифра, просто пример).

И последнее поколение i7, я думаю, может работать на 3 или 4 бинах, если требуется только одно или два ядра. Таким образом, он не может остаться таким же компромиссным решением, как сейчас ...

1
Ivo Flipse

Согласно Anandtech.com :

Все сводится к TDP чипа, или его тепловой точки проектирования. Чем больше TDP ограничивает платформу, тем больше вы выигрываете от турбо-режима Intel. Позвольте мне выразить это иначе. чтобы встраивать четыре ядра в TDP мощностью 130 Вт, каждое ядро ​​должно работать с более низкой тактовой частотой, чем если бы у нас было только одно ядро ​​с тем же TDP.

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

Это все в контексте необходимости выбирать между ядрами (или потоками) и частотой ядра.

Будет ли это более актуальным для разгона? Хорошая статья в любом случае. nik 14 лет назад 0
0
Joseph

В вашем случае четырехъядерный процессор будет лучше. Помните, что чем больше у вас ядер, тем больше параллельной обработки вы можете выполнять. Таким образом, на вашем двухъядерном процессоре вы сможете запускать одно приложение быстрее, чем четырехъядерный, но четырехъядерный может запускать 4 приложения быстрее, чем ваш двойной. Кроме того, если приложение написано для параллельной обработки (многопоточность), приложение будет работать лучше на многоядерной архитектуре.

Однако это все относительно, поскольку четырехъядерный процессор, работающий на частоте 100 МГц, не сможет работать с двухъядерными процессорами с частотой 4 ГГц. Вообще говоря, чем больше ядер, тем лучше.

Вы предполагаете, что приложение, которое может работать на двух ядрах, также сможет использовать преимущества четырех ядер. Это не всегда так. nik 14 лет назад 0
@nik Нет, я не говорил, что многопоточное приложение будет работать лучше на многоядерной архитектуре. Я ничего не указал о пропорциональном усилении по количеству ядер, которые у вас есть. Joseph 14 лет назад 0
0
mas

Зависит от того, что вы делаете, а также от возможностей вашей ОС и приложений.

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

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

Похожие вопросы