Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
109
Добавлен:
10.05.2015
Размер:
82.94 Кб
Скачать

30. Вычислительные системы класса mimd

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

В MIMD-системе каждый процессорный элемент (ПЭ) выполняет свою про­грамму достаточно независимо от других ПЭ. В то же время ПЭ должны как-то взаимодействовать друг с другом. Различие в способе такого взаимодействия оп­ределяет условное деление MIMD-систем на ВС с общей памятью и системы с распределенной памятью. В системах с общей памятью, которые характеризуют как сильно связанные (tightly coupled), имеется общая память данных и команд, доступная всем процессорным элементам с помощью общей шины или сети соеди­нений. К этому типу, в частности, относятся симметричные мультипроцессоры (SMP, Symmetric Multiprocessor) и системы с неоднородным доступом к памяти (NUMA, Non-Uniform Memory Access).

В системах с распределенной памятью или слабо связанных (loosely coupled) многопроцессорных системах вся память распределена между процессорными эле­ментами, и каждый блок памяти доступен только «своему» процессору. Сеть со­единений связывает процессорные элементы друг с другом. Представителями этой группы могут служить системы с массовым параллелизмом (МРР, Massively Parallel Processing) и кластерные вычислительные системы.

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

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

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

До сравнительно недавнего времени практически все однопользовательские персо­нальные ВМ и рабочие станции содержали по одному микропроцессору общего на­значения. По мере возрастания требований к производительности и снижения сто­имости микропроцессоров поставщики вычислительных средств как альтернативу однопроцессорным ВМ стали предлагать симметричные мультипроцессорные вычис­лительные системы, так называемые SMP-системы (SMP, Symmetric Multiprocessor). Это понятие относится как к архитектуре ВС, так и к поведению операционной сис­темы, отражающему данную архитектурную организацию. SMP можно определить как вычислительную систему, обладающую следующими характеристиками:

  • Имеются два или более процессоров сопоставимой производительности.

  • Процессоры совместно используют основную память и работают в едином вир­туальном и физическом адресном пространстве.

  • Все процессоры связаны между собой посредством шины или по иной схеме, так что время доступа к памяти любого из них одинаково.

  • Все процессоры разделяют доступ к устройствам ввода/вывода либо через одни и те же каналы, либо через разные каналы, обеспечивающие доступ к одному и тому же внешнему устройству.

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

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

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

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

Операционная система планирует процессы или нити процессов (threads) сра­зу по всем процессорам, скрывая при этом от пользователя многопроцессорный характер SMP-архитектуры.

По сравнению с однопроцессорными схемами SMP-системы имеют преимуще­ство по следующим показателям:

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

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

  • Расширяемость. Производительность системы может быть увеличена добав­лением дополнительных процессоров.

  • Масштабируемость. Варьируя число процессоров в системе, можно создать системы различной производительности и стоимости.

Необходимо отметить, что перечисленное — это только потенциальные преиму­щества, реализация которых невозможна, если в операционной системе отсутствуют средства для поддержки параллелизма.

Соседние файлы в папке Lection