Моделирование физических процессов на параллельных кластерах рабочих станций на языке Java Санкт-Петербургский государственный университет Научный руководитель: Немнюгин Сергей Андреевич, канд. физ.-мат.наук Цель работы ? разработка программы для моделирования физических процессов на кластере рабочих станций на языке Java. Решается задача о расчете интерференции монохроматических волн, распространяющихся в среде. Два вибратора (источника колебаний) возбуждают колебания среды, из-за чего возникают сферические волны. При распространении этих волн наблюдается интерференционная картина, которую и необходимо смоделировать.Для увеличения быстродействия программы применяются методы параллельного вычисления ? относительно независимые ресурсопотребляющие фрагменты программы выполняются на разных компьютерах, объединенных в сеть. Распространение волн от первого вибратора рассчитывается на одном компьютере, а от второго ? на другой. Готовая интерференционная картина формируется и выводится на экран на третьем компьютере. Такой способ дает выигрыш в производительности по сравнению с последовательным вариантом программы. Рассматривается следующая физическая модель. Среда, в которой происходит распространение колебаний, моделируется системой пружинок с одинаковым коэффициентом упругости, между которыми находятся упругие шарики одинаковой массы. Шарики “нанизаны” на тонкий стержень и могут скользить по нему без трения. Если расстояние между шариками и их размеры малы, такая система будет достаточно хорошо моделировать свойства реальной среды. Возбуждение колебаний среды осуществляется путем принудительного колебания какого либо шарика системы. Уравнения движения шариков решаются методом Рунге-Кутта четвертого порядка точности. При вычислении интерференционной картины расчет колебаний, порожденных каждым вибратором, производится на разных машинах. Затем выполняется суммирование амплитуд полученных волн. Необходимость применения высокопроизводительного параллельного кластера рабочих станций объясняется следующими обстоятельствами. В случае необходимости расчета интерференционной картины более чем двух волн в последовательном варианте программы, пришлось бы переделывать код программы. В данной реализации эта проблема решается путем запуска еще одного клиента на новом компьютере кластера. Клиент стартует с новыми параметрами и, подключаясь к серверной части, передает ей вновь рассчитанные данные. В случае необходимости учета большего количества вибраторов, компьютер, на котором все это считалось бы, был бы загружен так, что скорость расчета была бы очень мала. Интерес представляет также и использование Java-технологии для реализации параллельных расчетов. Такой подход пока не является традиционным и его эффективность требует исследования на примерах решения различных физических задач. Разработанная программа работает под любую TCP/IP совместимую сеть. Исходный код написан на языке Java, что делает его многоплатформенным. Разработка программы и расчеты выполнены на параллельном кластере Linux-станций Петродворцового телекоммуникационного центра и физического факультета Санкт-петербургского государственного университета. |
(c) АСФ России, 2001 |