Лекции по Вычислительным машинам   

6. Процессоры

6.3. Мультипроцессирование

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

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



*****

© 2009-2017 Банк лекций siblec.ru
Лекции для преподавателей и студентов. Формальные, технические, естественные, общественные, гуманитарные, и другие науки.