Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
12Организация памяти вычислительных систем.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
114.69 Кб
Скачать

Симметричные (smp) многопроцессорные вс. Архитектура типа uma, coma, numa

 

Мультипроцессор, как и все компьютеры, должен содержать устройства ввода-вывода (диски, сетевые адаптеры и т. п.). В одних мультипроцессорных системах только определенные процессоры имеют доступ к устройствам ввода-вывода и, следовательно, имеют специальную функцию ввода-вывода. В других мультипроцессорных системах каждый процессор имеет доступ к любому устройству ввода-вывода. Если все процессоры имеют равный доступ ко всем модулям памяти и всем устройствам ввода-вывода и каждый процессор взаимозаменим с другими процессорами, то такая система называется SMP (Symmetric Multiprocessor — симметричный мультипроцессор).

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

Вычислительные системы с общей памятью, где доступ любого процессора к па­мяти производится единообразно и занимает одинаковое время, называют систе­мами с однородным доступом к памяти и обозначают аббревиатурой UMA (Uniform Memory Access). Это наиболее распространенная архитектура памяти параллель­ных ВС с общей памятью.

Технически UMA-системы предполагают наличие узла, соединяющего каждый из n процессоров с каждым из т модулей памяти. Простейший путь построения таких ВС - объединение нескольких процессоров (P) с единой памятью (Mp) по­средством общей шины (рис.). В этом случае, однако, в каждый момент времени обмен по шине может вести только один из процессоров, то есть процессоры должны соперничать за доступ к шине. Когда процессор Рi, выбирает из памяти команду, остальные процессоры Pj (i<> j) должны ожидать, пока шина освободится. Если в систему входят только два процессора, они в состоянии работать с производительностью, близкой к максимальной, поскольку их доступ к шине можно чередовать; пока один процессор декодирует и выполняет команду, другой вправе использовать шину для выборки из памяти следующей команды. Однако когда добавляется третий процессор, производительность начинает падать.

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

Архитектура uma

 

Можно оптимизировать архитектуру UMA, добавляя локальный кэш и локальную память к каждому из процессоров.

Мультипроцессоры numa

Размер мультипроцессоров UMA с одной шиной обычно ограничивается до нескольких десятков процессоров, а для координатных мультипроцессоров или мультипроцессоров с коммутаторами требуется дорогое аппаратное обеспечение, и они ненамного больше по размеру. Чтобы получить более 100 процессоров, нужно что-то предпринять. Отметим, что все модули памяти имеют одинаковое время доступа.

Для большей масштабируемости мультипроцессоров приспособлена архитектура NUMA (NonUniform Memory Access — с неоднородным доступом к памяти). Как и мультипроцессоры UMA, они обеспечивают единое адресное пространство для всех процессоров, но, в отличие от машин UMA, доступ к локальным модулям памяти происходит быстрее, чем к удаленным.

Машины NUMA имеют три ключевые характеристики, которыми все они обладают и которые в совокупности отличают их от других мультипроцессоров:

1. Существует одно адресное пространство, видимое для всех процессоров.

2. Доступ к удаленной памяти производится с использованием команд LOAD и STORE.

3. Доступ к удаленной памяти происходит медленнее, чем доступ к локальной памяти. Доступ процессора к собственной Локальной памяти производится напрямую, что намного быстрее, чем доступ к удаленной памяти через коммутатор или сеть.

 

В рамках концепции NUMA реализуется несколько различных подходов, обо­значаемых аббревиатурами СОМА, cc-numa и ncc-numa.

Особенности COMA

1) Локальная память каждого процессора рассматривается как кэш для доступа «своего» процессора.

2) Кэши всех процессоров рассматриваются как глобальная память системы, а сама глобальная память отсутствует.

3) Данные не привязаны к конкретному модулю памяти и не имеют уникального адреса, остающегося неизменным в тече­ние всего времени существования переменной.

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

Достоинство

Всегда единственная копия данных в быстром локальном кэше.

Недостаток

Если данные требуются нескольким процессорам, то строка кэша с данными должна перемещаться туда и обратно при каждом доступе к данным.

 Особенности NC-NUMA (No Caching NUMA — NUMA без кэширования)

1) Отсутствует кэш-память, это значит, что память гарантированно согласованна

2) Каждое слово памяти находится только в одном месте, нет копий.

3) От того, в какой памяти находится слово, зависит производительность.

4) Имеется страничный сканер, который может перемещать страницы памяти между блоками памяти в зависимости от статистики.

 Недостаток

Низкая расширяемость

Особенности CC-NUMA (Cache Coherent Non-Uniform Memory Architecture)

1) Наличие кэша у процессоров.

2) Совместимость кэшей на программном или аппаратном уровне.

 Способы обеспечения совместимости кешей:

A. Отслеживание системной шины (низкая масштабируемость, простота технической реализации)

B. Использование каталога (хранение БД кэш-строк в высокоскоростном специализированном аппаратном обеспечении)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]