Динамическая балансировка загрузки процессоров при моделировании задач горения1




НазваниеДинамическая балансировка загрузки процессоров при моделировании задач горения1
Дата26.01.2013
Размер87.9 Kb.
ТипДокументы

динамическая балансировка загрузки процессоров при моделировании задач горения1



М.А.Корнилина, М.В.Якобовский

Институт математического моделирования РАН, Москва

Введение


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

Предлагается эффективный параллельный алгоритм совместного решения уравнений, описывающих газодинамические и химические процессы, в полной мере использующий ресурсы относительно недорогих высокопроизводительных многопроцессорных систем с распределенной памятью. Основная часть процессорного времени (до 90%) при моделировании реагирующих течений приходится на решение жестких систем обыкновенных дифференциальных уравнений (СОДУ), описывающих химическую кинетику. Основной проблемой при решении систем ОДУ на параллельных вычислительных комплексах является обеспечение равномерной загрузки процессоров. Ее специфика заключается в том, что интенсивность течения химических реакций существенно зависит от параметров потока, особенно от температуры и состава. В сравнительно небольших областях повышенной температуры, реакции идут наиболее активно и концентрации веществ быстро и значительно меняются. Время решения СОДУ для одной точки в такой области ("горячей" точки) может в десятки раз превышать среднее время решения СОДУ в остальных точках. Следовательно, необходимо равномерно распределить по процессорам именно "горячие" точки, на обработку которых требуется наибольшее время. Отметим, что расположение "горячих" точек со временем изменяется, поэтому для увеличения эффективности параллельной программы следует на каждом шаге заново перераспределять расчетные точки по процессорам, то есть решать задачу динамической балансировки загрузки. Традиционные методы построения параллельных алгоритмов, успешно используемые при решении задач газовой динамики, при совместном решении уравнений химической кинетики и газовой динамики приводят к резкому (в десятки раз) падению эффективности и не применимы при использовании большого числа процессоров.

Постановка задачи


Система уравнений, описывающая газодинамические процессы и кинетику горения затопленной струи метана может быть записана следующим образом [1]:

, , (1)

где A - нелинейный дифференциальный оператор, r - плотность, - массовая доля i-го вещества в единице массы смеси, u, v - компоненты скорости, p - давление, E - полная энергия, - массовые скорости образования веществ.

С помощью метода суммарной аппроксимации она разделяется по физическим процессам на газодинамический блок и блок химической кинетики:

I. Газодинамический блок (ГД): (2)

II. Блок химической кинетики (ХК): где . (3)

Газодинамический блок аппроксимируется с помощью полунеявной разностной схемы,

для решения которой используется следующий итерационный процесс:

(4)

Для интегрирования систем обыкновенных дифференциальных уравнений (СОДУ) блока химической кинетики (4) в каждом узле пространственной сетки применялся стандартный программный комплекс DVODE. Химические процессы представлены здесь членами производства и расхода массы. Они представляют собой пример «локального» явления, которое не зависит от пространственных градиентов. В ходе химических реакций новые значения концентраций и температуры в каждом узле расчетной сетки определяются предыдущими значениями величин, взятых только в этом узле сетки, и, следовательно, могут находиться независимо от соседних узлов.

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

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

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

  2. положение фронта пламени меняется с течением времени и "горячие точки" на разных шагах расчета могут располагаться на разных процессорах;

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

Перечисленные факторы делают неприменимыми для распараллеливания блока ХК методы статической балансировки загрузки, в том числе и метод геометрического параллелизма.

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



Рис. 1.  Разбиение расчетной области по процессорам в соответствии с принципом геометрического параллелизма. 3%< <9% - массовая концентрация метана



Рис. 2. Распределение нагрузки по расчету "горячих" точек по процессорам


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

Параллельный алгоритм


Предлагаемый алгоритм обеспечивает следующие возможности:

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

  • передача точек для обработки на удаленных процессорах и обработка локальных точек выполняются одновременно;

  • объем передаваемой информации значительно сокращен по сравнению с передаваемым в случае применения традиционного алгоритма «коллективного решения»;

  • сокращены затраты времени на управление перераспределением точек.

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



Рис. 3. Структура программы балансировки загрузки

Алгоритм, выполняемый каждым из управляющих процессов и обеспечивающий динамическую балансировку загрузки процессоров на этапе решения уравнений ХК выглядит следующим образом:

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

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

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

4. После прихода любого из сообщений оно считывается, обрабатывается и действия 1-4 повторяются.

Общая схема напоминает поиск информации в распределенной сети, объединяющей сервера баз данных, что и послужило причиной названия «серверный параллелизм» - каждый процессор опрашивает остальные в поисках заданий для обработки. Важно, что если некоторый процессор A, получивший несколько точек для обработки от процессора B, не обработал их все до получения запроса от процессора C, то он может часть из необработанных точек передать для обработки процессору C, обеспечивая наиболее равномерное распределение точек.

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

Результаты


Для расчетов использовались две многопроцессорные системы с распределенной памятью Parsytec-CC (Германия), в одной - 32 процессора PowerPC-604 (100MHz) и в другой - 12 процессоров PowerPC-604 (130 MHz). За 100% принята эффективность, достигнутая при использовании 4х процессоров PowerPC-604 (100MHz), поскольку расчет на меньшем числе процессоров неэффективен из-за недостатка оперативной памяти, что отражено на графиках снижением эффективности в начале кривых (рис. 4).



Рис. 4. Эффективность и ускорение при моделировании блока ХК


Поскольку блок ГД выполнялся только на системе Parsytec CC-12, ожидать повышения ускорения вычислений этого этапа при увеличении числа используемых процессоров на другой системе не следует. В связи с этим на рис. 4 приведены результаты распараллеливания только блока ХК за вычетом затрат времени на обработку блока ГД. Результаты подтверждают практически линейный рост производительности на этом этапе с увеличением общего числа процессоров. Разные кривые соответствуют нескольким разным шагам расчета. Превышение 100%-го уровня эффективности свидетельствует о том, что при большом числе процессоров алгоритм динамической балансировки загрузки обеспечивает более равномерное распределение по процессорам "горячих" точек.

Литература:


1. Chetverushkin B.N., Iakobovski M.V., Kornilina M.A., Malikov K.Yu., Romanukha N.Yu. Ecological after-effects numerical modelling under methane combustion. In: Mathematical Models of Non-Linear Excitations, Transfer, Dynamics, and Control in Condensed Systems and Other Media. Proc. of a Symp., June 29 – July 3 1998, Tver, Russia (Ed. by L.A. Uvarova, A.E. Arinstein, and A.V. Latyshev), Kluwer Academic // Plenum Publishers. - New York, Boston, Dordrecht, London, Moscow. ISBN 0-306-46133-1. – 1999. - pp.147-152.

1 Работа выполнена при поддержке гранта № 99-01-01215 РФФИ


Похожие:

Динамическая балансировка загрузки процессоров при моделировании задач горения1 iconБалансировка загрузки процессоров при моделировании распространения
Ществ, но и вторичное загрязнение в результате происходящих химических реакций. Как следствие, подобные модели помимо динамических...
Динамическая балансировка загрузки процессоров при моделировании задач горения1 iconЛабораторная работа №2 Теоретическая часть: Процесс загрузки операционной системы
Для загрузки Windows xp необходим следующий минимальный набор файлов, расположенных
Динамическая балансировка загрузки процессоров при моделировании задач горения1 iconМ. Е. Жуковский, Р. В. Усков о применении графических процессоров видеоускорителей в прикладных задачах
В работе рассмотрены основы применения технологии nVidia© cuda для распараллеливания вычислений с использованием графических процессоров....
Динамическая балансировка загрузки процессоров при моделировании задач горения1 iconПрограммирование современных графических процессоров с использованием основных языков платформы. Net
Большинство современных интерактивных графических приложений основано на использовании специализированных графических процессоров...
Динамическая балансировка загрузки процессоров при моделировании задач горения1 iconИ. И. Шагурин архитектура, программирование и применение
Однако в последующих разработках risc-процессоров набор команд значительно расширен, включая команды обработки чисел с плавающей...
Динамическая балансировка загрузки процессоров при моделировании задач горения1 iconДинамическая модель информационной системы на основе наблюдаемого структурно-информационного портрета
В статье разработана динамическая модель информационной системы, учитывающая
Динамическая балансировка загрузки процессоров при моделировании задач горения1 iconМетоды поисковой оптимизации при моделировании приспособительного поведения и эволюции природных систем

Динамическая балансировка загрузки процессоров при моделировании задач горения1 iconВизуализация процесса распространиения трещин в хрупких анизотропных материалах при компьютерном моделировании

Динамическая балансировка загрузки процессоров при моделировании задач горения1 iconДиагностическая работа по математике в формате егэ 17 февраля 2010 г. Класс 11а
Стад Град. Результаты показали, что обучающиеся допускают ошибки при решении логарифмических уравнений, при решении задач на движение,...
Динамическая балансировка загрузки процессоров при моделировании задач горения1 iconГосударственный университет объектно-ориентированный подход в вычислительной математике и имитационном моделировании магистерская
Пример использования: объектно-ориентированная библиотека численных методов для задач гидромеханики и массопереноса (теплопереноса)...
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница