многоядерная и параллельная обработка - PullRequest
1 голос
/ 17 декабря 2009

В чем разница между параллельной обработкой и многоядерной обработкой

Ответы [ 3 ]

8 голосов
/ 17 декабря 2009

Параллельная и многоядерная обработка относятся к одному и тому же: способность выполнять код в одно и то же время (в более чем одном ядре / ЦП / машине). Так что в этом смысле многоядерный это всего лишь средство для выполнения параллельная обработка.

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

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

5 голосов
/ 17 декабря 2009

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

Многоядерная обработка обычно является подмножеством параллельной обработки.

Многоядерная обработка означает код, работающий над несколькими «ядрами» одного чипа ЦП . Ядро как маленький процессор внутри процессора. Таким образом, заставить код работать для многоядерной обработки почти всегда будет говорить об аспекте распараллеливания (хотя он также будет включать в себя удаление любых специфических для ядра допущений, которых у вас обычно не должно быть в любом случае).

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

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

3 голосов
/ 17 декабря 2009

Параллельная обработка может выполняться внутри одного ядра с несколькими потоками.

Многоядерная обработка означает распределение этих потоков для использования нескольких ядер в ЦП.

...