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

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

4
задан 17.06.2010, 21:38

5 ответов

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

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

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

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

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

9
ответ дан 07.12.2019, 19:12

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

5
ответ дан 07.12.2019, 19:12

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

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

0
ответ дан 07.12.2019, 19:12

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

0
ответ дан 07.12.2019, 19:12

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

0
ответ дан 07.12.2019, 19:12

Теги

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