Классификация систем параллельной обработки
Процесс решения задачи в вычислительной системе можно представить как воздействие определенной последовательности команд программы (потока команд) на соответствующую последовательность данных (поток данных). Для повышения производительности в современных компьютерах широко используется принцип параллельной обработки.
В 1966 году Флинн предложил рассматривать высокопроизводительные системы в отношении параллелизма команд и множественности данных. По Флинну все ВС можно разделить на четыре больших класса:
SISD – Single Instruction - Single Data (Одиночный поток команд - Одиночный поток данных – ОКОД). Неймановская ЭВМ.
SIMD – Single Instruction - Multiple Data (Одиночный поток команд - Множественный поток данных – ОКМД). Векторные и матричные процессоры.
MISD – Multiple Instruction - Single Data (Множественный поток команд - Одиночный поток данных – МКОД). Конвейерные системы.
MIMD – Multiple Instruction - Multiple Data (Множественный поток команд - Множественный поток данных – МКМД). Кластеры, мультипроцессорные системы.
Системы класса ОКОД – обычные однопроцессорные ЭВМ (рис. 6, а), включающие всебя запоминающее устройство (ЗУ) для команд и данных (оно чаще всего бывает общим) и один процессор, содержащий арифметико-логическое устройство (АЛУ) и устройство управления (УУ). В современных системах этого класса наиболее широко используется совмещение во времени различных этапов решения отдельных задач, при котором в системе одновременно работают разные устройства: ввода, вывода и собственно обработки информации. Введение большого числа параллельно работающих периферийных устройств позволяет существенно сократить время на ввод информации в оперативное запоминающее устройство (ОЗУ), уменьшая общее время решения задачи. Значительный эффект в увеличении производительности однопроцессорной системы дает разделение ОЗУ на несколько модулей, которые могут работать независимо друг от друга. Производительность увеличивается за счет уменьшения простоев устройств из-за так называемых конфликтов при обращении к ОЗУ. Эти вопросы будут рассмотрены позднее.
Д – данные; К – команды; Р – результат
Рисунок 6 – Система ОКОД (а), МКОД (б, в), ОКМД (г), МКМД (д)
Системы класса МКОД имеют схему, изображенную на рис. 6, б: несколько потоков команд воздействуют на единственный поток данных. Однако, не существует такого класса задач, в которых одна и та же последовательность данных подвергалась бы обработке по нескольким разным программам. По этой причине в чистом виде такая схема до сих пор не реализована.
Реализована другая схема обработки, представленная на рис. 6, в. Здесь один поток команд K разделяется устройством управления на несколько потоков микроопераций, каждая из которых выполняется специализированным устройством. Поток данных проходит последовательно через все (или часть) этих специализированных АЛУ. Именно такого класса системы принято называть конвейерными или системами с магистральной обработкой информации.
В системах МКОД с целью достижения высокой производительности используется не только конвейер операций. Обычно в них применяется и конвейер команд, а также различные способы совмещения работы многих устройств. Однако при этом главным, определяющим признаком является наличие конвейера арифметических и логических операций. Системы рассматриваемого класса развивают максимальную производительность только при решении задач определенного типа, в которых существуют длинные последовательности (цепочки) однотипных операций над достаточно большой последовательностью данных.
Системы класса ОКМД ориентированы на использование параллелизма объектов или данных для повышения производительности. Их обобщенная структура представлена на рис. 6, г. В такой системе по одной и той же (или почти по одной и той же) программе обрабатывается несколько потоков данных, причем каждый из этих потоков обрабатывается своим АЛУ, работающим под общим управлением. За счет такой организации и достигается высокая производительность системы.
Системы класса МКМД могут быть построены двумя способами: в виде совокупности элементарных систем (рис. 6, а) и по схеме, приведенной на рис. 6, д. В варианте а для каждой последовательности команд и данных имеется собственное ЗУ, а в варианте ∂ все команды и все данные размещаются в общих ЗУ. Это различие приводит к двум сильно отличающимся по построению и организации вычислений типам вычислительных систем и комплексов: многомашинным (рис. 6, а) и многопроцессорным (рис. 6, д). В первом вся ВС распадается на несколько независимых систем класса ОКОД, т.е. самостоятельных ЭВМ. При этом обычно существуют определенные связи между отдельными компьютерами. В многопроцессорном варианте комплекс достаточно жестко связан общей памятью команд и данных и, хотя его процессоры имеют достаточную самостоятельность, в системе организуется совместная их работа.
Многомашинные комплексы в наилучшей степени приспособлены для решения потока независимых задач. При этом объединение в систему нескольких ЭВМ может существенно увеличивать ее производительность. Многопроцессорные комплексы являются достаточно универсальными и обеспечивают повышение производительности при использовании всех видов параллелизма.
Из всех рассмотренных систем наиболее универсальными в отношении класса решаемых задач являются системы МКМД. Их программное обеспечение не ориентируется, как правило, на решение только определенного класса задач.
Дата добавления: 2015-12-29; просмотров: 737;