Non-Uniform Memory Access

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
NUMA.gif

NUMA (Non-Uniform Memory Access — «неравномерный доступ к памяти» или Non-Uniform Memory Architecture — «Архитектура с неравномерной памятью») — схема реализации компьютерной памяти, используемая в мультипроцессорных системах, когда время доступа к памяти определяется её расположением по отношению к процессору.

NUMA с когерентностью кэш-памяти (ccNUMA)[править | править вики-текст]

Системы NUMA состоят из однородных базовых узлов, содержащих небольшое число процессоров с модулями основной памяти.

Практически все архитектуры ЦПУ используют небольшое количество очень быстрой неразделяемой памяти, известной как кеш, который ускоряет обращение к часто требуемым данным. В NUMA поддержка когерентности через разделяемую память даёт существенное преимущество в производительности.

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

Как правило, существует межпроцессорное взаимодействие между контроллерами кеша для сохранения согласованной картины памяти (когерентность памяти), когда более чем один кеш хранит одну и ту же ячейку памяти. Именно поэтому, ccNUMA платформы теряют в производительности, когда несколько процессоров подряд пытаются получить доступ к одному блоку памяти. Операционная система, поддерживающая NUMA, пытается уменьшить частоту доступа такого типа путем перераспределения процессоров и памяти таким способом, чтобы избежать гонок и блокировки.

Примером многопроцессорных машин с архитектурой ccNUMA может являться серия машин компании Silicon Graphics SGI Origin 2000 (англ.). Суперкомпьютер ASCI Blue Mountain — один из самых мощных суперкомпьютеров 1999 года[1] — представлял собой массово-параллельный кластер из 48 машин SGI Origin 2000 по 128 процессоров в каждой[источник не указан 96 дней].

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]