Научная статья на тему 'Ячеечная модель устройства для решения дифференциальных уравнений в частных производных'

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

CC BY
507
49
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ячеечная модель / параллельные вычисления / дифференциальное уравнение в частных производных / разностная сетка / прира щение переменной / mesh model / parallel computation / partial differential equations / finitedifferential meshes / increment of variable

Аннотация научной статьи по математике, автор научной работы — Хамухин Александр Анатольевич

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

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

Похожие темы научных работ по математике , автор научной работы — Хамухин Александр Анатольевич

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

One of the possible implementations of the computational process at homogeneous structure meshes with variable increment has been introduced. The examined model is intended for iterative solution of finite-difference approximations of partial differential equations. It is shown that substitution of full-size variables by their increments at transmission between the meshes results in speedup of solution and hardware saving. It was proposed to use the model at developing special co processors for increasing universal computer capacity when solving the problems of the given class.

Текст научной работы на тему «Ячеечная модель устройства для решения дифференциальных уравнений в частных производных»

УДК 519.673:62-51.37

ЯЧЕЕЧНАЯ МОДЕЛЬ УСТРОЙСТВА ДЛЯ РЕШЕНИЯ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

В ЧАСТНЫХ ПРОИЗВОДНЫХ

А.А. Хамухин

Томский политехнический университет E-mail: aaxtpu@tpu.ru

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

Ключевые слова:

Ячеечная модель, параллельные вычисления, дифференциальное уравнение в частных производных, разностная сетка, приращение переменной. Key words:

Mesh model, parallel computation, partial differential equations, finite-differential meshes, increment of variable.

Введение

Теоретические и практические исследования параллельных вычислений для решения специализированных задач, в том числе - и дифференциальных уравнений в частных производных, начались с 60-х гг. ХХ в. В нашей стране наибольшую известность получили работы, выполненные под руководством А.В. Каляева в Таганрогском радиотехническом институте [1].

В работе [1] последовательно изложена теория цифровых интегрирующих машин (ЦИМ) различных классов, включая теорию параллельных ЦИМ, работающих с одноразрядными и многоразрядными приращениями, имеющими фиксированную и плавающую запятую. В монографии показано, что применение точных формул численного интегрирования по Стилтьесу, использование многоразрядных приращений, плавающей запятой, учет погрешностей квантования и разработка параллельной архитектуры в сочетании с электронной динамической коммутацией обеспечивают повышение производительности ЦИМ на несколько порядков без существенного увеличения используемого оборудования и габаритов.

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

Но развитие микроэлектроники в то время пошло в направлении универсальных программируе-

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

Архитектура современных суперкомпьютеров, построенных на базе универсальных микропроцессоров, ориентирована на процедурное выполнение вычислительных алгоритмов и далеко не всегда адекватна структуре решаемых задач. Это приводит к тому, что реальная производительность кластерных суперкомпьютеров составляет, как правило, 5...15 % от их пиковой производительности при решении широкого класса задач. С другой стороны, в настоящее время интенсивно развиваются программируемые логические интегральные схемы (ПЛИС), содержащие десятки и сотни тысяч универсальных логических блоков. Из этих блоков пользователь может создать любую специализированную вычислительную структуру, которая будет адекватна вычислительному алгоритму, и которая будет обладать наибольшей производительностью для данного алгоритма [3].

За рубежом такие разработки публикуются под аббревиатурой FPGA (Field-Programmable Gate Array). ПЛИС-микросхемы промышленно выпускаются целым рядом фирм (например, Altera, Xilinx, и др.). В качестве примера использования ПЛИС можно указать перепрограммируемый параллельный вычислитель для систем обработки изображения, распознавания образов и принятия решений [4]. Вычислитель реализован на базе ПЛИС фирмы

Altera и предназначен для работы в качестве аппаратного ускорителя основной ЭВМ (host-машины) с универсальным процессором. В опубликованных на этом ресурсе материалах представлено убедительное доказательство существенного увеличения производительности вычислений для указанного класса задач.

Устройства FPGA при прочих равных условиях проигрывают по производительности специализированным устройствам на основе базовых матричных кристаллов (БМК), известным за рубежом под аббревиатурой ASIC (An application-specific integrated circuit), которые аппаратно выполняют некоторую функцию. Однако на разработку устройств ASIC требуются значительные инженерные затраты, поскольку они не являются перепрограммируемыми и на стадии проектирования необходимо применять тщательное математическое моделирование для исключения ошибок, что удлиняет и удорожает разработку. В качестве примера использования ячеечной модели для уточнения характеристик проектируемого устройства на базе БМК можно указать работу [5].

Объект и цель исследования

Объектом исследования является параллельное вычислительное устройство, ориентированное на определенный класс задач - решение дифференциальных уравнений в частных производных (ДУЧП).

ДУЧП обычно описывает определенный физический процесс, протекающий в некоторой пространственной области. Это достаточно широкий класс задач. Например, такими уравнениями описываются многие задачи ядерной физики, гидродинамики, геофизики и др. При конечно-разностной аппроксимации ДУЧП пространственная область разбивается на мелкие стандартные ячейки с одинаковыми алгебраическими уравнениями в каждой из них (разностная сетка). Задачи такого класса требуют настолько большого объема вычислений, что являлись своего рода движителями при создании суперкомпьютеров [6]. Достаточно отметить, что в списке 500 самых мощных суперкомпьютеров мира указано, что 43 из них предназначены для решения геофизических задач, 14 для исследования климата и прогноза погоды, 11 - для решения задач в энергетике [7]. Все перечисленные задачи описываются дифференциальными уравнениями в частных производных того или иного вида.

Сам процесс построения разностных сеток является достаточно сложным, требует отдельных исследований [8] и в настоящей статье не рассматривается. Отметим только, что результатом этого процесса является матрица линейного оператора перехода, содержащая большое количество нулевых элементов (^-диагональные матрицы). А решение дифференциальных уравнений в частных производных сводится к итерационной последовательности векторно-матричных операций.

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

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

Пример построения объекта

Рассмотрим в качестве примера дифференциальное уравнение с первой частной производной по времени:

5U ..5 2U . -= a( x)—- + F (x, t)

5t 5x x

с начальными и граничными условиями: U|t=о = U 0(x);

uLg=Fg (t),

(1)

(2) (3)

где U - искомая переменная; t - время; x - пространственная координата (в общем случае это может быть вектор); U0(x) - начальные значения искомой переменной; G - граница области решения; F(x,t) - функция источника внутри области решения; FG(t) - функция источника на границе области решения; a(x) - коэффициент.

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

vr = un ; Ata, -¿(ц;1 - U;1 + U-Y) + atF;(4) h

где At - шаг по времени; h - шаг по пространственной координате; n - номер шага по времени; i -номер шага по пространственной координате.

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

8Un+1

дв

= U - (1 + 2k )U +

+kU+AtFn+1 + Un

(5)

где k =Ata,. —■

Далее применяется конечно-разностная аппроксимация по явной схеме для аргумента в.

ип+1,в+1 = ип+1в+дв[...]в. (6)

где [...]в - правая часть ур. (5).

На первом шаге (и=0) по реальному времени расчетное уравнение (6) имеет вид:

и1в+1 = и1в + +дв[к,и% - (1 + 2к)ц1в + Ц + Д ^ + Ц0 ], (7)

где Ц^-Ц0.

В общем виде уравнение (7) для и+1-го шага по реальному времени и для в+1 шага по фиктивному времени:

ц-и+1,0+1 _ u"+1® + Д Q

ktU£e - (1 + 2k )Urie + +кр^ + дяг1 + иi

(8)

Вычитая из уравнения (8) для в+1-го шага аналогичное уравнение для в-го шага, получим выражение для приращений искомой переменной на каждом шаге:

_ди"+1-е + дв

дрп+1,® + 1 _

к ди^1® - (1+2 к) ди"+1,в + +к ди"+1,в+д^д.^1+д u

(9)

Уравнения (9) одинаковы для всех узлов разностной сетки и могут быть реализованы аппарат-но в виде устройства, описанного в патенте на изобретение [9].

Каждая ячейка этого устройства передает рассчитанное на каждом шаге приращение в соседние ячейки и обрабатывает приращения, полученные от соседних ячеек по формуле (9). Результат вычислений приращений на каждом шаге накапливается и дает решение по уравнению (8). После завершения цикла итераций по фиктивному времени -получается решение на очередном шаге по времени по ур. (4). Аналогично выполняются вычисления и для следующего шага по времени.

Обработка приращений по формуле (9), по сравнению с обработкой полноразрядных чисел по формуле (8), явно будет менее затратной по количеству активных элементов (транзисторов) на кристалле.

Выбор разрядности приращений требует отдельного исследования. Отметим только, что простейшие приращения одноразрядные и представляют собой последовательный числоимпульсный код. Такой код используется в известных последовательных интерфейсах I2C, CAN, широко распространенных при построении сложных сетей, содержащих датчики, контроллеры обработки и передачи данных, исполнительные механизмы и др. [10]. Поэтому устройство, модель которого описывается в настоящей статье, можно использовать при проектировании систем сбора и обработки данных. Вычислительное устройство, работающее в после-

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

Задавая количество тактовых импульсов в цикле вычислений, легко варьировать разрядностью результатов (или точностью решения). Например, 256 - для 8-разрядных переменных, 65536 - для 16-ти разрядных переменных в числоимпульсном коде и т. д. Это еще одно преимущество предлагаемой модели.

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

Ячеечная модель вычислительного устройства

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

В пронумерованных ячейках производятся вычисления, по ур. (8, 9). Одинарными линиями со стрелками показан обмен рассчитываемыми приращениями между ячейками. Двойной линией на рисунке показан обмен полноразрядными значениями коэффициентов и переменных между ячейками и контроллером ввода-вывода, который связан с управляющим микропроцессором. Последний, с помощью специальной программы, загружает в ячейки коэффициенты уравнений, управляет циклами вычислений и считывает из ячеек результаты расчета.

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

Исследование представленной модели проводилось с помощью компьютерной программы в среде MS Excel. Были проведены сравнительные решения ур. (1)—(3) на ячеечной модели с одноразрядными приращениями переменных (количество ячеек -1x10, а=5, h=1, д®=0,1, F=0). Фиксировалось количество итераций, за которое модель находила решение с заданной точностью во всех ячейках.

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

/-N

\-✓

Управляющий микропроцессор

1, 1 1, 2

а уу i k.

ей

ч: о я

3 М ей

ч: о м м

ft

<u

4 ч

0 £

1

о

1, m

У

2, 1 2, 2

A V j k

2, m

У

n, 1 n, 2

> ...-►

n, m

У

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

в одной итерации и деленное на тактовую частоту 1 ГГц) и время решения этой же задачи, зафиксированное на универсальном микропроцессоре (AMD Turion TL-60, 2 ГГц). Для ячеечной модели расчетная тактовая частота взята в 2 раза меньше, чем у универсального микропроцессора, поскольку кроме цикла решения необходимо учесть и цикл обмены данными с контроллером ввода-вывода.

Таблица. Основные показатели решений ур. (1) на ячеечной модели с одноразрядными приращениями и на универсальном микропроцессоре

Разрядность ячейки Число тактов в одной итерации Количество итераций Время решения, мс

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

Заданная точность 0,01

8 28 * -

10 210 * -

12 212 148 0,61

14 214 112 1,84

16 216 108 7,08

18 218 106 27,79

32 (Микропроцессор) - 106 1100,00

Заданная точность 0,1

8 28 *) -

10 210 70 0,07

12 2.2 57 0,23

14 214 56 0,92

16 216 60 3,93

18 218 60 15,73

32 (Микропроцессор) - 60 650,00

*Заданная точность решения недостижима.

устройства для решения задач дифференциальных уравнений в

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

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

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

Выводы

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

СПИСОК ЛИТЕРАТУРЫ

1. Каляев А. В. Теория цифровых интегрирующих машин и структур. - М.: Советское радио, 1970. - 472 с.

2. Ячейка однородной структуры для решения дифференциальных уравнений в частных производных: а.с. 783811 СССР. № 2727694/18-24; заявл. 21.02.1979; опубл. 30.11.1980, Бюл. № 44. - 2 с.

3. РФФИ. Аннотации и рубрикаторы тем конкурса инициативных ориентированных целевых фундаментальных исследований «ОФИ-Ц» 2009 год. Тема 2.2. Фундаментальные основы, принципы построения и архитектура вычислительных систем сверхпетафлопной производительности. 2010. URL: http:// www.rfbr.ru/default.asp?article_id=17874&doc_id=29282#id17874 (дата обращения: 16.11.2009).

4. НИИ СИ РАН. Отдел разработки высокопроизводительных систем. 2010. URL: http://www.niisi.ru/ppv.htm (дата обращения: 16.11.2009).

5. Giefers H., Platzner M. A Many-Core Implementation Based on the Reconfigurable Mesh Model // IEEE Xplore DIGITAL LIBRARY. 2010. URL: http://ieeexplore.ieee.org/Xplore/defdeny.jsp?url= http://ieeexplore.ieee.org/stamp/stamp.jsp%3Ftp%3D%26arnum-ber%3D4380623&denyReason=-134&arnumber=4380623&pro-ductsMatched=null (дата обращения: 16.11.2009).

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

6. Воеводин В.В. Суперкомпьютеры: вчера, сегодня, завтра // РФФИ. 2010. URL: http://www.rfbr.ru/pics/28310ref/file.pdf (дата обращения: 16.11.2009).

7. T0P500 SUPERCOMPUTER SITES. 2010 URL: http://www. top500.org/stats/list/33/apparea (дата обращения: 16.11.2009).

8. Лисейкин В.Д. Передовые технологии построения разностных сеток // РФФИ. 2010. URL: http://www.rfbr.ru/de-fault.asp?doc_id=17662 (дата обращения: 16.11.2009).

9. Ячейка однородной структуры для решения дифференциальных уравнений в частных производных: пат. 2359322 Рос. Федерация. № 2007141832/09; заявл. 12.11.07; опубл. 20.06.09, Бюл. № 17. - 6 с.

10. Лапин А.А. Интерфейсы. Выбор и реализация. - М.: Техносфера, 2005. - 168 с.

11. Ямпольский В.З., Новиков А.А., Хамухин А.А., Марчуков А.В. Перспективы оптимизации установок подготовки нефти на примере компании ТНК-ВР // Нефтегазовые технологии. -2009. - № 8. - С. 2-4.

Поступила 20.01.2010г.

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