(накладные расходы), , а 2 - коэффициенты, зависящие от скорости передачи данных и решаемой задачи.
Заключение
Тестирование выполненной автором реализации описанных алгоритмов показало, что машинное время решения тестовой задачи переноса с неявной аппроксимацией на адаптивной сетке примерно в 1,5 раза больше, чем время решения задачи на равномерной сетке с тем же числом ячеек (накладные расходы на интерполяцию и адаптацию). Однако для достижения той же точности решения равномерная сетка должна иметь примерно в 16 раз больше ячеек, чем адаптивная. Поэтому, при той же точности, решение на адаптивной сетке может быть получено в 10 раз быстрее, чем на равномерной.
Метод адаптивных сеток значительно уменьшает время вычислений и снижает требуемый объем оперативной памяти по сравнению с равномерными сетками при той же точности получаемого решения. Разработана параллельная реализация алгоритмов с динамической балансировкой загрузки.
Литература
1. Тихомиров П. Система SENTAURUS TCAD компании Synopsys: новое поколение приборно-технологических САПР / П. Тихомиров, П. Пфеффли, М. Зорзи // Электроника НТБ. - 2006. - № 7. - С. 89-95.
2. Berger M.J. Aspects (and Aspect Ratios) of Cartesian Mesh Methods / M.J. Berger, M.J. Aftosmus // Proc. of the 16th Int. Conf. on Numerical Methods in Fluid Dynamics, (6-10 July, 1998, Arcachon, France). - Springer-Verlag, Heidelberg, Germany, 1998. -P. 1-12.
3. Hannoun N. Issues in Adaptive Mesh Refinement Implementation / N. Hannoun, V. Alexiades // Electronic Journal of Differential Equations: Sixth Mississippi State Conference on Differential Equations and Computational Simulations. - 2007. - P. 141-151.
Сухинов Антон Александрович — Московский физико-технический институт
(государственный университет), аспирант, Soukhinov@gmail.com
УДК 004.4'23
ИНТЕРПРЕТАЦИЯ КАК СРЕДСТВО ИССЛЕДОВАНИЯ ДИНАМИЧЕСКИХ СВОЙСТВ ПАРАЛЛЕЛЬНОЙ ПРОГРАММЫ НА ИНСТРУМЕНТАЛЬНОМ КОМПЬЮТЕРЕ
М.С. Акопян
В работе рассматривается среда ParJava, поддерживающая разработку параллельных Java-программ для вычислительных систем с распределенной памятью. В среде ParJava строится модель параллельной программы, позволяющая оценивать ее динамические параметры не на целевой вычислительной системе, а на персональном компьютере разработчика.
Ключевые слова: среда разработки, Java, параллельное программирование.
При проектировании и конструировании сложных технических устройств обычно используются системы автоматизации проектирования, работающие на многопроцессорных вычислительных системах. Эффективность САПР во многом определяется качеством параллельных программ, выполняющих необходимые вычисления. Отсутствие методов компиляции параллельных программ вынуждает оптимизировать их вручную,
используя средства низкого уровня, что приводит к замедлению разработки и увеличению ее стоимости.
В данной работе рассматривается среда ParJava [1] разработки параллельных Java-программ для вычислительных систем с распределенной памятью, в состав которой входят инструментальные средства, облегчающие разработку параллельной программы. В среде ParJava используется модель параллельной программы, позволяющая оценивать эффективность и масштабируемость разрабатываемой параллельной программы, интерпретируя ее модель. Таким образом, большая часть отладки и доводки параллельных программ выполняется не на целевой вычислительной системе (высокопроизводительном кластере), а на инструментальном компьютере (персональном компьютере разработчика).
Среда ParJava предоставляет прикладному программисту набор инструментов, поддерживающих разработку параллельных программ: интерпретатор модели (позволяет исследовать поведение программы на инструментальной машине), редактор модели (позволяет вносить изменения в модель, при этом модель не перестраивается с нуля), анализатор модели (позволяет исследовать различные характеристики модели, например распараллеливаемость цикла) и т.д. Для поддержки параллельных программ на языке Java была разработана и реализована библиотека mpiJava, который представляет собой привязку к существующим реализациям библиотеки MPI [2] из среды Java.
В модели параллельной программы явным образом выделяются базовые блоки (линейные последовательности вычислений) и поток управления. Для сокращения времени интерпретации и обеспечения возможности выполнения интерпретации на инструментальном компьютере в среде ParJava моделируются только поток управления процессов моделируемой программы и операции обмена данными между процессами. Значения времени выполнения базовых блоков определяются на целевой вычислительной системе до начала интерпретации модели. Интерпретация модели лишь распространяет значения исследуемых атрибутов на остальные узлы модели.
Процессы параллельной программы моделируются с помощью логических процессов. Логический процесс представляет собой последовательность действий (примеры действий - выполнение базового блока, выполнение операции обмена и т.п.), имеющих определенную продолжительность. В логическом процессе определено понятие модельных часов. Показание модельных часов каждого логического процесса в момент начала интерпретации равно нулю. После интерпретации очередного действия к модельным часам соответствующего логического процесса добавляется значение продолжительности этого действия. Логические процессы реализованы в виде потоков языка Java.
Коммуникационные функции моделируются с помощью базовых операций обмена [1]. Время выполнения базовых операций оценивается с помощью тестов.
После интерпретации вершина модели может быть редуцирована. Редукция вершины модели заключается в том, что поддерево модели с корнем в рассматриваемой вершине заменяется одной вершиной типа «редуцированный базовый блок». В дальнейших интерпретациях модели эта часть программы интерпретироваться не будет, а значение времени выполнения данной вершины будет содержаться в редуцированном блоке, на который была заменена соответствующая часть программы во время редукции. В результате интерпретации модели можно получить частотные и временные профили программы, оценить время выполнения программы и ее частей, получить границы области масштабируемости. С помощью анализатора модели можно определить перекрытия вычислений и обменов и выдать рекомендации по оптимальной расстановке вызовов коммуникационных функций.
Среда ParJava используется в ИСП РАН при разработке параллельных прикладных программ, в частности, реализованы программа моделирования интенсивных атмосферных вихрей (торнадо) [3] и программа моделирования водно-ионной оболочки
ДНК [4]. Погрешность оценки динамических параметров составила менее 10%. В дальнейшем предполагается расширить интерпретатор модели возможностями сбора и анализа трассы параллельной программы с использованием модели.
Литературп
1. Прогнозирование производительности MPI-программ на основе моделей / В.П. Иванников, А.И. Аветисян [и др.] // Автоматика и телемеханика. - 2007. - № 5. -C. 8-17.
2. MPI: The complete Reference / Marc Snir, Steve Otto, [et al]. - Vol. 1, 2. - 2nd edition. - The MIT Press, 1998.
3. Аветисян А.И. Возникновение торнадо: трехмерная численная модель в мезомас-штабной теории турбулентности по В.Н. Николаевскому / А.И. Аветисян, B.B. Бабкова и А.Ю. Губарь // ДАН. Геофизика. - 2007. - Т. 419. - № 4.- С. 547-552.
4. Аветисян А.И., Гайсарян С.С. Разработка параллельного алгоритма компьютерного моделирования водно-ионной оболочки ДНК. Информационные и математические технологии в науке и управлении // Тр. XIII Байкальской Всероссийской конференции «Информационные и математические технологии в науке и управлении». Часть I. - Иркутск: ИСЭМ СО РАН, 2008. - С. 195-206.
Акопян Манук Сосович — Институт системного программирования РАН,
м.н.с., manuk@ispras.ru
УДК 519.642
ЧИСЛЕННОЕ МОДЕЛИРОВАНИЕ РАСПРОСТРАНЕНИЯ УПРУГИХ ВОЛН В СРЕДАХ, ХАРАКТЕРНЫХ ДЛЯ ГРЯЗЕВЫХ
ВУЛКАНОВ Д.А. Караваев
Кратко изложен метод решения задачи численного моделирования распространения упругих волн в трехмерно неоднородных средах. На основе приведенного алгоритма создан комплекс программ. Предложен способ распараллеливания программы для численного расчета средствами OpenMP и MPI. Ключевые слова: упругие волны, грязевые вулканы, параллельные алгоритмы.
Введение
Проблема генезиса грязевых вулканов является дискуссионной. В работах [1-4] предложен вибросейсмический метод мониторинга магматических структур с контролируемым сейсмическим источником, который позволит получить новые знания о строении вулканов, их происхождении и динамике поведения дилатантных структур живущих вулканов. Предлагаемый программный комплекс фактически является инструментарием для проведения экспериментальных работ на местности.
Комплекс программ позволяет проводить численное моделирование распространения упругих волн в трехмерных моделях упругих сред и определять параметры и место расположения системы возбуждения и системы наблюдения относительно вулканической структуры для получения оптимальных экспериментальных данных при проведении натурных геофизических экспериментов. Результаты численного моделирования могут быть использованы при интерпретации данных вибросейсмических зондирований грязевых вулканов.