Новосибирский государственный университетФакультет информационных технологий |
Вычислительные системы с неоднородным доступом к памяти - система, состоящая из однородных узлов, состоящих из процессора и блока памяти и объединенных с помощью высокоскоростного коммутатора. Здесь поддерживается единое адресное пространство, аппаратно поддерживается доступ к удаленной памяти, т.е. к памяти других модулей. При этом доступ к локальной памяти в несколько раз быстрее, чем к удаленной.
Примеры систем, с архитектурой NUMA: HP 9000 V-class в SCA-конфигурациях, SGI Origin2000, Sun HPC 10000, IBM/Sequent NUMA-Q 2000, SNI RM600.
В вычислительных системах с неоднородным доступом к памяти реализована технология NUMA (Non-Uniform Memory Access).
Технология неоднородного доступа к памяти считается одной из путей создания крупномасштабных вычислительных систем. В архитектуре NUMA память физически распределена, но логически общедоступна. Это позволяет сохранить преимущества архитектуры с единым адресным пространством, а также ощутимо расширяет возможности масштабирования ВС.
В типичной организации системы типа ccNUMA имеется множество независимых составляющих ВС (узлов), объединенных с помощью какой-либо сети соединений (например, кроссбара, кольца и т.д.). Узел содержит процессор с кэш-памятью, а также локальную основную память, рассматриваемую как часть глобальной основной памяти системы.
Согласно технологии неоднородного доступа, каждый узел в системе владеет локальной памятью, но с позиций системы имеет место глобальное адресное пространство, где каждая ячейка любой локальной основной памяти имеет уникальный системный адрес. Когда процессор инициирует доступ к памяти и нужная ячейка отсутствует в его локальной кэш-памяти, организуется операция выборки. Если нужная ячейка находится в локальной памяти, выборка производится с использованием локальной шины. Если же требуемая ячейка хранится в удаленной секции глобальной памяти (локальной памяти другого процессора), то автоматически формируется запрос, посылаемый по сети соединений на локальную шину узла, где находится запрошенная информация, и уже по ней на подключенную к данной локальной шине кэш-память. Все эти действия выполняются автоматически, прозрачны для процессора и его кэш-памяти.
Как и в любой ВС с разделяемой памятью, особое внимание уделяется когерентности кэшей. В подавляющем большинстве NUMA-систем реализована аппаратная поддержка когерентности кэш-памяти процессорных элементов (ccNUMA), хотя известны системы, где такая поддержка отсутствует (nccNUMA). Поскольку для взаимодействия узлов системы используется не шина, а сеть соединений с более сложной топологией, в ccNUMA-системах проблема когерентности решается с помощью протоколов на основе распределенных справочников. Хотя отдельные реализации и отличаются в деталях, общим является то, что каждый узел содержит справочник. Взаимодействуя между собой, справочники позволяют определить физическое расположение любой информации в глобальном адресном пространстве.
В реальных NUMA-системах узлы обычно содержат не одиночные процессорные элементы, а сборки из нескольких ПЭ, чаще всего - SMP-системы. Так, одна из наиболее производительных ВС - Tera 10 - состоит из 544 SMP-узлов, каждый из которых содержит от 8 до 16 процессоров Itanium 2.
NUMA-системы, как правило, работают под управлением единой операционной системы.
Масштабируемость NUMA-систем ограничена лишь величиной адресного пространства, возможностями аппаратных средств поддержки когерентности кэшей и возможностями операционной системы по управлению большим числом процессоров. Например, NUMA-система Silicon Graphics Origin поддерживает до 1024 процессоров R10000, а система Sequent NUMA-Q объединяет 252 процессора Pentium II. Очередным этапом развития технологии NUMA стала архитектура NumaFlex, используемая в семействе SGI 3000, где допускается наращивание системы даже за счет различных процессоров.
Общая характеристика вычислительных систем с неоднородным доступом к памяти:
Ключевые термины: архитектура вычислительной машины; классификация флинна; mimd-архитектура; архитектура numa; архитектура ccnuma; архитектура nccnuma; симметричные мультипроцессорные системы; топология кроссбар; когерентность кэш-памяти;
Федотова Ольга Анатольевна |
НГУ ФИТ НГУ ИВТ СО РАН |