Михаил Плыкин, ЗАО «ЕМТ Р»

В современной расчетной практике боль­шинство задач требует рассмотрения всей геометрической информации без каких-либо упрощений.

Довольно часто расчетные модели пред­ставляют собой лишь часть реального объекта с наложенными условиями симметрии и перио­дичности. Однако многие сложные физические явления в задачах прочности и гидродинамики не имеют симметричной природы. Кроме того, при упрощении геометрической модели невоз­можно оценить влияние на результаты таких особенностей модели, как фаски, галтели и пр. (рис. 1).

Рис. 1. Пример комплексной задачи, рассчитанной без традиционных упрощений

Использование распределенных вычис­лительных систем способно в корне изменить ситуацию. Подобные системы принято делить на два типа: SMP (Shared Memory Processors) и MPP (Massively Parallel Processors), причем каж­дый из них имеет свои сильные и слабые сторо­ны, которые необходимо учитывать при выборе конкретного аппаратного решения. На данный момент большинство подобных систем осно­вывается на процессорах Itanium2, Intel Xeon EM64T и AMD Opteron.

Учитывая повышенный интерес к данному вопросу, специалисты компании ЕМТ совместно с компанией ARBYTE регулярно проводят тесты различных вычислительных систем для выбора оптимального решения.

 Тестовая задача и расчетные системы

В качестве объекта тестирования был выбран один из элементов конструкции металлургического прокатного стана. Общая размерность задачи составила 408 тыс. элементов (в том числе контактных) и 306 тыс. узлов (рис. 2). При расчете использовался решатель DPCG.

В качестве тестовых платформ использовались три совершенно различных решения.

Рис. 2. Внешний вид сетки конечных элементов

Первая конфигурация состояла из двухпроцессорного блока Intel Xeon EM64T 3,4 ГГц (1 Мбайт L2) с оперативной памятью 8 Гбайт. Система работала под управлением Red Hat Linux Advanced Server 3.0, а дисковая система представляла собой стандартное решение на SATA-дисках.

Вторая конфигурация включала двухпроцессорный блок Intel Itanium2 1,6 ГГц (6 Мбайт L2) с оперативной памятью 8 Гбайт, ОС Red Hat Linux Advanced Server 2.1, а дисковая система была построена на SCSI-дисках со стандартным интерфейсом.

Наконец, третья конфигурация была создана на основе серверов серии SGI Altix 350 — один узел, состоящий из двух процессоров Intel Itanium 2 1,5 ГГц (6 Мбайт L2) с оперативной памятью 32 Гбайт (рис. 3). Сервер работал под управлением ОС red Hat Linux Advanced Server 3.0. Дисковая система была основана на SATA-дисках, работающих в rAID-массиве в 10-м режиме. При соединении с сервером использовался Fiber channel.

Рис. 3. Cервер серии SGI Altix 350

К отличительным особенностям серверов SGI Altix 350 можно отнести высокую степень масштабируемости, а также использование технологий общего доступа к памяти SGI NUMAflex и интерконнекта SGI NUMAlink со скоростью 6,4 Гбит/с. По скорости сетевого обмена серверы Altix превосходят такие широко известные системы, как Infiniband, Myrinet, в несколько раз.

Данные особенности делают применение сервера SGI Altix 350 крайне выгодным в задачах распараллеливания.
Основной задачей тестирования было определение оптимальной конфигурации системы для расчета задач большой размерности в кратчайшие сроки.

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

Результаты тестов показаны в виде диаграмм на рис. 4.

Благодаря наличию достаточно быстрых процессоров конфигурация на основе Intel Xeon характеризуется самым малым процессорным временем — 8202 с. Однако полное время счета составило 54 856 с, то есть время сборки превы­сило время счета более чем в 5 раз.

Похожую ситуацию мы наблюдаем и в случае использования 2xItanium2: время счета 26 175 с, а с учетом сборки модели — 77 108 с. Таким образом, даже одни из самых быстрых процессоров Itanium2 не смогли посчитать зада­чу быстрее предыдущей конфигурации.

Рис. 4. Результаты тестов

Дисковая система SCSI сработала быст­рее, но существенного улучшения быстродей­ствия не произошло.

А вот ситуация с сервером SGI Altix явно отличается от предыдущих: в однопроцессор­ном варианте процессорное время составило 14 918 с, а суммарное — 15 954 с.

Несмотря на то что процессоры в данном варианте были чуть медленнее (1,5 ГГц вместо 1,6 ГГц), расчет задачи даже на одном процес­соре оказался быстрее, чем в первых двух кон­фигурациях. И, что особенно важно, в несколько раз быстрее стандартного сервера Itanium2.

Наличие высокоскоростной дисковой системы позволило снизить время сборки до предельно низких величин — порядка 7% от времени счета. В двухпроцессорном варианте сервера быстродействие возросло в 1,6 раза: процессорное время составило 9654 с, а сум­марное — 10 069 с.

В итоге самым быстрым решением из про­тестированных оказалась конфигурация на ос­нове двухпроцессорного сервера SGI Altix 350. Это в очередной раз показывает преимущество специализированного решения для вычисли­тельных систем над стандартными серверными решениями.

Второе место заняла конфигурация на ос­нове двухпроцессорного Intel Xeon.

Архитектуры протестированных систем имеют много различий в плане масштабируе­мости и гибкости в использовании.

Рис. 5. Результаты тестов

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

У сервера на основе Intel Itanium2 та же проблема: максимальный размер оперативной памяти составляет 32 Гбайт. Дальнейшее уве­личение производительности тоже связано с наращиванием узлов и без применения специ­ализированного сетевого интерконнекта будет неэффективным.

Серверы SGI Altix 350 обладают принци­пиально иными решениями. Даже если сервер состоит из нескольких отдельных процессорных блоков, технология общей адресации памяти SGI NUMAflex фактически превращает его в сервер с SMP-архитектурой. Это заметно улучшает его масштабируемость для задач различных типов. Встроенный сетевой интерконнект SGI NUMAlink (6,4 Гбит/с) позволяет не терять производитель­ность при увеличении числа узлов.

Выбор двухпроцессорных серверов для тестов связан с тем, что для таких конфигураций не нужно использовать дополнительный модуль Parallel Performance — достаточно лицензии ANSYS для одного рабочего места.

Модуль Parallel Performance снимает огра­ничение на число процессоров.

На рис. 5 представлена диаграмма, пока­зывающая ускорение расчета вследствие уве­личения числа узлов.

Размерность тестовой задачи составила 1,2 млн. элементов. Применялся Sparse-реша- тель. При расчете использовался сервер SGI Altix на основе Itanium2.

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

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

Благодарим специалистов центра высокопроизводительных решений компании ARBYTE Александра Иванова, Алексея Нечаева и Юрия Афанасьевича Дороненко за помощь, оказанную при подготовке статьи.