Что такое неоднородный доступ к памяти (NUMA)?

Last Updated: 2020-12-09
4.6
(5)
Summary: NUMA, сокращение от Non-Unified Memory Access, представляет собой дизайн компьютерной памяти для многопроцессорной обработки. Здесь вы найдете полное введение в NUMA.

Definition

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

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

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

Архитектуры NUMA логически следуют масштабированию архитектуры SMP (симметричной многопроцессорной обработки). По сравнению с SMP архитектура NUMA масштабируется для большего количества процессоров.

Основная концепция

Современные процессоры работают намного быстрее, чем используемая ими основная память. На ранних этапах вычислений и обработки данных ЦП обычно работает медленнее, чем его память. Ограничение количества обращений к памяти - ключ к достижению высокой производительности современных компьютеров.

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

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

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

Кэш-когерентный NUMA (ccNUMA)

Почти все архитектуры ЦП используют ссылочные места при доступе к памяти с небольшим объемом высокоскоростной не разделяемой памяти, называемой кэшированием.

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

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

Поддержка программного обеспечения

Поскольку NUMA сильно влияет на производительность доступа к памяти, требуется некоторая оптимизация программного обеспечения, чтобы позволить потокам и процессам планировать доступ к своим данным в памяти.

  • Silicon Graphics IRIX поддерживает архитектуру ccNUMA на процессорах 1240 и Origin Server Series.
  • Microsoft Windows 7, а также Windows Server 2008 R2 увеличили поддержку более 64 логических ядер архитектуры NUMA.
  • В Java 7 добавлена поддержка распределителей памяти с учетом NUMA и сборщиков мусора.
  • Версия 3.13 ядра Linux представила несколько политик для размещения процессов рядом с памятью и обработки таких ситуаций, как использование больших прозрачных страниц или совместное использование страниц памяти между процессами. Новые настройки sysctl позволяют включать или отключать балансировку NUMA и настраивать различные параметры балансировки памяти NUMA.
  • OpenSolaris использует lgroups для моделирования архитектуры NUMA.
  • FreeBSD добавляет начальную релевантность NUMA и конфигурацию политики в версию 11.0.

Bottom Line!

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

 

How useful was this post?

Click on a star to rate it!

Average rating 4.6 / 5. Vote count: 5

No votes so far! Be the first to rate this post.

Previous Article

Как вернуть последний значок Google Chrome для Mac к оригинальному? Описание: NUMA, сокращение от Non-Unified Memory Access, представляет собой дизайн компьютерной памяти для многопроцессорной обработки. Смотрите здесь полное введение ...

Next Article

How to Recover Deleted Videos From Mac? Описание: NUMA, сокращение от Non-Unified Memory Access, представляет собой дизайн компьютерной памяти для многопроцессорной обработки. Смотрите здесь полное введение ...

About Bitwar Data Recovery

3 Steps to get back 500+ kinds of deleted, formatted or lost documents, photos, videos, audios, archive files from various data loss scenarios.

Learn More

Hot Articles

    Related Articles