Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие Орг ЭВМ.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.96 Mб
Скачать
    1. Сильносвязанные многопроцессорные системы

В архитектурах многопроцессорных сильносвязанных систем можно отметить две важнейшие характеристики: симметричность (равноправность) всех процессоров системы и распределение всеми процессорами общего поля оперативной памяти.

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

А

Убрано предложение

рхитектура SMP

Для простой и «дешевой» поддержки многопроцессорной организации была предложена архитектура SMP мультипроцессирование с разделением памяти, предполагающая объединение процессоров на общей шине оперативной памяти. За аппаратную простоту реализации средств SMP приходится расплачиваться процессорным временем ожидания в очереди к шине оперативной памяти. В большинстве случаев пользователи готовы добавить в сервер один или более процессоров (но редко более четырёх) в надежде увеличить производительность системы. Стоимость этой операции ничтожна по сравнению со стоимостью всего сервера, а результат чаще всего оправдывает ожидания пользователя.

Пропускную способность памяти в таких системах можно значительно увеличить путём применения больших многоуровневых кэшей. При этом кэши могут содержать как разделяемые, так и частные данные. Частные данные – это данные, которые используются одним процессором, в то время как разделяемые данные используются многими процессорами, по существу обеспечивая обмен между ними. Если кэшируются разделяемые данные, то они реплицируются и могут содержаться в нескольких кэшах. Кроме сокращения задержки доступа и требуемой полосы пропускания, такая репликация данных способствует также общему сокращению количества обменов. Однако кэширование разделяемых данных вызывает новую проблему: когерентность кэш-памяти. Эта проблема возникает из-за того, что значение элемента данных в памяти, используемое двумя разными процессорами, доступно этим процессорам только через их индивидуальные кэши. На рис. 6.2 показан простой пример, иллюстрирующий эту проблему, где А и В – кэшированные копии элементов А и В в основной памяти. Когерентное (адекватное) состояние кэша и основной памяти, когда А = А & В = B, изображено на рис. 6.2, а. Во втором случае (рис. 6.2, б) предполагается использование кэш-памяти с обратной записью, когда ЦП записывает значение 550 в ячейку А. В результате А содержит новое значение, а в основной памяти осталось старое значение 100. При попытке вывода А из памяти будет получено старое значение.

В третьем случае (рис. 6.2, в) подсистема ввода-вывода вводит в ячейку памяти В новое значение 440, а в кэш-памяти осталось старое значение В.

Рис. 6.2. Кэш и память когерентны A = A & B = B (a), кэш и память некогерентны A ≠ A (б), кэш и память некогерентны В ≠ В (в

О

Убраны абзацы

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

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

А

Убрана скобка

рхитектура SMP стала своего рода стандартом для всех современных многопроцессорных серверов.