1

Два одноядерных процессора (в системе с двумя сокетами) эквивалентны одному двухъядерному процессору?

Можем ли мы также сказать, что два одноядерных процессора имеют вдвое меньшую вычислительную мощность, чем одна четырехъядерная система?

Мое понимание выше основано на статье о двухъядерных процессорах и двухъядерных процессорах Puget.

1 ответ1

5

Это, вероятно, не тот ответ, который вы хотите услышать, но это зависит от:

  • Добавление сокета означает увеличение общей пропускной способности памяти.¹
  • Добавление сокета означает, что некоторая память будет работать медленнее (например, если доступ к памяти, подключенной к CPU0, осуществляется из CPU1)
  • Добавление сокета для совершенно нового процессора также означает добавление полноразмерного кэша.
  • И, конечно же, это также означает удвоение количества ядер.

Это также означает, что:

  • Кэши обычно не передаются. (двухъядерный процессор с одним сокетом, вероятно, будет разделять попадания в кеш L2 или L3). Процессы, мигрирующие от ядра к ядру, которые могут оказаться на неправильном процессоре, могут пострадать.

Те же принципы справедливы для двухъядерных и двухъядерных процессоров. Раньше пропускная способность памяти была большей проблемой, поэтому два двухъядерных ЦП были бы предпочтительнее одного четырехъядерного ЦП, если вы делаете такие вещи, как умножение больших матриц.²

Где это оставляет нас?

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


¹ По крайней мере, в наши дни, когда контроллер памяти находится на CPU или APU, умирает. В былые времена он был на северном мосту.

² Распространен в HPC с матрицами, значительно превышающими размер любого кеша.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .