Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АВС Лекция 13.doc
Скачиваний:
124
Добавлен:
25.03.2015
Размер:
159.23 Кб
Скачать

5. Вычислительные системы с неоднородным доступом к памяти

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

Ограничение на число процессоров в архитектуре SMPстимулировало развитие кластерных систем. В последних каждый узел имеет локальную ос-новную память, то есть приложения «не видят» глобальной основной памяти. Когерентность в кластерных системах поддерживается не столько аппаратурой, сколько программным обеспечением, что снижает их производительность. Од-ним из путей создания крупномасштабных ВС является технология неодно-родного доступа к памяти (NUMA,Non-UniformMemoryAccess), точнее кэш-когерентного доступа к неоднородной памяти (CC-NUMA).

На рис. 13.6 показана типичная организация систем типа CC-NUMA. Име-ется множество независимых узлов, каждый из которых может представлятьSMP-систему. Таким образом, узел содержит множество процессоров, у каждого из которых присутствуют локальные кэши первого (L1) и второго (L2) уровней. В узле есть и основная память, общая для всех процессоров этого узла, но рассматриваемая как часть глобальной основной памяти системы. В архитекту- реCC-NUMAузел выступает основным строительным блоком. Узлы объединя-ются с помощью какой-либо сети соединений, которая представлена коммути-руемой матрицей, кольцом или имеет иную топологию.

Рис. 13.6. Организация систем типа CC-NUMA

Согласно технологии CC-NUMA, каждый узел в системе владеет собст-венной основной памятью, но с точки зрения процессоров имеет место глобаль-ная адресуемая память, где каждая ячейка любой локальной основной памяти имеет уникальный системный адрес. Когда процессор инициирует доступ к па-мяти и нужная ячейка отсутствует в его локальной кэш-памяти, кэш-память второго уровня (L2) процессора организует операцию выборки. Если нужная ячейка находится в локальной основной памяти, то выборка производится с использованием локальной шины. Если же требуемая ячейка хранится в уда-ленной секции глобальной памяти, то автоматически формируется запрос, посы-лаемый по сети соединений на нужную локальную шину и уже по ней к под-ключенному к данной локальной шине кэшу. Все эти действия выполняются автоматически.

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

Рассмотрим конкретный пример, иллюстрирующий работу такой схемы. Пусть процессор 3 узла 2 (P2.3) запрашивает ячейку с адресом 798, располо-женную в узле 1. В этом случае будет наблюдаться такая последовательность действий:

  1. P2.3 выдает на шину наблюдения узла 2 запрос чтения ячейки 798.

  2. Справочник узла 2 видит запрос и распознает, что нужная ячейка находится в узле 1.

  3. Справочник узла 2 посылает запрос узлу 1, который принимается справоч-ником узла 1.

  4. Справочник основной памяти 1, действуя как заменитель процессора P2.3, запрашивает ячейку 798, так как будто он сам является процессором.

  5. Основная память узла 1 реагирует тем, что помещает затребованные данные на локальную шину узла 1.

  6. Справочник узла 1 перехватывает данные с шины.

  7. Считанное значение через сеть соединений передается обратно в справочник узла 2.

  8. Справочник узла 2 помещает полученные данные на локальную шину узла 2, действуя при этом как заместитель той части памяти, где эти данные фактически хранятся.

  9. Данные перехватываются и передаются в кэш-память процессора P2.3 и уже оттуда попадают в процессорP2.3.

Из описания видно, как данные считываются из удаленной памяти с по-мощью аппаратных механизмов, делающих транзакции прозрачными для про-цессора. В основе этих механизмов лежит какая-либо форма протокола коге-рентности кэш-памяти. Большинство реализаций отличаются друг от друга ис-пользуемыми протоколами когерентности.

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