Достоинство
Особенности COMA
Мультипроцессоры NUMA
Размер мультипроцессоров UMA с одной шиной обычно ограничивается до нескольких десятков процессоров, а для координатных мультипроцессоров или мультипроцессоров с коммутаторами требуется дорогое аппаратное обеспечение, и они ненамного больше по размеру. Чтобы получить более 100 процессоров, нужно что-то предпринять. Отметим, что все модули памяти имеют одинаковое время доступа.
Для большей масштабируемости мультипроцессоров приспособлена архитектура NUMA (NonUniform Memory Access — с неоднородным доступом к памяти). Как и мультипроцессоры UMA, они обеспечивают единое адресное пространство для всех процессоров, но, в отличие от машин UMA, доступ к локальным модулям памяти происходит быстрее, чем к удаленным.
Машины NUMA имеют три ключевые характеристики, которыми все они обладают и которые в совокупности отличают их от других мультипроцессоров:
1. Существует одно адресное пространство, видимое для всех процессоров.
2. Доступ к удаленной памяти производится с использованием команд LOAD и STORE.
3. Доступ к удаленной памяти происходит медленнее, чем доступ к локальной памяти. Доступ процессора к собственной Локальной памяти производится напрямую, что намного быстрее, чем доступ к удаленной памяти через коммутатор или сеть.
В рамках концепции NUMA реализуется несколько различных подходов, обозначаемых аббревиатурами СОМА, cc-numa и ncc-numa.
1) Локальная память каждого процессора рассматривается как кэш для доступа «своего» процессора.
2) Кэши всех процессоров рассматриваются как глобальная память системы, а сама глобальная память отсутствует.
3) Данные не привязаны к конкретному модулю памяти и не имеют уникального адреса, остающегося неизменным в течение всего времени существования переменной.
4) Данные переносятся в кэш-память того процессора, который последним их запросил. Перенос данных из одного локального кэша в другой не требует участия в этом процессе операционной системы, но подразумевает сложную и дорогостоящую аппаратуру управления памятью.
Всегда единственная копия данных в быстром локальном кэше.
Если данные требуются нескольким процессорам, то строка кэша с данными должна перемещаться туда и обратно при каждом доступе к данным.
Особенности NC-NUMA (No Caching NUMA — NUMA без кэширования)
1) Отсутствует кэш-память, это значит, что память гарантированно согласованна
2) Каждое слово памяти находится только в одном месте, нет копий.
3) От того, в какой памяти находится слово, зависит производительность.
4) Имеется страничный сканер, который может перемещать страницы памяти между блоками памяти в зависимости от статистики.