Определение: память с неоднородным доступом или архитектура распределенной разделяемой памяти (NUMA, Non-Uniform Memory Access), как и симметричная многопроцессорная обработка (SMP, symmetrical multiprocessing), представляет собой технологию, которая дает пользователям возможность начать с относительно маломощных серверов, а по мере роста компании увеличивать число процессоров. Для большинства SMP-серверов при более чем восьми процессорах выигрыш в производительности получить очень трудно. Архитектура NUMA обладает гораздо более высокой масштабируемостью. Эта технология позволяет соединить в одной машине до 256 процессоров, а некоторые производители считают, что их число можно довести до 512.


Масштабируемость: преодолевая стереотипы

Джайкумар Виджаян
Computerworld Россия


Как работает NUMA
Чтобы понять принцип работы технологии NUMA, нужно знать, как функционирует традиционная симметричная многопроцессорная обработка (SMP).

 SMP позволяет связать несколько процессоров в одну систему и объединить их вычислительную мощность для выполнения нескольких приложений или одного большого приложения.
Эти процессоры взаимодействуют друг с другом с помощью так называемой шины межсоединения и используют общий пул памяти. При увеличении в сервере числа процессоров возрастает и трафик в данной шине. В конце концов пропускная способность системы существенно снижается.

 NUMA, как и SMP, позволяет получить объединенную вычислительную мощность большого числа процессоров, каждый из которых обращается к общему пулу памяти, однако процессоры организуются в небольшие группы или "узлы", с помощью которых они связываются друг с другом.
Например, 16-процессорный сервер может содержать четыре узла по четыре процессора. Каждый узел имеет собственный пул памяти. NUMA уменьшает нагрузку на шину по сравнению с SMP, поскольку процессоры в узлах взаимодействуют друг с другом и со своей локальной оперативной памятью через отдельные шины.
Кроме того, они могут обращаться к пулам памяти других узлов, хотя время доступа зависит от того, насколько узлы удалены друг от друга.
Именно поэтому такая архитектура называется архитектурой с распределенной разделяемой памятью.
Архитектура NUMA исследуется в научных лабораториях уже не первый год. Между тем такие свойства, как высокая степень масштабируемости и более низкая стоимость по сравнению с SMP способствуют ее коммерческому внедрению.

Самым большим преимуществом архитектуры NUMA является ее масштабируемость. По словам Джима Гардена, аналитика из компании Technology Business Research, это качество приобретает особое значение в связи с распространением быстроразвивающихся приложений хранилищ данных и оперативной обработки транзакций, требования которых быстро выходят за рамки возможностей серверов, где они выполняются.

Некоторые производители систем NUMA
Производитель Продукт Число и тип поддерживаемых процессоров Оперативная память, Гбайт Памятьна дисках, Тбайт Начальная цена, тыс. долл.
Sequent Computer Systems NUMA-Q 2000 до 252 процессоров Pentium Pro до 252 100 100
Data General AV20000 до 64 процессоров Pentium II Xeon 64 100 70
Silicon Graphics Origin 2000 до 128 процессоров MIPS R10000 до 256 до 232 52164

Еще одно достоинство NUMA в том, что пользователям редко приходится переделывать свои приложения или базы данных - если возможности SMP-серверов оказываются исчерпанными, то можно относительно легко перенести их на серверы NUMA.

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

По словам Джонатана Юниса, президента консалтинговой компании Illuminata, NUMA прекрасно зарекомендовала себя там, где не справляется SMP. Обычно SMP-серверы хорошо масштабируются, но только до восьми процессоров. После этого увеличение производительности обходится все дороже.

Построение более мощных серверов SMP влечет за собой дополнительные расходы. "NUMA по существу не отличается от SMP - это просто техническое решение для расширения масштабируемости

SMP и повышения эффективности при относительно небольших затратах", - считает Юнис.

Сегодня серверы NUMA поддерживают 32 процессора, впоследствии они смогут использовать до 256 процессоров. В настоящее время в типичной конфигурации NUMA насчитывается до 16 процессоров, до 32 Гбайт оперативной памяти и более 1 Тбайт дисковой памяти. Подобные системы работают под операционной системой Unix.

В области NUMA лидируют такие разработчики, как Sequent Computer Systems, Silicon Graphics, Data General и Siemens Nixdoft Informationssysteme AG.

Практически все производители серверов, в числе которых Sun Microsystems, Hewlett-Packard, Digital Equipment, Tandem Computer Systems, Compaq и NCR, в той или иной степени используют методы NUMA для повышения масштабируемости.

Аналитики предполагают, что несмотря на перспективы NUMA, этой технологии предстоит преодолеть сложившееся представление о ней как о непроверенной и неопробованной архитектуре. Ее широкое внедрение напрямую зависит от поддержки Windows NT.

"В конечном счете только популярная операционная система будет способствовать распространению серверов NUMA", - считает Гарден.