ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.12.2021
Просмотров: 2460
Скачиваний: 7
Глава 14
Вычислительные системы
класса MIMD
Технология SIMD исторически стала осваиваться раньше, что и предопределило
широкое распространение SIMD-систем. В настоящее время тем не менее наме-
тился устойчивый интерес к архитектурам класса MIMD. MIMD-системы обла-
дают большей гибкостью, в частности могут работать и как высокопроизводитель-
ные однопользовательские системы, и как многопрограммные ВС, выполняющие
множество задач параллельно. Кроме того, архитектура MIMD позволяет наибо-
лее эффективно распорядиться всеми преимуществами современной микропро-
цессорной технологии,
В MIMD-системе каждый процессорный элемент (ПЭ) выполняет свою про-
грамму достаточно независимо от других ПЭ. В то же время ПЭ должны как-то
взаимодействовать друг с другом. Различие в способе такого взаимодействия оп-
ределяет условное деление MIMD-систем на ВС с общей памятью и системы
с распределенной памятью. В
системах с общей памятью,
которые характеризуют
как
сильно связанные
(tightly coupled), имеется общая память данных и команд,
доступная всем процессорным элементам с помощью общей шины или сети соеди-
нений. К этому типу, в частности, относятся
симметричные мультипроцессоры
(SMP, Symmetric Multiprocessor) и
системы с неоднородным доступом к памяти
(NUMA, Non-Uniform Memory Access).
В
системах с распределенной памятью
или
слабо связанных
(loosely coupled)
многопроцессорных системах вся память распределена между процессорными эле-
ментами, и каждый ёлок памяти доступен только «своему» процессору. Сеть со-
единений связывает процессорные элементы друг с другом. Представителями этой
группы могут служить
системы с массовым параллелизмом
(МРР, Massively Parallel
Processing) и
кластерные вычислительные системы.
Базовой моделью вычислений на MIMD-системе является совокупность неза-
висимых процессов, эпизодически обращающихся к совместно используемым дан-
ным. Существует множество вариантов этой модели. На одном конце спектра -
распределенные вычисления, в рамках которых программа делится на доволь-
но большое число параллельных задач, состоящих из множества подпрограмм.
Симметричные мультипроцессорные системы 5 8 7
Число процессоров
Рис. 1 4 . 1 . Производительность MIMD-систем как функция их типа и числа процессоров
На другом конце — модель потоковых вычислений, где каждая операция в про-
грамме может рассматриваться как отдельный процесс. Такая операция ожидает
поступления входных данных (операндов), которые должны быть переданы ей дру-
гими процессами. По их получении операция выполняется, и результирующее зна-
чение передается тем процессам, которые в нем нуждаются. Примерные значения
пиковой производительности для различных типов систем класса MIMD пока-
заны на рис. 14.1.
Симметричные мультипроцессорные
системы
До сравнительно недавнего времени практически все однопользовательские персо-
нальные ВМ и рабочие станции содержали по одному микропроцессору общего на-
значения. По мере возрастания требований к производительности и снижения сто-
имости микропроцессоров поставщики вычислительных средств как альтернативу
однопроцессорным ВМ стали предлагать
симметричные мультипроцессорные вычис-
лительные системы,
так называемые
SMP-системы
(SMP, Symmetric Multiprocessor).
Это понятие относится как к архитектуре ВС, так и к поведению операционной сис-
темы, отражающему данную архитектурную организацию. SMP можно определить
как вычислительную систему, обладающую следующими характеристиками:
- Имеются два или более процессоров сопоставимой производительности.
- Процессоры совместно используют основную память и работают в едином вир-
туальном и физическом адресном пространстве.
- Все процессоры связаны между собой посредством шины или по иной схеме,
так что время доступа к памяти любого из них одинаково.
- Все процессоры разделяют доступ к устройствам ввода/вывода либо через одни
и те же каналы, либо через разные каналы, обеспечивающие доступ к одному
и тому же внешнему устройству.
5 8 8 Глава 14. Вычислительные системы класса MIMD
и Все процессоры способны выполнять одинаковые функции (этим объясняется
термин «симметричные»),
- Любой из процессоров может обслуживать внешние прерывания.
-Вычислительная система управляется интегрированной операционной систе-
мой, которая организует и координирует взаимодействие между процессорами
и программами на уровне заданий, задач, файлов и элементов данных.
Обратим внимание па последний пункт, который подчеркивает одно из отли-
чий по отношению к слабо связанным мультипроцессорным системам, таким как
кластеры, где в качестве физической единицы обмена информацией обычно вы-
ступает сообщение или полный файл. В SMP допустимо взаимодействие на уров-
не отдельного элемента данных, благодаря чему может быть достигнута высокая
степень связности между процессами.
Хотя технически SMP-системы симметричны, в их работе присутствует неболь-
шой фактор перекоса, который вносит программное обеспечение. На время загрузки
системы один из процессоров получает статус ведущего (master). Это не означает,
что позже, во время работы какие-то процессоры будут ведомыми — все они в SMP-
системе равноправны. Термин «ведущий» вводится только затем, чтобы указать,
какой из процессоров по умолчанию будет руководить первоначальной загрузкой
ВС.
Операционная система планирует процессы или нити процессов (threads) сра-
зу по всем процессорам, скрывая при этом от пользователя многопроцессорный
характер SMP-архитектуры.
По сравнению с однопроцессорными схемами SMP-системы имеют преимуще-
ство по следующим показателям [36]:
- Производительность. Если подлежащая решению задача поддается разбиению
на несколько частей так, что отдельные части могут выполняться параллельно,
то множество процессоров дает выигрыш в производительности относительно
одиночного процессора того же типа (рис. 14.2),
- Готовность. В симметричном мультипроцессоре отказ одного из компонентов
не ведет к отказу системы, поскольку любой из процессоров в состоянии вы-
полнять те же функции, что и другие.
•
Рис. 14,2. Мультипрограммирование и мультипроцессорная обработка [36]:
а
—мультипрограммирование;
б —
мультипроцессорная обработка
Симметричные мультипроцессорные системы 5 8 9
-Расширяемость.
Производительность системы может быть увеличена добав-
лением дополнительных процессоров.
- Масштабируемость. Варьируя число процессоров в системе, можно создать
системы различной производительности и стоимости.
Необходимо отметить, что перечисленное — это только потенциальные преиму-
щества, реализация которых невозможна, если в операционной системе отсутствуют
средства; для поддержки параллелизма.
Архитектура SMP-системы
На рис. 14.3 в самом общем виде показана архитектура симметричной мультипро-
цессорной ВС.
Рис. 14.3. Организация симметричной мультипроцессорной системы
Типовая SMP-система содержит от двух до 32 идентичных процессоров, в ка-
честве которых обычно выступают недорогие RISC-процессоры, такие, например,
как DEC Alpha, Sun SPARC, MIPS или HP PA-RISC. В последнее время намети-
лась тенденция оснащения SMP-систем также и CISC-процессорами, в частности
Pentium.
Каждый процессор снабжен локальной кэш-памятью, состоящей из кэш-памя-
ти первого (L1) и второго (L2) уровней. Согласованность содержимого кэш-памяти
всех процессоров обеспечивается аппаратными средствами. В некоторых SMP-
системах проблема когерентности снимается за счет совместно используемой кэш-
памяти (рис. 14.4). К сожалению., этот прием технически и экономически оправ-
дан лишь, если число процессоров не превышает четырех. Применение общей
кэш-памяти сопровождается повышением стоимости и снижением быстродействия
кэш-памяти.
Все процессоры ВС имеют равноправный доступ к разделяемым основной па-
мяти и устройствам ввода/вывода. Такая возможность обеспечивается коммуни-
кационной системой. Обычно процессоры взаимодействуют между собой через
основную память (сообщения и информация о состоянии оставляются в области
общих данных). В некоторых SMP-системах предусматривается также прямой
обмен сигналами между процессорами.
Память системы обычно строится по модульному принципу и организована так,
что допускается одновременное обращение к разным ее модулям (банкам). В неко-
5 9 0 Глава 14. Вычислительные системы класса MIMD
Рис. 14.4. SMP-система с совместно используемой кэш-памятью
торых конфигурациях в дополнение к совместно используемым ресурсам каждый
процессор обладает также собственными локальной основной памятью и канала-
ми ввода/вывода.
Важным аспектом архитектуры симметричных мультипроцессоров является
способ взаимодействия процессоров с общими ресурсами (памятью и системой
ввода/вывода). С этих позиций можно выделить следующие виды архитектуры
SMP-систем:
-
с общей шиной и временным разделением;
- с коммутатором типа «кроссбар»;
- с многопортовой памятью;
- с
централизованным устройством управления.
Архитектура с общей шиной
Структура и интерфейсы общей шины в основном такие же, как и в однопроцес-
сорной ВС, где шина служит для внутренних соединений (рис. 14.5).
Рис. 14.5. Структура SMP-системы с общей шиной
Достоинства и недостатки систем коммуникации на базе общей шины с разде-
лением времени достаточно подробно обсуждались ранее. Применительно к SMP-
системам отметим, что физический интерфейс, а также логика адресации, арбит-
ража и разделения времени остаются теми же, что и в однопроцессорных системах.