-
Архитектуры вычислительных систем
Точно также, как однопроцессорные компьютеры представлены по
классификации М. Флина архитектурами с одним потоком данных SISD
и множеством потоков данных SIMD, так и многопроцессорные систе-
мы могут быть представлены двумя базовыми типами архитектур в за-
висимости
от
параллелизма
данных:
-
MISD (Multiple Instruction Single Data) – множество потоков команд – один поток данных;
-
MIMD (Multiple Instruction Multiple Data) – множество пото- ков команд – множество потоков данных.
Класс MISD долгое время пустовал, поскольку не существовало
практических
примеров
реализации
систем,
в
которых одни и
те же
данные
обрабатываются
большим
числом
параллельных
процессов.
В дальнейшем
для
MISD
нашлась
адекватная
организация
вычисли-
тельной
системы
– распределённая
мультипроцессорная
система
с общими данными. Наиболее простая и самая распространённая систе-
ма этого класса – обычная локальная сеть персональных компьютеров,
работающая с единой базой данных, когда много процессоров обраба-
тывают один поток данных. Впрочем, тут есть одна тонкость. Как толь-
ко
в такой
сети
все
пользователи
переключаются
на
обработку
соб-
ственных
данных,
недоступных
для
других
абонентов
сети,
MISD-
система превращается в систему с множеством потоков команд и мно-
жеством
потоков
данных,
соответствующую MIMD-архитектуре.
Так как только MIMD-архитектура включает все уровни паралле-
лизма – от конвейера операций до независимых заданий и программ, то
любая вычислительная система этого класса в частных приложениях
может выступать как SISD- и SIMD-система. Например, если многопро-
цессорный комплекс выполняет одну единственную программу без ка-
ких-либо признаков векторного параллелизма данных, то в этом кон- кретном случае он функционирует как обычный SISD-компьютер, и весь его потенциал остается невостребованным. Таким образом, упо- требляя термин «MIMD», надо иметь в виду не только много процессо- ров, но и множество вычислительных процессов, одновременно выпол- няемых в системе.
Другая классификация многопроцессорных вычислительных си- стем (МВС) основана на разделении МВС по двум критериям: способу построения памяти (общая или распределенная) и способу передачи информации. Основные типы машин представлены в табл. 6.1. Здесь приняты следующие обозначения: Р – элементарный процессор, М – элемент памяти, К – коммутатор, С– кэш-память.
Параллельная вычислительная система с общей памятью и шинной организацией обмена (машина 1) позволяет каждому процессору систе- мы «видеть», как решается задача в целом, а не только те части, над ко- торыми он работает. Общая шина, связанная с памятью, вызывает серь- ёзные проблемы для обеспечения высокой пропускной способности ка- налов обмена. Одним из способов обойти эту ситуацию является ис- пользование кэш-памяти (машина 2). В этом случае возникает проблема когерентности (адекватности) содержимого кэш-памяти и основной па- мяти. Другим способом повышения производительности систем являет- ся отказ от общей памяти (машина 3).
Идеальной машиной является вычислительная система, у которой каждый процессор имеет прямые каналы связи с другими процессора- ми, но в этом случае требуется чрезвычайно большой объём оборудова- ния для организации межпроцессорных обменов. Определенный ком- промисс представляет сеть с фиксированной топологией, в которой каждый процессор соединен с некоторым подмножеством процессоров системы (машины 4, 5, 6).
Если процессорам, не имеющим непосредственного канала обмена, необходимо взаимодействовать, они передают сообщения через проме-
жуточные процессоры. Одно из преимуществ такого подхода – не огра-
ничивается рост числа процессоров в системе. Недостаток – требуется
оптимизация прикладных программ, чтобы обеспечить выполнение па-
раллельных процессов, для которых необходимо активное воздействие
на
соседние процессоры.
Наиболее интересным вариантом для перспективных параллельных
вычислительных комплексов является сочетание достоинства архитек-
тур с распределенной памятью и каналами межпроцессорного обмена.
Один из возможных методов построения таких комбинированных архи-
тектур – конфигурация с коммутацией, когда процессор имеет локаль-
ную память, а соединяются процессоры между собой с помощью ком-
мутатора
(машина
9).
Коммутатор
может
оказаться
весьма
полезным
для группы процессоров с распределяемой памятью (машина 8). Данная
конфигурация похожа на машину с общей памятью (машина 7), но здесь
исключены
проблемы пропускной
способности шины.
MIMD-системы по способу взаимодействия процессоров (рис. 6.1)
делятся
на
системы с сильной и слабой связью.
Системы
с
сильной
связью
(иногда
их
называют
«истинными»
мультипроцессорами) основаны на объединении процессоров на общем
поле
оперативной памяти.
Симметричные
Слабосвязанные
Системы со слабой связью представляются многопроцессорными и многомашинными системами с распределенной памятью. Разница ор- ганизации MIMD-систем с сильной и слабой связью проявляется при обработке приложений, отличающихся интенсивностью обменов между процессами.
SMP
Рис. 6.1. Классификация вычислительных систем с MIMD-архитектурой
-
Сильносвязанные многопроцессорные системы
В архитектурах многопроцессорных сильносвязанных систем мож-
но отметить две важнейшие характеристики:
симметричность (равно-
правность) всех процессоров системы и
распределение всеми процес-
сорами
общего поля оперативной памяти.
В таких системах, как правило, число процессоров невелико (не
больше 16) и управляет ими централизованная операционная система.
Процессоры
обмениваются
информацией
через
общую
оперативную
память.
При
этом
возникают
задержки
из-за
межпроцессорных
кон-
фликтов.
При
создании
больших
мультипроцессорных
ЭВМ
(мэйн-
фреймов,
суперЭВМ)
предпринимаются
огромные
усилия
по
увеличе-
нию пропускной способности оперативной памяти (перекрестная ком-
мутация,
многоблочная
и
многовходовая