Назад | Перейти на главную страницу

Как проверить, включен ли сервер NUMA?

Мой босс хочет знать, поддерживает ли HP DL320 G5 NUMA. Я пробовал поискать в Интернете, но не могу найти никакой конкретной информации.

Кто-нибудь не знает, подходит ли этот сервер для запуска приложений NUMA?

Opterons и Nelahem (55xx и новее) Xeon имеют архитектуру NUMA - каждый сокет имеет свою собственную шину памяти, и между сокетами существует связь. Эта ссылка называется Hypertransport в системах Opteron и Quickpath в Xeon. G5 появился раньше Nelahem и до сих пор использует более старую Front Side Bus, которая не является архитектурой NUMA.

Opterons и 35xx / 55xx или более поздние версии Xeon могут использовать чистый режим адресации NUMA, в котором память каждого сокета находится в непрерывном разделе физического адресного пространства. Если вы хотите запустить приложение, поддерживающее NUMA (например, поддерживающее привязку к процессору), вы можете настроить систему для работы в этом режиме.

В системах этого типа также есть унаследованный режим, в котором отдельные страницы 4K чередуются между сокетами, поэтому доступ к памяти точно смешивается между сокетами. Это немного снижает производительность, поскольку половина всех обращений к памяти должна проходить через шину Hypertransport к другому сокету (Quickpath в случае Xeon). Однако большинство обращений будет кэшироваться, поэтому накладные расходы на производительность относительно невелики.

Этот режим позволяет системам эффективно запускать приложения, не поддерживающие NUMA, и обычно является режимом по умолчанию, в котором загружается система. Обычно вы можете настроить это в BIOS.

Ваш G5 не будет работать в режиме NUMA, потому что он имеет архитектуру внешней шины. FSB - это единая шина, совместно используемая памятью и всеми сокетами процессора, поэтому она имеет униформа характеристики доступа к памяти, т.е.не NUMA. Мне неизвестны приложения wintel или перемычки, которые зависят от архитектуры NUMA; есть вероятность, что приложению не требуется NUMA, но оно будет поддерживать, если оно есть. Вероятно, вы все еще можете запустить приложение в своей старой системе G5. Будет ли это актуальным, зависит от приложения и того, чего вы хотите достичь.

Поддержка NUMA в приложениях

Некоторые приложения (например, SQL Server) могут реализовать значительные преимущества в производительности за счет оптимизации памяти, использования ввода-вывода и планирования, чтобы минимизировать штрафы за нелокальный доступ. Для реализации поддержки NUMA в приложении необходимо, чтобы в операционной системе были доступны вспомогательные средства, например:

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

  • Сходство с памятью: поток может запрашивать память и указывать, что она должна или должна быть доступна из памяти, локальной для сокета. Сохранение использования памяти и ЦП на одной шине сводит к минимуму накладные расходы на доступ к нелокальной памяти. Накладные расходы не так велики в современных системах NUMA, но нелокальный доступ был намного медленнее в старых системах, таких как ранняя версия Sequent.

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

Первыми NUMA Xeon были серии 55xx, которые ваш G5 не выдерживает, поэтому это не так.