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

Еще одну причину хочется упомянуть особо. Это интенсивный рост производительности вычислительной техники. Вспомните, еще совсем недавно компьютеры делились на две категории: «офисные» и «станции» (графические, рабочие и т.п.). Офисными звались компьютеры с «обычной» конфигурацией и производительностью. Они были вполне доступны по цене, но использовались как пишущие машинки. Запустить на этих компьютерах программные пакеты для различных инженерных расчетов чаще всего не стоило и пытаться: используемые в этих программах методы решения требовали значительно большей производительности и совсем других объемов памяти. Для работы с расчетными пакетами использовались станции. Конфигурация этих машин должна была обеспечить максимальную производительность и надежность. При сборке использовались новейшие модели процессоров и плат. Производителем станции не могла быть какая-нибудь никому не известная китайская или тайваньская фирма — только серьезная компания масштаба HP, Sun Microsystems или SGI. Стоили станции в разы дороже, чем офисные компьютеры. Таким образом, решившись купить дорогой программный продукт, предприятие должно было позаботиться и о приобретении не менее дорогого оборудования.

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

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

Маловато будет!

Итак, «мирный атом вошел в дом». Моделирование прочно закрепилось на промышленных предприятиях, заняв почетное место важного, современного и экономичного этапа подготовки и анализа производственных процессов. Создаются отделы, набирается инженерный состав. Некоторые предприятия официально запретили внедрение технологий, не подтвержденных соответствующими расчетами, выпустив нормативные документы, регламентирующие отношения между служителями CAE и производственными службами. Но при этом у моделирования появились и некоторые обязанности, одна из которых — выполнение всех поставленных задач в заданные сроки.

А вот это не так просто. Расчеты, проводимые даже на современных компьютерах, могут длиться несколько дней и даже недель. Обратимся к примерам. Длительность расчета в системе моделирования процесса литья металлов ProCAST зависит от количества элементов в расчетной модели, качества конечно-элементной сетки и заданных параметров расчета (шаг по времени, количество расчетных полей и т.п.). Предположим, что качество сетки удовлетворяет требованиям алгоритмов и все параметры заданы правильно. Тогда при стандартном наборе решателей (моделируется заполнение формы расплавом, охлаждение и прогноз пористости) длительность расчета технологического процесса для несложной отливки составит от двух до трех дней — в зависимости от количества элементов. Если добавить к стандартному набору решателей расчет напряжений или модель микроструктуры, время расчета увеличится уже до трех-четырех дней. И это при условии, что расчет идет стабильно. Если же предположить, что расчетная сетка окажется не совсем хорошего качества, велика вероятность возникновения проблем с устойчивостью и сходимостью при работе гидродинамического модуля. Это чревато непрогнозируемым увеличением времени расчета, а то и полной остановкой процесса.

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

А вот это мой размерчик!

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

Обработка с распределенной памятью

Обработка с распределенной памятью (Distributed Memory Processing, DMP) — это архитектура, в которой каждый процессор использует свою собственную память (рис. 1). Другими словами, это некоторое количество компьютеров, объединенных специальной сетью и работающих под операционной системой Unix/Linux. Такая система называется кластером (рис. 2), между компьютерами (узлами) которого и распределяется рассчитываемая задача. Конфигурация требует наличия высокоскоростной сети между процессорами.

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

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

Рис. 1. Система с распределенной памятью Рис. 1. Система с распределенной памятью
Рис. 2. Вычислительный кластер ПНЦ РАН Рис. 2. Вычислительный кластер ПНЦ РАН

Симметричная многопроцессорная обработка

Другая технология, получившая название SMP (Shared Memory Processing), предполагает распределение вычислений по разным процессорам, которые используют общую память (рис. 3). Иными словами, используется один компьютер с нужным количеством процессоров, каждый из которых может иметь несколько ядер. Максимально возможное число процессоров равно 32.
Рис. 3. Симметричная многопроцессорная обработка Рис. 3. Симметричная многопроцессорная обработка

Главное достоинство такой системы — невысокая стоимость. Действительно, многоядерные процессоры стоят сегодня даже в ноутбуках. Покупка многопроцессорного и многоядерного системного блока обойдется дешевле, чем приобретение соответствующего числа одноядерных машин, которые впоследствии будут организованы в кластер. Не нужно заботиться о качестве и быстродействии сети, отдельном помещении. Многоядерная станция может быть подключена к ЛВС предприятия, что значительно упрощает обмен данными. Использование системы для решения задач инженерного анализа и анализа технологического процесса существенно, в несколько раз, сократит время математического расчета.

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

Конфигурация

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

Для получения максимальной производительности использовались два четырехъядерных процессора Intel Xeon, предоставляющих гибкие возможности использования 64- и 32-разрядных приложений и операционных систем. На серверной материнской плате установлено 16 Гб оперативной памяти, что позволит одновременно запускать несколько ресурсоемких расчетов. Для работы с визуализацией результатов и графикой установили видеокарту компании NVIDIA среднего ценового диапазона. Модель Quadro FX 1500 с 256 Мб графической памяти — это более чем достаточный вариант для работы с CAE-системами.

Несколько слов нужно сказать о жестких дисках. Жесткие диски (а тем более их количество) никак не влияют на скорость и производительность расчета, но это совсем не значит, что можно оставить их без внимания. Каждый расчет, выполненный в CAE-системе, — это гигабайты информации. Их надо где-то хранить. Как правило, к хранению результатов расчета предъявляются два требования: доступность и надежность. Опыт показывает, что архивирование и запись на различные оптические носители (CD, DVD) не приносит желаемых результатов. Чтобы получить доступ к данным, хранимым таким образом, надо сначала переписать содержимое диска на винчестер, а потом, возможно, и разархивировать. На это может уйти до часа времени. Кроме того, надежность оптических носителей довольно сомнительна.

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

Все комплектующие установлены в надежный и красивый корпус с хорошей системой вентиляции и защитой от несанкционированного доступа (рис. 4).

Рис. 4.а. Расчетная многоядерная (2x4) станция для проведения расчетов Рис. 4.а. Расчетная многоядерная (2×4) станция для проведения расчетов
Рис. 4.б. Расчетная многоядерная (2x4) станция для проведения расчетов Рис. 4.б. Расчетная многоядерная (2×4) станция для проведения расчетов
Рис. 4.в. Расчетная многоядерная (2x4) станция для проведения расчетов Рис. 4.в. Расчетная многоядерная (2×4) станция для проведения расчетов

Программное обеспечение

На компьютере установили лицензионную версию операционной системы Microsoft Windows XP Professional x64 Edition (версия 2003 с обновлением Service Pack 2).

Тестирование проводилось с использованием CAE-системы высшего уровня ProCAST (рис. 5), уже более 20 лет представленной на европейском рынке. С 2005 года началось продвижение этого продукта в России и странах СНГ, так что сейчас система достаточно хорошо знакома и отечественным предприятиям, имеющим литейное производство. Программный комплекс ProCAST предназначен для проведения тепловых, гидродинамических, прочностных и других расчетов, необходимых для отладки технологии литья изделий. Основная часть модулей использует для расчета метод конечных элементов; есть модули, использующие метод конечных разностей и клеточных автоматов. Последняя на момент тестирования версия продукта (2007.0) имеет в своем составе 32- и 64-разрядные версии решателей. Кроме того, в состав ProCAST 2007.0 включена DMP-версия продукта для проведения распределенных вычислений.

Рис. 5. Система компьютерного моделирования Рис. 5. Система компьютерного моделирования

Тестирование

Для проведения тестовых расчетов использовалась модель одного из заказчиков. Расчетная область модели состояла из двух объемов — тела отливки и песчано-глинистой формы. В процессе расчета работали решатели тепловой и гидродинамической задач. Общее количество элементов расчетной области — 3 518 121, дополнительные сведения о конечно-элементной модели приведены в таблице 1.
Таблица 1. Параметры конечно-элементной модели
Объем Количество элементов Использованные решатели
Тепловой Гидродинамический
Отливка 734 558 + +
Форма 2 783 563 + -

Тестирование компьютера проводилось путем расчета одной и той же задачи с использованием разного количества ядер и решателей разной разрядности (32- и 64-бит). По окончании каждого расчета фиксировалось процессорное время (CPU time).
При оценке результатов тестирования производительность вычислялась по формуле:

где CPUtime0 — процессорное время эталонного (базового) расчета. За эталон принято процессорное время расчета той же самой задачи на ничем не выдающемся, но вполне современном компьютере (двухъядерный ЦПУ 2 ГГц, 2 Гб ОЗУ, Windows XP Pro). Чтобы рассчитать, во сколько раз время расчета тестируемой задачи оказалось меньше времени эталонного расчета, надо разделить время базового расчета на время тестового расчета.

Результаты тестирования представлены в таблице 2 и на рис. 6. Последняя строка таблицы (выделена шрифтом) относится к эталонному расчету.

Таблица 2. Результаты тестирования
Количество ядер Разрядность
решателей
Время
(дней, часов, минут, секунд)
Производительность
% раз
8 64 15 ч, 56 м, 01 с 79,2 4,8
4 64 23 ч, 52 м, 34 с 68,8 3,2
2 64 1 д, 09 ч, 38 м, 38 с 56,1 2,3
1 64 2 д, 23 ч, 08 м, 35 с 7,1 1,08
1 32 2 д, 22 ч, 20 м, 57 с 8,1 1,09
1 32 3 д, 04 ч, 33 м, 27 с - -
Рис. 6. Результаты тестирования Рис. 6. Результаты тестирования

Коротко подытожим. Наблюдается вполне прогнозируемый рост скорости расчета в зависимости от количества задействованных ядер. Даже аналогичный базовому расчет (одно ядро, 32-разрядные решатели) длится на 6 часов меньше, что, вероятно, связано и с удачной конфигурацией компьютера, и с использованием 64-разрядной ОС. Подключение к расчету еще одного ядра дает резкий, в 2,3 раза, скачок производительности по отношению к эталону. Конечно, такая динамика не могла сохраняться при увеличении количества задействованных ядер, но полученный результат тем не менее впечатлил. Начиная с двух и до восьми ядер включительно рост производительности происходит по линейному закону (рис. 7).

Рис. 7. Характер роста скорости расчета Рис. 7. Характер роста скорости расчета

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

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

В завершение скажем, что экспериментальный экземпляр трудится в отделе САПР и инженерного анализа ЗАО «СиСофт».

Алексей Монастырский
CSoft
Тел.: (495) 069−4488
E-mail: avmon@csoft.ru