Новосибирский государственный университет

Факультет информационных технологий

ICT SBRAS

Словарь терминов в коллекции "Вычислительные системы"

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

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

Симметричные мультипроцессорные системы - система, состоящая из нескольких однородных процессоров и массива общей памяти (обычно из нескольких независимых блоков). Все процессоры имеют доступ к любой точке памяти с одинаковой скоростью. Аппаратно поддерживается когерентность кэшей.
Примеры SMP-систем: HP 9000 V-class, N-class; SMP-cервера и рабочие станции на базе процессоров Intel (IBM, HP, Compaq, Dell, ALR, Unisys, DG, Fujitsu и др.).

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

SMP-система состоит из множества процессорных элементов (ПЭ), каждый из которых имеет равноправный доступ к логически единой памяти (физически память обычно строится по блочному принципу). Таким образом, в системе реализована концепция однородного доступа к памяти (UMA). Обычно все ПЭ идентичны, однако допускается использование и различных ПЭ. В последнем случае главное условие - сопоставимая производительность, с тем чтобы при распределении вычислительной нагрузки ее можно было без проблем возложить на любой ПЭ системы. Одинаковые возможности ПЭ и их равноправие при доступе к памяти обусловили термин «симметричная» в названии данного вида ВС.

Все процессорные элементы управляются единственным экземпляром операционной системы (ОС), загружаемой в совместно используемую память. ОС планирует распределение выполняемых заданий между процессорными элементами. Для этого ОС выделяет в процессах фрагменты (нити) и образует из этих фрагментов единую очередь. При освобождении какого-либо ПЭ (неважно, какого) ему сразу же передается очередной фрагмент из очереди. Современные ОС обычно поддерживают работу 16 или 32 ПЭ, хотя в некоторых UNIX-подобных операционных системах заложена поддержка 64 процессорных элементов.

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

Типовая SMP-система содержит от двух до 32 идентичных процессоров, в качестве которых обычно выступают недорогие RISC-процессоры. В последнее время наметилась тенденция оснащения SMP-систем также и CISC-процессорами.
Каждый процессор снабжен локальной кэш-памятью. Согласованность содержимого кэш-памяти всех процессоров обеспечивается аппаратными средствами. В некоторых SMP-системах проблема когерентности снимается за счет разделяемой кэш-памяти. К сожалению, этот прием технически и экономически оправдан лишь при числе процессоров не большем четырех. Применение разделяемой кэш-памяти сопровождается повышением стоимости и снижением быстродействия.
Все процессоры ВС имеют равноправный доступ к разделяемой основной памяти и устройствам ввода/вывода. Такая возможность обеспечивается коммуникационной системой. Обычно процессоры взаимодействуют между собой через основную память (сообщения и информация о состоянии оставляются в области общих данных). В некоторых SMP-системах предусматривается также прямой обмен сигналами между процессорами.
Память системы обычно строится по блочному принципу и организована так, что допускается одновременное обращение к разным ее банкам. В некоторых конфигурациях (в дополнение к совместно используемым ресурсам) каждый процессор обладает также собственными дополнительными средствами (локальной основной памятью и каналами ввода/вывода).

Важным аспектом архитектуры симметричных мультипроцессоров является способ взаимодействия процессоров с общими ресурсами (памятью и системой ввода/вывода). С этих позиций можно выделить следующие виды архитектуры SMP-систем:

В архитектуре с общей шиной физический интерфейс, логика адресации, арбитража и разделения времени остаются теми же, что и в однопроцессорных системах. Общая шина позволяет легко расширять систему путем подключения большего числа процессоров. Кроме того, поскольку шина является пассивной средой, отказ подключенного устройства не распространяется на другие устройства системы.
Основным недостатком SMP-систем на базе общей шины является невысокая производительность (скорость системы ограничена временем цикла шины). Для компенсации недостатка каждому процессору придается собственная кэш-память (в итоге уменьшается число обращений к шине). Но, появляется новая проблема: когерентность кэш-модулей (обычное решение - применение протокола наблюдения). Все эти факторы существенно ограничивают число процессоров в ВС. Так, в системах Compaq AlphaServer GS140 и 8400 используется не более 14 процессоров Alpha 21264. SMP-система HP N9000 в максимальном варианте состоит из 8 процессоров РА-8500, а система SMP Thin Nodes для RS/6000 фирмы IBM может включать в себя от двух до четырех процессоров PowerPC 604.
Архитектура с общей шиной широко распространена в SMP-системах, построенных на микропроцессорах х86.

Архитектура с коммутатором типа «кроссбар» ориентирована на блочное построение общей памяти и призвана разрешить проблему ограниченной пропускной способности систем с общей шиной.
Коммутатор обеспечивает множественность путей между процессорами и банками памяти, причем топология связей может быть как двухмерной, так и трехмерной. Результатом становится более высокая полоса пропускания, что позволяет строить SMP-системы, содержащие больше процессоров, чем в случае общей шины. Типичное число процессоров в SMP-системах на базе матричного коммутатора составляет 32 или 64. Выигрыш в производительности достигается лишь когда разные процессоры обращаются к разным банкам памяти.
По логике кроссбара строится и взаимодействие процессоров с устройствами ввода/вывода.
Система Enterprise 10000 состоит из 64 процессоров, связанных с памятью посредством матричного коммутатора Gigaplane-XB фирмы Sun Microsystems (кроссбар 16×16). В IBM RS/6000 Enterprise Server Model S70 коммутатор типа «кроссбар» обеспечивает работу 12 процессоров RS64. В SMP-системах ProLiant 8000 и 8500 фирмы Compaq для объединения памяти и восьми процессоров Pentium III Хеоп применена комбинация нескольких шин и кроссбара.

В основе архитектуры с многопортовой памятью лежит использование многопортовых запоминающих устройств (ЗУ). Многопортовая организация ЗУ обеспечивает любому процессору (модулю ввода/вывода) непосредственный доступ к банкам основной памяти. Такой подход требует существенного усложнения логики управления ЗУ, хотя и обеспечивает подъем производительности. Другое преимущество многопортовой организации - возможность назначать отдельные банки памяти в качестве локальной памяти конкретного процессора. В результате улучшается защита данных от несанкционированного доступа со стороны других процессоров.

В архитектуре с централизованным устройством управления (ЦУУ) устройство управления выполняет следующие функции: трассирует потоки данных между процессорами, памятью, устройствами ввода/вывода; буферизирует запросы; выполняет синхронизацию и арбитраж; отслеживает состояние процессоров и их кэш-памяти. Недостаток архитектуры заключается в сложности ЦУУ, которое может ограничивать производительность. В настоящее время подобная архитектура встречается редко, но она широко использовалась при создании вычислительных систем на базе машин семейства IBM 370.

На практике наиболее распространена архитектура с общей шиной.

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

Негативные свойства SMP-систем:

Ключевые термины, связанные с термином "симметричные мультипроцессорные системы":

  1. Вычислительные системы с неоднородным доступом к памяти
  2. Кластерные вычислительные системы
  3. Параллельные векторные системы

Ключевые термины:  архитектура вычислительной машины;   классификация флинна;   mimd-архитектура;   архитектура uma;   risc-архитектура;   cisc-архитектура;   когерентность кэш-памяти;   протоколы наблюдения;   топология кроссбар;


Контекстный поиск: Задайте образец для поиска:
    

|Список основных тем курса|
   
Федотова Ольга
[SBRAS]

НГУ
ФИТ НГУ
ИВТ СО РАН
© 2012-2024, Новосибирский государственный университет, Новосибирск
© 2004-2024, Институт вычислительных технологий СО РАН, Новосибирск
© 2004-2024, Федотов А.М.
    Дата последней модификации: 26.09.2013