2010-12-02 3 views
10

В параллельных вычислениях теоретически сверхлинейное ускорение невозможно. Но на практике мы видим такие случаи. One reason is cache effect, но я не понимаю, что он играет. Кроме того, есть и другие вещи, но что это такое? Таким образом,Где происходит сверхлинейное ускорение?

Как возможны сверхлинейные ускорения?

Я новичок в области параллельных вычислений.

+3

Не могли бы вы добавить ссылку на статью, которую вы не понимаете? Не могли бы вы процитировать абзац из статьи, которую вы не понимаете? Не могли бы вы перефразировать то, что вы понимаете из этого параграфа, и указать, что вы не делаете? – pts 2010-12-02 08:18:46

+2

1. По крайней мере, укажите ссылку на источник. 2. Вы не задаете здесь вопроса, просто заявляя, что не понимаете источник. – Oded 2010-12-02 08:18:46

+0

@pts и @Oded: Готово. – 2010-12-02 08:26:19

ответ

15

Предположим, у вас есть процессор с 8 процессорами, каждый процессор имеет кэш 1 МБ, а в вашем вычислении используется 6 МБ данных.

На 1 процессоре вычисление будет осуществлять много перемещений данных между CPU, кешем и оперативной памятью. На 8 процессорах вычисление будет только перемещать данные между ЦП и кешем. Таким образом, вы можете добиться сверхлинейного ускорения.

Эти цифры и этот анализ были упрощены для экспозиции для новичка.

7

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

Это может произойти три способов:

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

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

  • Современные процессоры имеют более быструю и медленную память. Обычно он пытается сохранить данные, которые вы используете в быстрой памяти. Мы можем с уверенностью сказать, что ваш объем данных больше, чем объем быстрой памяти. Если вы используете n процессоров, у вас в n раз больше памяти. Дополнительные данные вписываются в быструю память, что позволяет сократить время (то есть объем работы) на одну и ту же задачу.

Смежные вопросы