УДК 519.673
МОДИФИКАЦИЯ ЯЧЕЙКИ ОДНОРОДНОЙ СТРУКТУРЫ ДЛЯ РЕШЕНИЯ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ В ЧАСТНЫХ ПРОИЗВОДНЫХ С ПЕРЕМЕННЫМИ КОЭФФИЦИЕНТАМИ
А.А. Хамухин
Томский политехнический университет E-mail: [email protected]
Предложена модификация ячейки однородной структуры для решения дифференциальных уравнений в частных производных с коэффициентами, зависящими от искомой переменной. Показана возможность реализации функционального наполнения ячейки с параллельным пересчетом значений коэффициентов во внешнем устройстве. Представлены результаты моделирования линейки ячеек на примере решения тестовой краевой задачи с температурно-зависимыми коэффициентами.
Ключевые слова:
Ячейка однородной вычислительной структуры, параллельные вычисления, дифференциальные уравнения в частных производных, переменные коэффициенты. Key words:
Cell of homogeneous computing structure, parallel computation, partial differential equations, dependent coefficients.
Введение
В статьях [1, 2] изложены примеры реализации вычислительного устройства для решения дифференциальных уравнений в частных производных на основе непрограммируемых ячеек однородной структуры [3], показана возможность его реконфи-гурирования в зависимости от области решения и вида граничных условий, с помощью моделирования дана оценка выигрыша в производительности на данном классе задач по сравнению с универсальным микропроцессором при прочих равных условиях. Подобные устройства с аппаратной реализацией алгоритма на микросхемах типа БМК или ПЛИС находят все большее применение в высокопроизводительных вычислениях [4].
В настоящей статье рассмотрено еще одно преимущество таких ячеек - возможность организации параллельного решения дифференциальных уравнений в частных производных с переменными коэффициентами, значения которых могут зависеть от самой искомой величины.
Такие коэффициенты, характеризующие свойства среды, встречаются при решении реальных физических задач, например тепломассопереноса. Достаточно упомянуть, что один из ведущих производителей программного обеспечения для моделирования сложных инженерных объектов MSC Software Corporation подчеркивает учет температур-но-зависимых коэффициентов (вязкости, теплопроводности, теплоемкости и др.) в качестве достоинства своих программных продуктов [5].
В фундаментальном труде [6], посвященном современным однородным вычислительным структурам, этот вопрос не рассматривается. Там все подобные коэффициенты относят к константам, которые заносятся в регистры ячеек на этапе настройки поля структуры и во время этапа решения остаются неизменными.
Из вычислительной практики известно, что коэффициенты, зависящие от искомого решения, необходимо многократно пересчитывать и после-
довательно повторять решение дифференциальных уравнений в частных производных до тех пор, пока отличия в рассчитанных значениях не станут менее заданной погрешности. Это значительно увеличивает время решения всей задачи.
Объект и цель исследования
Объектом исследования является вычислительный процесс в ячейке однородной структуры для решения дифференциальных уравнений в частных производных с переменными коэффициентами, зависящими от искомого решения.
Целью исследования является модификация вычислительного процесса в ячейке таким образом, чтобы получаемое последовательно решение дифференциального уравнения использовалось параллельно для пересчета зависимых от него коэффициентов, что позволит повысить точность решения задачи без увеличения количества итераций.
Модификация схемы ячейки
Для достижения поставленной цели в известную схему ячейки [1, 2] можно ввести либо дополнительное вычислительное устройство для пересчета и замены коэффициентов, либо дополнительный вход для ввода новых значений коэффициентов, пересчитанных некоторым внешним устройством.
Первый вариант приведет к существенному усложнения схемы ячейки. Зависимость коэффициентов дифференциальных уравнений от искомой переменной может быть различной. Например, теплопроводность твердых тел часто аппроксимируется линейной зависимостью от температуры, а для расчета коэффициентов теплопроводности жидкостей и газов применяют более сложные формулы, полученные путем экспериментальных исследований. Аналогичные зависимости имеют и другие температурно-зависимые коэффициенты [7].
Этот факт является дополнительным доводом в пользу второго варианта реализации учета зависимости коэффициента от искомой переменной с помощью внешнего устройства. Эту функцию может выполнять универсальный микропроцессор, который является необходимой составляющей для управления любой однородной вычислительной структурой [3]. Главными задачами управляющего микропроцессора является ввод коэффициентов в регистры ячеек однородной структуры перед циклом вычислений и вывод из ячеек полученных результатов в конце цикла вычислений. Во время самого рабочего цикла однородной структуры этот микропроцессор простаивает и его можно использовать для пересчета коэффициентов.
Таким образом, схема ячейки дополняется только устройством для ввода коэффициентов по ходу решения, что несущественно усложнит ее аппаратную реализацию (рис. 1).
Ячейка может находиться в двух состояниях, задаваемых внешним устройством управления. Первое состояние - это рабочий цикл вычислений, во время которого сигналы с выходов других ячеек (приращения) умножаются на коэффициенты в БМИ, суммируются в сумматоре СП, передаются в интегратор и при этом формируются выходные сигналы (приращения) для соседних ячеек.
По сигналу окончания шага по времени от внешнего устройства управления ячейка переходит во второе состояние - цикл чтения/записи. Во время этого цикла результат интегрирования передается в блок формирования приращений с предыдущих шагов по времени и используется уже в следующем рабочем цикле ячейки, а также передается во внешнее устройство. Во время этого цикла в БМИ записываются новые значения коэффициентов, полученные от внешнего устройства.
Блок масштабных интеграторов БМИ обычно реализуется на сдвиговых регистрах, соединенных через последовательные входы, поэтому запись коэффициентов во все регистры может быть произведена через один вход. В этих регистрах хранятся коэффициенты, на которые умножаются входные сигналы БМИ. Количество входов в БМИ необходимо сделать больше, чем количество выходов соседних ячеек. Подавая на дополнительный вход БМИ логическую единицу, можно реализовать дополнительное слагаемое в правой части дифференциального уравнения, если в этом будет необходимость. Это слагаемое будет вычисляться внешним устройством также как и коэффициенты и передаваться в соответствующий регистр блока масштабных интеграторов по сигналу окончания шага по времени через ключевой элемент КЭ2.
Приращения с выходов других ячеек
Рис 1. Модифицированная функциональная схема ячейки однородной структуры для решения дифференциальных уравнений в частных производных с переменными коэффициентами: 1) блок масштабных интеграторов БМИ; 2) сумматор приращений СП; 3) следящий интегратор СИ; 4) интегратор И; 5) блок формирования приращений с предыдущих шагов по времени БФПВ; 6,7) ключевые элементы КЭ1, КЭ2
Пример использования модифицированной ячейки
Рассмотрим в качестве примера уравнение теплопроводности (диффузии) с коэффициентом а(и,х), характеризующим свойства среды:
ди дг
Лии,х)ди | + ^(х, г)
дх I дх
(1)
с начальными и граничными условиями
и\, =о = и 0(х); и\
(2)
да (и, х) ди
дх
дх да ~дй
-а(и, х)
д 2и
ди
дх
=-1-| +а(и, х)
дх2
д 2и
дх2 '
(4)
ди , ,д2и _ ,
-= а( х)—- + ^ (х, 1).
дг дх2
(5)
где А/ и А - шаги по времени и пространственной координате; п иг- их номера; переменная Фп,;--1 получена путем аппроксимации по явной схеме и ее можно рассматривать для ячейки как модифицированную функцию источника Р:
Ф п
а, -а,
-1 (
ип - ип
и - и:-1
+т
= Ра (г), (3)
где / - время; и0(х) - начальные значения искомой переменной; О - граница области решения; Р(х,/) и Ре(0 - функции источника внутри и на границе области решения.
Первое слагаемое правой части уравнения (1) будет иметь две составляющие:
В работах [1, 2] показано, как реализовать ячейку однородной структуры для решения уравнения вида:
Анализ правой части выражения (4) показал, что в отличие от (5) появляется дополнительное первое слагаемое, а во втором слагаемом коэффициент а необходимо пересчитывать в зависимости от получаемого решения и. Применение неявной схемы аппроксимации для выражения (4), изложенной в [1, 2], приведет к существенному усложнению функциональной схемы ячейки однородной структуры и потери ее главного достоинства - простоты реализации.
Поэтому в настоящей работе предлагается применить явно-неявную схему аппроксимации. Эта схема должна быть такой, чтобы на текущем шаге по времени вычислительный процесс в ячейке протекал также, как в аналоге (по неявной схеме). Коэффициент а и первое слагаемое правой части выражения (4) предлагается аппроксимировать по явной схеме. Благодаря этому их расчет можно возложить на некоторое внешнее устройство (например, на управляющий микропроцессор, указанный в работе [2]), которое получает текущее решение от ячеек на п-ом шаге по времени и в промежутке между шагами рассчитывает значение коэффициента а и первого слагаемого для п+1 шага по времени.
В соответствии с предложенной схемой получаем расчетную формулу для внутренних узлов равномерной разностной сетки, наложенной на область решения:
ип+1 = и + Агап - 2ип+1+ и;-/) + АгФп;_-11, (6)
к
Выражение (6) отличается от аналогичного выражения в работе [2] только наличием индексов у модифицированной функции источника и у коэффициента а;п. Эти индексы означают, что после каждого шага по времени п значения указанных величин нужно вводить в ячейку заново, которые рассчитываются внешним устройством и на п+1 шаге работы ячейки используются как константы.
Выполним аналогично работе [2] переход от выражения (6) к формуле, описывающей функционирование ячейки однородной структуры. Учтем, что сам алгоритм работы ячейки с приращениями уже содержит внутренний итерационный процесс, который можно использовать для пересчета коэффициентов.
Для обеспечения устойчивости решения на каждом шаге по времени применяется метод установления (итераций) по фиктивному времени. Для этого все слагаемые конечно-разностного уравнения (6) переносятся в правую часть, а в левой части ноль заменяется производной от искомой переменной по фиктивному времени в:
дип+1
; = к:и;+ - (1+2к; )ип+1 +
дв
+кпи"+! +АгФПП--1 + и;
(7)
где
к; = Ага;
1
Далее применяется конечно-разностная аппроксимация по явной схеме для аргумента в.
и;+1,в+1 = ип+1-в + Ав[...]в, (8)
где [,..]в - правая часть уравнения (7).
На первом шаге (п=0) по реальному времени уравнение (8) имеет вид:
ив = и 1в+Ав
к0и1в - (1 + 2к0)иУ +
/+1
+к0и1в + АгФ0--1 + и:
(9)
причем ц;10=и;0.
В общем виде уравнение (9) для п+1-го шага по реальному времени и для в+1 шага по фиктивному времени:
= ип+1'в + Ав
ии п+1,в+1_
~кпи:;:в- (1+2 к )и;+1,в +
(10)
+кпи;-;1'в + АгФп*- + и
Обмен данными между ячейками однородной структуры производится не полными переменными, а их приращениями, выражение для которых легко получить из предыдущего уравнения:
= Ди.и в +дв
"^диПГ- (1+2 кп) дип+1,в + +кпди^'в+ддфп*:;+ди
(11)
Ур. (10, 11) одинаковы для каждого /-го внутреннего узла разностной сетки и могут быть реализованы аппаратно в виде ячейки однородной вычислительной структуры. Приближенное решение ур. (1) получается в результате совместной работы ячейки и внешнего устройства, функцию которого может выполнять, как было указано ранее, управляющий микропроцессор. Функциональная схема взаимодействия ячейки и внешнего устройства для реализации ур. (10, 11) приведена на рис. 2 (сигналы управления опущены).
Внутри однородной структуры каждая ячейка передает рассчитанное на каждом шаге приращение в соседние ячейки и обрабатывает приращения, полученные от соседних ячеек по формуле (11). Одновременно приращения, отражающие изменение искомой переменной П, с выхода каждой ячейки поступают на внешнее устройство, которое параллельно вычисляет новое значение коэффициента кп и модифицированную функцию источника Ф,п;--1, которые требуются для уточнения решения на следующем шаге по времени. После завершения цикла итераций по фиктивному времени, вычисленные параллельно внешним устройством указанные величины передаются в виде коэффициентов в регистры ячеек и используются на следующем шаге.
Как показано в работе [3], уравнение вида (11) может быть использовано и для граничных узлов разностной сетки, что делает однородную вычислительную структуру, состоящую из таких ячеек, масштабируемой и реконфигурируемой.
Результаты моделирования
Система уравнений (6)—(11) для сравнительной оценки эффективности модифицированной ячейки была реализована и исследована на примере решения тестовой краевой задачи (1)-(3) с переменной и, соответствующей относительной температуре, с начальными и граничными условиями:
0 < х < 1;
0 < I < 1; и (0, х) = 0;
и « , 0) = 0; и (?,1) = 1.
Для а(и,х)=1 известно точное решение этой задачи:
и(?, х) = х + 2^ (-1)п(пп)8т(ппх).
п=1
Для численного решения тестовой задачи использовалась модель, состоящая из 11 модифицированных ячеек, две из которых использовались в качестве граничных, а остальные - в качестве внутренних узлов равномерной разностной сетки. Для а(и,х)=1 решение на модели совпадало с точным решением с погрешностью, задаваемой для остановки итераций по фиктивному времени в.
Температурная зависимость коэффициента а задавалась с помощью линейного уравнения а(и, х) = Ьи + с,
где Ь, с - коэффициенты линейной аппроксимации зависимости а от температуры.
Для оценки величины расхождения решений ур. (1) и (5) были проведены расчеты с постоянным коэффициентом а(П,х)=с.
По результатам расчетов приведены графики изменения относительной разности решений ур. (1) и (5) дПпо временным шагам п и по узлам разностной сетки / (рис. 3).
Графики на рис. 3 получены при одинаковом количестве итераций (времени решения задачи) для обычной и модифицированной ячеек. На графике рис. 3, а, видно, что при удалении от граничных (1, 11) ячеек расхождение решений увеличивается. На графике рис. 3, б, видно, что на начальных шагах по времени расхождение решений постепенно нарастает и выходит на стационарный уровень. Это обусловлено использованной явно-неявной схемой аппроксимации, которая начинает полноценно работать только после первых двух шагов
Рис. 2. Функциональная схема взаимодействия ячейки однородной структуры ЯОС и внешнего устройства ВУна примере двух шагов по времени
5U, % 56; %
а б
Рис. 3. Относительная разность 8и решений ур. (1) и(5) поузлам разностной сетки / (а) и по временным шагам п (б): Ь=0,1; М=0,25; Ав=0,1; Ь=4; с=4
по времени. Поэтому в практических расчетах начальные шаги по времени рекомендуется выбирать меньше, чтобы снизить погрешность.
В количественном измерении расхождение результатов моделирования с учетом и без учета температурной зависимости коэффициентов не превысило 5 % в данном примере, но оно тем значительнее, чем больше разность между заданными начальными условиями и конечным результатом и чем значительнее температурная зависимость коэффициента а.
Выводы
Модификация ячейки однородной структуры для решения дифференциальных уравнений в частных производных позволяет организовать вычисление значений коэффициентов, зависящих от искомой переменной, параллельно с расчетом
СПИСОК ЛИТЕРАТУРЫ
1. Ячейка однородной структуры для решения дифференциальных уравнений в частных производных: пат. 2359322 Рос. Федерация. № 2007141832/09; заявл. 12.11.2007; опубл. 20.06.2009, Бюл. № 17. - 6 с.
2. Хамухин А.А. Ячеечная модель устройства для решения дифференциальных уравнений в частных производных // Известия Томского политехнического университета. - 2010. -Т. 316. - № 5. - С. 62-67.
3. Хамухин А.А. Реконфигурирование однородной вычислительной структуры с непрограммируемыми ячейками для решения дифференциальных уравнений в частных производных // Известия Томского политехнического университета. - 2010. -Т. 316. - № 5. - С. 68-72.
4. Абрамов С.М., Дбар С.А., Климов А.В., Климов Ю.А., Лацис А.О., Московский А.А., Орлов А.Ю., Шворин А.Б. Возможности суперкомпьютеров «СКИФ» ряда 4 по аппаратной поддержке в ПЛИС различных моделей параллельных вычи-
самой переменной. Это дает более точный результат без дополнительного цикла итераций для пересчета коэффициентов.
Модификация ячейки незначительно увеличивает аппаратные затраты в самой ячейке (дополнительный ключевой элемент) за счет выноса аппаратной реализации зависимости коэффициента от искомой переменной за схему типовой ячейки во внешнее устройство (управляющий микропроцессор), работающее синхронно с ячейкой. Такое решение обеспечивает гибкость замены вида зависимости коэффициентов путем замены программы внешнего устройства без изменения схемы ячеек однородной структуры.
Результаты моделирования на примере решения тестовой краевой задачи с температурно-зави-симыми коэффициентами подтвердили работоспособность модифицированной ячейки.
слений // Суперкомпьютерные технологии: разработка, программирование, применение (СКТ-2010): Матер. Междунар. научно-техн. конф. - г Дивноморское, 27 сент. - 2 окт. 2010. -Таганрог: Изд-во ТТИ ЮФУ, 2010. - Т. 1. - С. 11-21.
5. MSC Software. Extending Simulation to the Enterprise. 2010. URL: http://www.mscsoitware.ru/products/nastran3 (дата обращения: 11.01.2011).
6. Каляев И.А., Левин И.И., Семерников Е.А., Шмойлов В.И. Реконфигурируемые мультиконвейерные вычислительные структуры. - Ростов на Дону: ЮНЦ РАН, 2008. - 393 с. 2010. URL: http://parallel.ru/FPGA/papers/rmvs.pdf (дата обращения: 11.01.2011).
7. Александров А.А., Орлов К.А., Очков В.Ф. Web-версия справочника «Теплофизические свойства веществ теплоэнергетики». 2010. URL: http://twt.mpei.ac.ru/rbtpp/index.html (дата обращения: 11.01.2011).
Поступила 11.01.2011 г.