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

Вестник ТюмГУ. Физико-математическое моделирование. Нефть, газ, энергетика.


Выпуск:

2021. Том 7. № 3 (27)

Название: 
Разработка интеллектуального программного обеспечения для исследования распараллеливания вычислений


Для цитирования: Гаврилова Н. М. Разработка интеллектуального программного обеспечения для исследования распараллеливания вычислений / Н. М. Гаврилова, Ю. А. Плотоненко, А. А. Ступников // Вестник Тюменского государственного университета. Физико-математическое моделирование. Нефть, газ, энергетика. 2021. Том 7. № 3 (27). С. 152-169. DOI: 10.21684/2411-7978-2021-7-3-152-169

Об авторах:

Гаврилова Наталия Михайловна, кандидат физико-математических наук, доцент кафедры программного обеспечения, Тюменский государственный университет; n.m.gavrilova@utmn.ru; ORCID: 0000-0002-8697-5639

Плотоненко Юрий Анатольевич, кандидат педагогических наук, доцент кафедры программного обеспечения, Тюменский государственный университет; y.a.plotonenko@utmn.ru

Ступников Андрей Анатольевич, кандидат физико-математических наук, доцент кафедры программного обеспечения, Тюменский государственный университет; a.a.stupnikov@utmn.ru; ORCID: 0000-0001-5201-1260

Аннотация:

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

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

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

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

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

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

Сравнение рассматриваемых алгоритмов распараллеливания и технологий реализации выполняется на основе анализа получаемого ускорения. Показано, что общее время вычислений при распараллеливании на Thread-потоках оказалась в несколько раз больше, чем на OpenMP-потоках, а ускорение расчетов меньше, соответственно.

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

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

  1. Гергель В. П. Современные языки и технологии параллельного программирования / В. П. Гергель. М.: Издательство Московского университета. 2012. 408 c.

  2. Заручевская Г. В. Реализация решения разностной схемы расщепления двумерного уравнения теплопроводности в мелкозернистом локально- параллельном стиле программирования / Г. В. Заручевская // Известия Волгоградского государственного технического университета. 2008. № 2 (40). С. 16-19.

  3. Образовательный комплекс «Параллельные численные методы». Лекционные материалы / К. А. Баркалов // Нижегородский государственный университет им. Н. И. Лобачевского. Факультет вычислительной математики и кибернетики. 2011. URL: http://www.hpcc.unn.ru/?doc=491 (дата обращения: 18.01.2021).

  4. Самарский А. А. Теория разностных схем / А. А. Самарский. Наука. M.: 1989. 616 c.

  5. Ступников А. А. Разработка интеллектуального программного обеспечения для обучения студентов приемам распараллеливания вычислений / А. А. Ступников, Н. М. Гаврилова // Международный научно-исследовательский журнал. 2020. № 5 (95). Часть 3. С. 92-96. DOI: 10.23670/IRJ.2020.95.5.100

  6. Федоров А. А. Метод двухуровневого распараллеливания прогонки для решения трехдиагональных линейных систем на гибридных ЭВМ с многоядерными сопроцессорами / А. А. Федоров, А. Н. Быков // Вычислительные методы и программирование. 2016. Том 17. Вып. 3. С. 234-244.

  7. Яненко Н. Н. Об организации параллельных вычислений и «распараллеливании» прогонки / Н. Н. Яненко, А. Н. Коновалов, А. Н. Бугров, Г. В. Шустов // Численные методы механики сплошной среды. 1978. Том 9. № 7. С. 139-146.