ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 25.12.2021

Просмотров: 2460

Скачиваний: 7

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Глава 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-системе является совокупность неза-

висимых процессов, эпизодически обращающихся к совместно используемым дан-

ным. Существует множество вариантов этой модели. На одном конце спектра -

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


background image

Симметричные мультипроцессорные системы  5 8 7

Число процессоров

Рис.  1 4 . 1 . Производительность MIMD-систем как функция их типа и числа процессоров

На другом конце — модель потоковых вычислений, где каждая операция в про-

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

пиковой производительности для различных типов систем класса MIMD пока-

заны на рис. 14.1.

Симметричные мультипроцессорные

системы

До сравнительно недавнего времени практически все однопользовательские персо-

нальные ВМ и рабочие станции содержали по одному микропроцессору общего на-

значения. По мере возрастания требований к производительности и снижения сто-

имости микропроцессоров поставщики вычислительных средств как альтернативу
однопроцессорным ВМ стали предлагать

 симметричные мультипроцессорные вычис-

лительные системы,

 так называемые

 SMP-системы

 (SMP, Symmetric Multiprocessor).

Это понятие относится как к архитектуре ВС, так и к поведению операционной сис-

темы, отражающему данную архитектурную организацию. SMP можно определить

как вычислительную систему, обладающую следующими характеристиками:
- Имеются два или более процессоров сопоставимой производительности.
- Процессоры совместно используют основную память и работают в едином вир-

туальном и физическом адресном пространстве.

- Все процессоры связаны между собой посредством шины или по иной схеме,

так что время доступа к памяти любого из них одинаково.

- Все процессоры разделяют доступ к устройствам ввода/вывода либо через одни

и те же каналы, либо через разные каналы, обеспечивающие доступ к одному

и тому же внешнему устройству.


background image

5 8 8 Глава 14. Вычислительные системы класса MIMD

и Все процессоры способны выполнять одинаковые функции (этим объясняется

термин «симметричные»),

- Любой из процессоров может обслуживать внешние прерывания.

-Вычислительная система управляется интегрированной операционной систе-

мой, которая организует и координирует взаимодействие между процессорами
и программами на уровне заданий, задач, файлов и элементов данных.

Обратим внимание па последний пункт, который подчеркивает одно из отли-

чий по отношению к слабо связанным мультипроцессорным системам, таким как

кластеры, где в качестве физической единицы обмена информацией обычно вы-

ступает сообщение или полный файл. В SMP допустимо взаимодействие на уров-
не отдельного элемента данных, благодаря чему может быть достигнута высокая
степень связности между процессами.

Хотя технически SMP-системы симметричны, в их работе присутствует неболь-

шой фактор перекоса, который вносит программное обеспечение. На время загрузки
системы один из процессоров получает статус ведущего (master). Это не означает,
что позже, во время работы какие-то процессоры будут ведомыми — все они в SMP-
системе равноправны. Термин «ведущий» вводится только затем, чтобы указать,
какой из процессоров по умолчанию будет руководить первоначальной загрузкой

ВС.

Операционная система планирует процессы или нити процессов (threads) сра-

зу по всем процессорам, скрывая при этом от пользователя многопроцессорный

характер SMP-архитектуры.

По сравнению с однопроцессорными схемами SMP-системы имеют преимуще-

ство по следующим показателям [36]:

- Производительность. Если подлежащая решению задача поддается разбиению

на несколько частей так, что отдельные части могут выполняться параллельно,

то множество процессоров дает выигрыш в производительности относительно
одиночного процессора того же типа (рис. 14.2),

- Готовность. В симметричном мультипроцессоре отказ одного из компонентов

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

Рис. 14,2. Мультипрограммирование и мультипроцессорная обработка [36]:

а

 —мультипрограммирование;

 б —

 мультипроцессорная обработка


background image

Симметричные мультипроцессорные системы  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-системах предусматривается также прямой
обмен сигналами между процессорами.

Память системы обычно строится по модульному принципу и организована так,

что допускается одновременное обращение к разным ее модулям (банкам). В неко-


background image

5 9 0 Глава 14. Вычислительные системы класса MIMD

Рис. 14.4. SMP-система с совместно используемой кэш-памятью

торых конфигурациях в дополнение к совместно используемым ресурсам каждый

процессор обладает также собственными локальной основной памятью и канала-

ми ввода/вывода.

Важным аспектом архитектуры симметричных мультипроцессоров является

способ взаимодействия процессоров с общими ресурсами (памятью и системой

ввода/вывода). С этих позиций можно выделить следующие виды архитектуры

SMP-систем:

-

 с общей шиной и временным разделением;

- с коммутатором типа «кроссбар»;
- с многопортовой памятью;

- с

 централизованным устройством управления.

Архитектура с общей шиной

Структура и интерфейсы общей шины в основном такие же, как и в однопроцес-

сорной ВС, где шина служит для внутренних соединений (рис. 14.5).

Рис. 14.5. Структура SMP-системы с общей шиной

Достоинства и недостатки систем коммуникации на базе общей шины с разде-

лением времени достаточно подробно обсуждались ранее. Применительно к SMP-
системам отметим, что физический интерфейс, а также логика адресации, арбит-

ража и разделения времени остаются теми же, что и в однопроцессорных системах.


Смотрите также файлы