Лекция 11.
Тема. Вычислительные системы класса MIMD.
План лекции.
Классификация MIMD-систем.
Симметричные мультипроцессорные системы.
Архитектура SMP-системы.
Архитектура с общей шиной.
Структура с коммутатором типа «кроссбар».
Архитектура с многопортовой памятью,
Архитектура с централизованным устройством управления.
1. Классификация mimd-систем
Технология SIMD исторически стала осваиваться раньше, что и пред-определило широкое распространение SIMD-систем. В настоящее время на-метился устойчивый интерес к архитектурам класса MIMD. MIMD-системы обладают большей гибкостью: они могут работать и как высокопроизводитель-ные однопользовательские системы, и как многопрограммные ВС, выполняю- щие множество задач параллельно. Кроме того, архитектура MIMD позволяет наиболее эффективно распорядиться всеми преимуществами современной мик-ропроцессорной технологии.
В MIMD-системе каждый процессорный элемент (ПЭ) выполняет свою программу независимо от других ПЭ. В то же время ПЭ должны взаимо-действовать друг с другом. Различие в способе такого взаимодействия опреде- ляет условное деление MIMD-систем на ВС с общей памятью и системы с распределенной памятью.
В системах с общей памятью или сильно связанных (tightly coupled) име-ется общая память данных и команд, доступная всем ПЭ с помощью общей шины или сети соединений. К этому типу относятся симметричные мульти-процессоры (SMP, Symmetric Multiprocessor) и системы с неоднородным до-ступом к памяти (NUMA, Non-Uniform Memory Access).
В системах с распределенной памятью или слабо связанных (loosely coupled) многопроцессорных системах вся память распределена между ПЭ, и каждый блок памяти доступен только «своему» процессору. Сеть соединений связывает процессорные элементы друг с другом. Представителями этой груп- пы служат системы с массовым параллелизмом (MPP, Massively Parallel Processing) и кластерные вычислительные системы.
Базовой моделью вычислений на MIMD-системе является совокупность независимых процессов, эпизодически обращающихся к совместно используе-мым данным. Существует множество вариантов этой модели. На одном конце спектра – распределенные вычисления, в рамках которых программа делится на большое число параллельных задач, состоящих из множества подпрограмм. На другом конце – модель потоковых вычислений, где каждая операция в программе может рассматриваться как отдельный процесс. Такая операция ожи-дает поступления входных данных (операндов), которые должны быть переда- ны ей другими процессами. После их получения операция выполняется и ре-зультирующее значение передается тем процессам, которые в нем нуждаются.
2. Симметричные мультипроцессорные системы
Симметричная мультипроцессорная система (SMP, Symmetric Multipro-cessor) – это вычислительная система, обладающая следующими характеристи-ками:
Имеется два или более процессоров сопоставимой производительности.
Процессоры совместно используют основную память и работают в еди- ном виртуальном и физическом адресном пространстве.
Все процессоры связаны между собой посредством шины или по иной схеме, так что время доступа к памяти для любого из них одинаково.
Все процессоры разделяют доступ к устройствам ввода/вывода либо че- рез одни и те же каналы, либо через разные каналы, обеспечивающие доступ к одному и тому же внешнему устройству.
Все процессоры способны выполнять одинаковые функции.
Любой из процессоров может обслуживать внешние прерывания.
Вычислительная система управляется интегрированной операционной сис-темой, которая организует и координирует взаимодействие между процес-сорами и программами на уровне заданий, задач, файлов и элементов данных.
В отличие от слабо связанных мультипроцессорных систем (кластеров), где в качестве физической единицы обмена информацией выступает сообще- ние или полный файл, в SMP допустимо взаимодействие на уровне отдельно- го элемента данных. Благодаря этому достигается высокий уровень связности между процессами.
Хотя технически SMP-системы симметричны, в их работе присутствует небольшой фактор перекоса, который вносит программное обеспечение. На время загрузки системы один из процессоров получает статус ведущего (master). Это не означает, что позже, во время работы какие-то процессоры будут ве-домыми – все они в SMP-системе равноправны. Термин «ведущий» относится к тому процессору, который по умолчанию будет руководить первоначальной загрузкой ВС.
Операционная система планирует процессы или нити процессов (threads) сразу по всем процессорам, скрывая при этом от пользователя многопроцес-сорный характер SMP-архитектуры.
По сравнению с однопроцессорными схемами SMP-системы имеют преи-мущество по следующим показателям:
Производительность. Если подлежащая решению задача поддается раз-биению на несколько частей так, что отдельные части могут выполнять- ся параллельно, то множество процессоров дает выигрыш в производи-тельности относительно одиночного процессора того же типа (рис. 11.1).
Рис. 11.1. Мультипрограммирование и мультипроцессорная обработка:
а – мультипрограммирование; б – мультипроцессорная обработка
Готовность. В симметричном мультипроцессоре отказ одного из компо-нентов не ведет к отказу системы, поскольку любой из процессоров в состоянии выполнять те же функции, что и другие.
Расширяемость. Производительность системы может быть увеличена до-бавлением дополнительных процессоров.
Масштабируемость. Варьируя число процессоров в системе, можно соз-дать системы различной производительности и стоимости.