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

Last Updated: 2022-08-02
4.8
(73)
Краткое содержание: NUMA, сокращение от Non-Unified Memory Access, представляет собой дизайн компьютерной памяти для многопроцессорной обработки. Здесь вы найдете полное введение в NUMA.

Definition

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

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

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

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

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

Modern CPUs run much faster than the main memory they use. In the early stages of computing and data processing, the CPU typically runs slower than its memory. The limiting memory access number is the key to extracting high performance from modern computers.

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

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

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

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

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

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

Supporting NUMA in the operating system tries to reduce the frequency of such access by allocating processors and memory in a NUMA-friendly manner and preventing the scheduling and locking algorithms necessary to make NUMA unfriendly access.

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

Поскольку 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 uses groups to model the NUMA architecture.
  • FreeBSD добавляет начальную релевантность NUMA и конфигурацию политики в версию 11.0.

Bottom Line!

In short, after going through this page, you will have a better understanding of the definition, basic concept, and work manner of Non-Unified Memory Access. You will also know that NUMA affects memory access performance so some software optimizes to support it.

Насколько полезен был этот пост?

Нажмите на звездочку, чтобы оценить!

Средний рейтинг 4.8 / 5. Подсчет голосов: 73

Голосов пока нет! Будьте первым, кто оценит этот пост.

Предыдущая статья

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

Следующая статья

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

О восстановлении данных Bitwar

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

Узнать больше

Горячие статьи

    Похожие статьи