Non-Uniform Memory Access

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Схема организации памяти в мультипроцессорных системах

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

Имплементация

[править|править код]

Межпроцессорное взаимодействие является частью архитектуры чипсетов, поэтому у каждого вендора своя реализация шины обмена данными. AMD использует технологиюHyperTransport,разработанную в 2001 г. в рамках консорциума, среди участников которых можно выделить Cray, Cisco, NVidia. Intel же традиционно использует свои технологии. В 2008 году появился первый процессор реализующий шинуQuickPath Interconnect(QPI), в 2017 году был сменён технологиейUltra Path Interconnect (en)(UPI).

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

[править|править код]

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

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

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

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

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

  1. TOP 10 Sites for June 1999.Дата обращения: 2 сентября 2014.Архивировано21 сентября 2013 года.