Тема. Вычислительные системы класса MIMD.
План лекции.
1. Классификация MIMD-систем.
2. Симметричные мультипроцессорные системы.
3. Архитектура SMP-системы.
4. Архитектура с общей шиной.
5. Структура с коммутатором типа «кроссбар».
6. Архитектура с многопортовой памятью,
7. Архитектура с централизованным устройством управления.
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. Мультипрограммирование и мультипроцессорная обработка:
а – мультипрограммирование; б – мультипроцессорная обработка
§ Готовность. В симметричном мультипроцессоре отказ одного из компо-нентов не ведет к отказу системы, поскольку любой из процессоров в состоянии выполнять те же функции, что и другие.
§ Расширяемость. Производительность системы может быть увеличена до-бавлением дополнительных процессоров.
§ Масштабируемость. Варьируя число процессоров в системе, можно соз-дать системы различной производительности и стоимости.