Материал: А. Д. Чередов, А. Н. Мальчуков

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

МНОГОПРОЦЕССОРНЫЕ И МНОГОМАШИННЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ




    1. Архитектуры вычислительных систем


Точно также, как однопроцессорные компьютеры представлены по классификации М. Флина архитектурами с одним потоком данных 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), но здесь исключены проблемы пропускной способности шины.

Таблица 6.1

Основные типы машин


Типы передачи сообщений

Типы памяти

Общая память

Общая и распределенная

Распределенная память

Шинные




1.













2.










3.




соединения

Р

Р




Р

Р




Р

Р

М




М

М
















С





С


С


Р





Р


Р
















































М




















































М













Фиксированные перекрестные соединения



Р

Р

4.

М







Р

Р


Р


С

С

5.

М


Р



С




С


М

Р

Р

6.


М



Р

Р






















































Р







Р

М







М

Коммутацион-




7.













8.










9.




ные структуры

Р

Р



Р

Р




Р

Р

М




М

М








К














К





Р





Р

Р








М








М





М


М








К




MIMD-системы по способу взаимодействия процессоров (рис. 6.1) делятся на системы с сильной и слабой связью.

Системы с сильной связью (иногда их называют «истинными» мультипроцессорами) основаны на объединении процессоров на общем поле оперативной памяти.


Симметричные

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




SMP
Рис. 6.1. Классификация вычислительных систем с MIMD-архитектурой

    1. Сильносвязанные многопроцессорные системы


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

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

нию пропускной способности оперативной памяти (перекрестная ком- мутация, многоблочная и многовходовая
Источник: https://files.student-it.ru/previewfile/151041