Переход с одного ядра на двухъядерное-удвоится ли пропускная способность?

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

4
задан Karthik Balaguru
24.11.2022 10:31 Количество просмотров материала 2687
Распечатать страницу

5 ответов

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

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

  • Это может только увеличить немного, если задачи, которые вы делаете не очень parallelizable (например, они сильно зависят от ввода / вывода или других медленных операций без процессора).

  • Это может увеличиться на много, если задачи "неловко параллельны", например, длинные запуски идентичных вычислений с плавающей запятой или факторизация простых чисел.

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

9
отвечен John Feminella 2022-11-25 18:19

см.http://en.wikipedia.org/wiki/Amdahl%27s_law для хорошего описания о том, почему это не удвоит вашу пропускную способность, и как проанализировать то, что улучшение на самом деле будет.

5
отвечен James Kingsbery 2022-11-25 20:36

ваша производительность будет лучше, если код написан воспользоваться двумя процессорами. Как правило, необходимо убедиться, что код использует 2 или более потоков выполнения для выполнения задания.

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

0
отвечен driis 2022-11-25 22:53

только для вещей, которые связаны с процессором. Вещи, которые имеют пропускную способность памяти или ввода/вывода, вероятно, не исправляется.

0
отвечен Chris Dodd 2022-11-26 01:10

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

0
отвечен Paul R 2022-11-26 03:27

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх