Научная статья на тему 'Алгоритм параллельных вычислений задачи неизотермического влагопереноса в природных дисперсных средах'

Алгоритм параллельных вычислений задачи неизотермического влагопереноса в природных дисперсных средах Текст научной статьи по специальности «Математика»

CC BY
193
22
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТЕПЛОВЛАГОПЕРЕНОС В ПОЧВЕ / ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ / ВЫЧИСЛИТЕЛЬНЫЕ АЛГОРИТМЫ

Аннотация научной статьи по математике, автор научной работы — Шалькевич П. К., Кундас С. П., Гишкелюк И. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Шалькевич П. К., Кундас С. П., Гишкелюк И. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The algorithm of PARALLEL COMPUTING OF THE NONISOTHERMAL HEAT AND MOISTURE MIGRATION TASK IN NATURAL DISPERSE ENVIRONMENT

The modeling of nonisothermal heat and moisture transfer in natural disperse environment is considered. It is necessary to apply parallel computing techniques for solving these problems in three-dimensional setting. An algorithm of parallel computing of nonisothermal heat and moisture transfer is based on the creation of distributed data array by solving a system of equations of nonisothermal heat and moisture transfer with the use of finite element method.

Текст научной работы на тему «Алгоритм параллельных вычислений задачи неизотермического влагопереноса в природных дисперсных средах»

_Доклады БГУИР_

2014 № 5 (83)

УДК004.94: 004.9.032.26

АЛГОРИТМ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ ЗАДАЧИ НЕИЗОТЕРМИЧЕСКОГО ВЛАГОПЕРЕНОСА В ПРИРОДНЫХ ДИСПЕРСНЫХ СРЕДАХ

П К. ШАЛЬКЕВИЧ, С П. КУНДАС, И.А. ГИШКЕЛЮК

Международный государственный экологический университет имени А. Д. Сахарова Долгобродская, 23, Минск, 220070, Беларусь

Поступила в редакцию 22 мая 2014

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

Ключевые слова: тепловлагоперенос в почве, параллельные вычисления, вычислительные алгоритмы.

Введение

Модель неизотермического переноса влаги и растворенных в ней загрязняющих веществ в дисперсной среде представляет собой системы нелинейных уравнений в частных производных, для решения которых необходимо использовать численные методы [1], в частности, метод конечных элементов (МКЭ), т.к. он имеет меньший порядок погрешности по сравнению с методом конечных разностей (МКР) [2], и большинство современных программных комплексов, предназначенных для моделирования сложных физических процессов, используют для расчетов МКЭ [3-5]. В работе [6] авторами были рассмотрены способы параллелизации расчетов, построенных на основе МКЭ путем последовательных вычислений, применительно к решению одномерной задачи.

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

Применение технологий, основанных на гомогенных и гетерогенных компьютерных

архитектурах для реализации параллельных вычислительных алгоритмов

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

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

решения поставленной задачи имеет ряд недостатков с точки зрения производительности и масштабируемости по сравнению с потенциалом гетерогенных систем [7], однако является более мобильным и востребованным. При использовании гомогенных мультипроцессорных архитектур для решения физических задач наиболее популярным является использование стандарта Open Multi-Processing (OpenMP) [9]. В дальнейшем планируется применение разработанных алгоритмов в гомогенных системах.

Применение крупнозернистого параллелизма для решения задачи расчета взаимосвязанного тепловлагопереноса методом конечных элементов

Принципы параллелизации вычислений базируются на понятии об уровнях параллелизации. Анализ архитектур, обеспечивающих различные уровни параллелизации вычислений [9] показал, что наиболее эффективными являются архитектуры, обеспечивающие крупнозернистый параллелизм. Эффективность этого метода объясняется возможностью реализации параллелизма уровня потоков и уровня заданий.

Технически параллелизм уровня заданий обеспечивается мультикомпьютерными и мультипроцессорными системами, анализ которых проведен в работе [10]. Также, в предыдущей работе [6], была рассмотрена эффективность применения программных средств PVM и MPI для параллелизации метода конечных элементов при расчете неизотермического влагопереноса в дисперсных средах. Решение задачи осуществлялось с помощью неоднородных кластеров, состоящих соответственно из двух и четырех компьютеров, как показано на рис. 1. Впервые был применен метод крупнозернистого параллелизма, реализующий «множественный поток команд - множественный поток данных» (MIMD) для решения задачи тепловлагопереноса в дисперсных средах. На основе перечисленных методов и модели параллельного программирования PVM ставится задача разработки методов и алгоритмов параллелизации вычисления трехмерной модели неизотермического влагопереноса в природных дисперсных средах.

Рис. 1. Схема использованного вычислительного кластера

Модель параллельного программирования PVM

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

- вычислительные задачи приложения выполняются с привлечением набора машин, которые выбираются пользователем для определенной программы PVM. Как однопроцессорные машины, так и аппаратное обеспечение мультипроцессоров (включая компьютеры с разделяемой и распределенной памятью) могут быть составной частью системы, которая может изменяться добавлением и удалением машин в процессе работы;

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

- вычисления, производимые с помощью процессов: единицей параллелизма в PVM является задача (часто, но не всегда совпадает с процессом в системе UNIX) - независимый последовательный поток управления, который может быть либо коммуникационным, либо вычислительным. PVM не содержит и не навязывает карты связей процессов; характерно, что составные задачи могут выполняться на одном процессоре;

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

- поддержка гетерогенности: система PVM поддерживает гетерогенность системы машин, сетей и приложений. В отношении механизма обмена сообщениями PVM допускает сообщения, содержащие данные более одного типа, для обмена между машинами с различным представлением данных;

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

Применительно к рассматриваемой задаче, программный пакет PVM выполняет алгоритм, приведенный на рис. 2 [12].

Рис. 2. Схема алгоритма параллельных вычислений

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

Алгоритмы параллельных вычислений задачи неизотермического влагопереноса в

природных дисперсных средах

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

Исходя из алгоритма, приведенного на рис. 2, в качестве первого этапа параллелизации задачи необходимо разделить алгоритм, указанный на рис. 3, на независимые части. Так как рассматриваемый алгоритм является циклическим, разделить его на независимые части в явном виде не представляется возможным, что требует дополнительного анализа поставленной задачи.

Для решения системы уравнений неизотермического влагопереноса, вычисления влагосодержания и скорости переноса, а также и для решения уравнения конвективной диффузии с уравнением кинетики сорбции используется метод конечных элементов [13], который делит решение на четыре этапа [14]: 1) создание сеточной модели; 2) задание начальных и граничных

условий; 3) численное решение; 4) обработка и анализ полученных результатов. Следует также отметить, что в настоящее время широкое применение в технологии параллельных вычислений получил метод использования распределенных массивов данных [15], а также «параллельные решатели» [15], реализованные в программном пакете MATLAB.

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

2) построение из локальных частей меньших массивов,

3) использование встроенных функций Matlab (типа rand, zeros, ...).

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

Основываясь на проведенных исследованиях, параллельный алгоритм решения задачи конвективной диффузии растворимых веществ с учетом неизотермического влагопереноса примет вид, показанный на рис. 3.

Рис. 3. Алгоритм параллельных вычислений задачи конвективной диффузии растворимых веществ с

учетом неизотермического влагопереноса

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

Заключение

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

THE ALGORITHM OF PARALLEL COMPUTING OF THE NONISOTHERMAL HEAT AND MOISTURE MIGRATION TASK IN NATURAL DISPERSE

ENVIRONMENT

P.K. SHALKEVICH, S.P. KUNDAS, I.A. GISHKELUK

Abstract

The modeling of nonisothermal heat and moisture transfer in natural disperse environment is considered. It is necessary to apply parallel computing techniques for solving these problems in three-dimensional setting. An algorithm of parallel computing of nonisothermal heat and moisture transfer is based on the creation of distributed data array by solving a system of equations of nonisothermal heat and moisture transfer with the use of finite element method.

Список литературы

1. Zienkievich O. C., Taylor R.L. The Finite Element Method: the basis. Oxford, 2000.

2. Зенкевич О., Морган К. Конечные элементы и аппроксимация. М., 1986.

3. ANSYS Theory Manual. ANSYS Release. USA, 2001.

4. COMSOL Multiphysics. User's Guide. USA, 2007.

5. KomzsikL. MSC/NASTRAN Numerical Methods. User's Guide. MSC, 1998.

6. Шалькевич П. К., Кундас С. П. // Сб. науч. статей ГрГУ им. Я. Купалы. 2013. С. 46-50.

7. GschwindМ. // International Journal of Parallel Programming. 2006. №21. P. 1-54.

8. Brodtkorb A. R., Dyken С., TrondR. et. al // Scientific Programming. 2010. №18. P. 1-33.

9. Шпаковский Г. И. Реализация параллельных вычислений: MPI, OpenMP, кластеры, грид, многоядерные процессоры, графические процессоры, квантовые компьютеры БГУ. Минск. 2010.

10. Shalkevich P.K. // Actual Environmental Problems. Minsk. 2012. P. 30-32.

11. Хьюз К., Хьюз Т. Параллельное и распределенное программирование с использованием C++. М., 2004.

12. ЭндрюсГ.Р. Основы многопоточного, параллельного и распределенного программирования. М., 2003.

13. Кундас С.П., Гишкелюк И.А., Коваленко В.И. и др. Компьютерное моделирование миграции загрязняющих веществ в природных дисперсных средах. Минск. 2011.

14. Галлагер Р. Метод конечных элементов. Основы. М., 1984..

15. Поршнев С. Компьютерное моделирование физических процессов в пакете MATLAB. М., 2010.

i Надоели баннеры? Вы всегда можете отключить рекламу.