Для поддержания оптимальных температурных режимов разработана система мониторинга и регулирования температуры в печи с инфракрасным энергоподводом на базе персонального компьютера с использованием программной среды ЬаЪУШШ и N1 DAQ-плат РСК-модулей. Данная система была использована в связи с относительной простотой аппаратурного оформления, надежностью и визуальностью интерфейса программного обеспечения (см. рис.).
Разработанная система функционирует следующим образом: аналоговые сигналы с датчика температуры поступают на DAQ-плату - многофункциональное устройство сбора данных, где преобразуются в цифровой код, фильтруются от помех и преобразуются в величины, соответствующие выбранным единицам измерения (в данном случае преобразование производится в вольтах). Далее сигнал в цифровом виде вводится в компьютер, где с помощью программного продукта «Контроль и регулирование температуры», разработанного в среде ЬаЪУШШ, усредняется за заданный временной интервал, тарируется с помощью коэффициентов в градусы Цельсия, выводится на монитор виртуального осциллографа и сравнивается с критическими величинами. Использование виртуального осциллографа позволяет отслеживать изменение температуры во времени. Если текущее значение сигнала выходит за заданный предел, на экране монитора загорается сигнальная лампа. Далее сигнал поступает на регулирующее устройство включения-выключения инфракрасной лампы.
Использование среды графического программирования ЬаЪУШШ позволяет быстро создавать виртуальные приборы с большими возможностя-
ми для анализа и с интерфейсом, удобным для пользователя (Компьютерная система контроля и регулирования температуры в научном эксперименте с использованием среды LаЪУIEW. М.Н.Орешина, М.А. Беляева. Свид-во об офиц. регистр. прогр. для ЭВМ № 2007611824 по заявке № 2007610997).
Применение N1 DAQ-устройств позволяет быстро и безопасно изменять способы подключения датчиков к измерительным цепям. Ранее разработчики системы сбора данных затрачивали большое количество времени, определяя типы сигнала, подключения, уравнения преобразования и единицы измерения. Применение современных информационных технологий устраняет эти недостатки и совершенствует работу системы в целом.
Литература
Беляева М.А. Моделирование и оптимизация управления качеством мясных изделий в процессе тепловой обработки. М.: ООО «Франтера», 2006. 248 с.
ПАРАЛЛЕЛИЗАЦИЯ ГИДРОДИНАМИЧЕСКИХ РАСЧЕТОВ НА БЛОЧНО-СТРУКТУРИРОВАННЫХ СЕТКАХ
(Работа выполнена при поддержке Российской программы поддержки ведущих научных школ,
грант НШ-5917.2008.8)
Д.К. Зайцев, к.ф.-ж.н.; Е.М. Смирнов, д.ф.-ж.н.; С.А. Якубов, к.ф.-ж.н.
(Санкт-Петербургский государственный политехнический университет, [email protected])
Рассматриваются некоторые особенности эффективного применения технологии MPI при решении ресурсоемких задач вычислительной гидродинамики на кластерных системах с использованием блочно-структурированных расчетных сеток. Даны рекомендации по организации межпроцессорного обмена данными для повышения эффективности распараллеливания.
Ключевые слова: параллельные вычисления, гидродинамика, численное моделирование, блочно-структури-рованные сетки.
Расчеты сложных турбулентных потоков в условиях реальной геометрии моделируемого объекта прочно вошли в практику в самых разных областях науки и техники - от энергетики и строи-
тельства до медицины и экологии. Стационарные расчеты на сетках до полумиллиона ячеек на современном персональном компьютере занимают несколько часов и часто рассматриваются как ря-
довые. В более сложных случаях, например при использовании вихреразрешающих подходов к моделированию турбулентности, возникает необходимость решения нестационарной задачи на большом интервале времени для получения статистически установившегося результата, что увеличивает объем вычислений в сотни раз. При этом единичный компьютер зачастую не может обеспечить требуемый объем оперативной памяти для работы с многомиллионными расчетными сетками, использование которых диктуется необходимостью адекватного разрешения сложной вихревой структуры потока.
Эффективным средством решения столь ресурсоемких задач гидродинамики является применение параллельных вычислений на распределенных системах кластерного типа, которые сравнительно дешевы и легко масштабируются как по числу процессоров, так и по объему оперативной памяти. Однако эффективность параллелизации существенно зависит от того, как в программе организован межпроцессорный обмен данными, который обычно является самой медленной частью алгоритма и может свести на нет эффект от увеличения числа используемых процессоров.
В настоящей работе представлен весьма удачный, по мнению авторов, опыт распараллеливания академического программного комплекса (ПК) SINF (Supersonic to INcompressible Flows).
ПК SINF развивается на кафедре гидроаэродинамики Санкт-Петербургского государственного политехнического университета с 1993 года [1] и обеспечивает решение трехмерных уравнений Навье-Стокса в областях произвольной геометрии с использованием блочно-структурированных сеток (более полное описание ПК SINF можно найти в работах [2, 3]).
Для стыковки блоков в ПК SINF используется концепция вспомогательного виртуального блока (см. рис. 1), который формируется из двух слоев приграничных ячеек каждого из стыкуемых физических блоков. Вычисления в виртуальном блоке проводятся по тому же алгоритму, что и в физических блоках - тем самым обеспечиваются прозрачность стыковки и сохранение консервативных
Рис. 1. Схема межблочного обмена данными в последовательной версии ПК БШР
свойств разностной схемы. Кроме того, применение виртуального блока облегчает решение многих проблем, возникающих при использовании скользящих сеток и/или сеток с обрывом сеточных линий на межблочном интерфейсе, а также при решении задач сопряженного теплообмена.
Распараллеливание ПК SINF осуществлено на основе библиотеки MPI (Message Passing Interface) с ориентацией на распределенные системы кластерного типа. Декомпозиция расчетной области проводится по блокам сетки, распределение блоков между процессами выполняется вручную. Во всех процессах работает один и тот же программный код, который производит вычисления в принадлежащих данному процессу блоках. При этом один из процессов назначается главным и, помимо вычислений в своих блоках, производит сбор и рассылку необходимых данных по всем блокам (невязки, интегральные величины и др.). Тем не менее, большая часть межпроцессорного обмена данными приходится на процедуры стыковки блоков, и, соответственно, организация этого процесса непосредственно сказывается на эффективности параллелизации.
Как уже указывалось, в ПК SINF для стыковки блоков используется вспомогательный виртуальный блок. В однопроцессорной версии кода вычисления в виртуальном блоке и соответствующая пересылка данных производятся поочередно, поле за полем, с использованием общей памяти (рис. 1). Сохранение подобной концепции в параллельной версии привело бы к необходимости многократного MPI-копирования данных для каждой стыковки, что является крайне неэффективным - гораздо быстрее пересылать все данные единым пакетом.
Чтобы упростить копирование и обеспечить эффективную передачу данных между процессами, не затрагивая при этом уже реализованные алгоритмы работы с виртуальным блоком, в ПК SINF использован следующий прием (см. рис. 2).
Рис. 2. Схема межблочного обмена данными в параллельной версии ПК 8ШГ
В том процессе, где происходит обработка одного из стыкуемых блоков (блок 1), создается дополнительный блок 2*, являющийся копией приграничных слоев ячеек реального блока 2. Копирование необходимых для стыковки данных из блока 2 в
блок 2* осуществляется единым пакетом при помощи функций MPI. Далее выполняется обычная обработка стыковки блоков 1 и 2*, после чего проводится обратное MPI-копирование данных в блок 2.
Эффективность параллелизации. К настоящему времени накоплен большой опыт применения ПК SINF при проведении ресурсоемких расчетов (с размерностью сетки до 20 миллионов ячеек) на нескольких кластерах с использованием до 24 процессоров.
На рисунке 3 показаны типичные зависимости эффективности от числа использованных процессоров. Кривая 1 получена для модельной задачи о течении в прямоугольной каверне; расчетная сетка была разбита на 24 одинаковых блока, что обеспечило почти равномерную загрузку процессоров и, соответственно, высокую эффективность паралле-лизации. При расчете нестационарного обтекания цилиндра (кривая 2) не было уделено должного внимания равномерности загрузки, что сказалось на эффективности параллелизации. Та же задача, решенная на другой сетке с разбивкой на близкие по размерам блоки (кривая 4), демонстрирует эффективность, близкую к максимальной.
Несколько выпадает из общего ряда кривая 3 (расчет течения, индуцируемого колебаниями упругой пластины). В данном случае расчет на двух процессорах показал эффективность, близкую к единице, поскольку оба процессора находились на одном узле кластера и обмен данными между ними проходил через общую память. Другой особенностью данной задачи являлось использование алгоритма SIMPLEC (в остальных случаях применялся метод искусственной сжимаемости), который требует дополнительных итераций (и стыковок) при решении уравнения Пуассона для поправки давления. Увеличение доли стыковок в общем объеме вычислений привело к более быстрому снижению эффективности параллелизации
1
0.95
_0
о 0.9 о
X CÛ
н 0.85 ш
-8* °.8
0.75 0.7
» 1 1 1 1 1 1 1 1 ■ 1 1
• 1 1 4
■ 2 ■
■ Сетка: '
- \3 1 - 105 -
- 2 - 2 *105 -
_ 3 - 8 «105 -
■ 1 ■ 1 . 1 . 4 - 5 «106 . 1.1.
8 12 16 Число процессоров
20
24
Рис. 3. Эффективность параллелизации ПК SINF
при увеличении числа процессоров. Тем не менее, при использовании 10-15 процессоров эффективность все еще остается на приемлемом уровне.
Подводя итог, можно сказать, что, благодаря оптимизации межпроцессорного обмена данными, ПК SINF может эффективно использовать более 20 процессоров. Заметное влияние на эффективность параллелизации оказывает не только равномерность загрузки процессоров (которая отчасти зависит от способа разбиения сетки на блоки), но и выбор численной схемы. Размер сетки практически не сказывается на эффективности.
Литература
1. Smirnov E.M. Numerical simulation of turbulent flow and energy loss in passages with strong curvature and rotation using a three-dimensional Navier-Stokes solver / Vrije Universitet Brussel, Dept. Fluid Mechanics, Report on «Research in Brussels'92» Action. Brussels, March 1993, 122 p.
2. Смирнов Е.М., Зайцев Д.К. Метод конечных объемов в приложении к задачам гидрогазодинамики и теплообмена в областях сложной геометрии // Научно-технические ведомости СПбГТУ, 2004, № 2 (36). С. 70-81.
3. Зайцев Д.К., Щур Н.А. Применение деформируемых сеток для численного моделирования течений в областях с подвижными границами // Там же, 2006, № 5/1 (47). С. 15-22.
Обращаем внимание читателей на изменившийся номер телефона редакции журнала
«Программные продукты и системы»
8(4822)39-91-49
4