Тестирование архитектуры NUMA.

27 января 2007, суббота 01:18
для раздела Блоги
Введение

Видел упоминание об архитектуре NUMA (Non-Uniform Memory Architecture) на платформе AMD в статье
Четырёхъядерность от AMD: платформа Quad FX , а также в новостях Для работы с Quad FX понадобится самая дорогая версия Windows Vista., в которых сообщается, что архитектура NUMA может дать прирост быстродействия платформы AMD Quad FX в операционной системе Windows Vista.
Помимо Windows Vista архитектуру NUMA поддерживает и MS Server 2003.

Цель тестирования - проверить влияние на производительность подсистемы памяти с использованием архитектуры NUMA и в Node Interlive (попеременное использование контроллеров памяти - эквивалентно дисковому массиву RAID0).

Тестируемое железо

В обзоре приняла участие четырехъядерная система Opteron:
CPU: 2*Opteron270 (10*200) 2000MHz
MoBo: Tyan Thunder K8S Pro (S2882)
RAM: 8*512Mb DDR-266 ECC Reg 3-3-3-8-1 (Память установлена по четыре модуля на каждый процессор)


(кликните по картинке для увеличения)



В этой системе используются два процессора, соответственно и два контроллера памяти, а так же в BIOS есть возможность переключать NUMA в Node Interlive. К сожалению, в системе нет PCIex слотов, поэтому нет возможности протестировать в графических приложениях.

Тестовые программы

В качестве операционной системы была выбрана MS Server 2003 SP1.
Для тестирования был использован следующий набор синтетических бенчмарков и программного обеспечения:

Everest 3.01.704

CrystalMark2004 0.9.115.278

Rmcpulite_2005_v13 - первая сцена с дефолтными настройками, автоматическим выбором MMX/SSE и максимальным количеством потоков использовался показатель Renderer FPS

WinRar 3.61 встроенный тест с включенной многопоточностью - результат KB/s

7zip 4.42 встроенный тест (настройки дефолтные) с включенной многопоточностью - результат общий MIPS

Проект Folding@Home

Для тестирования были взяты задания 1495 (Gromacs), которые используют около 120Мб оперативной памяти и достаточно сильно зависят от её пропускной способности.

Результаты тестирования

Everest 3.01.704



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









CrystalMark2004 0.9.115.278





Rmcpulite_2005_v13





WinRar 3.61




Winrar показывает большие различия в быстродействии архитектур. При использовании Winrar в однопоточном режиме в Node Interlive нет влияния, на каких ядрах выполняется приложение, т.к. память используется попеременно с обоих контроллеров памяти. А вот в однопоточном режиме в NUMA данные, похоже, находятся на первом контроллере памяти, и при добавлении второго процессора снижает общую производительность. В многопоточном режиме в Node Interlive производительность даже увеличивается при использовании двух ядер от различных CPU, по сравнению с двумя ядрами одного CPU (при более ранних тестированиях различных систем - двуядерный вариант всегда лидировал над двухпроцессорным из-за более скоростной работы с кешем), вследствие того, что используются оба контроллера памяти. Также видно, что в режиме NUMA используется контроллер первого CPU, а из-за этого ухудшается масштабируемость системы при увеличении количества ядер.

7zip 4.42




В 7zip не произошло таких больших отличий между NUMA и Node Interlive, похоже, больше обращений в кеш память и влияние оперативной памяти оказалось незначительным.

Folding@Home







В Folding@Home запускал от одной вычислительной задачи до четырех и замерял скорость вычисления в сутки (PPD). Для четырех выполняемых вычислительных задач дополнительно проверил PPD при ручном выставлении соответствия одной задаче одного ядра (Set Affinity) в диспетчере задач операционной системы.
При автоматическом выставлении соответствия операционной системой видно падение PPD на одну задачу при увеличении количества одновременно запущенных задач. Также видно, что Node Interlive предпочтительней при автоматическом выставлении соответствия. И только при ручном выставлении соответствия в NUMA производительность увеличивается практически линейно с увеличением задач и превосходит Node Interlive.

Заключение

Хотя в некоторых статьях и были прогнозы насчет увеличения производительности системы при поддержке операционной системой NUMA - на практике картина неоднозначна. Для полного увеличения быстродействия памяти требуется поддержка NUMA не только со стороны операционной системы, но и со стороны приложений (например, MS SQL поддерживает NUMA), либо необходимо запускать приложения с установкой соответствия CPU.
На мой взгляд, это очередные маркетинговые трюки с заимствованием серверных технологий в настольный сегмент и вряд ли разработчики будут писать приложения с поддержкой NUMA для этого сегмента, но возможно кому-то покажется удобным вариант увеличения быстродействия путем ручной установки соответствия CPU в диспетчере задач.

Ссылки на подробное описание архитектуры:
Non-Uniform Memory Architecture (NUMA)
Non-Uniform Memory Architecture (NUMA). Часть 2


Общаемся здесь http://forums.overclockers.ru/viewtopic.php?t=167882
Оценитe материал

Возможно вас заинтересует

Популярные новости

Сейчас обсуждают