ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ РАСЧЕТА ДИФРАКЦИОННЫХ ОПТИЧЕСКИХ ЭЛЕМЕНТОВ С ИСПОЛЬЗОВАНИЕМ ВЫСОКОСКОРОСТНЫХ ВЫЧИСЛИТЕЛЬНЫХ СРЕДСТВ
С.Г. Волотовский, Н.Л. Казанский, П.Г. Серафимович, С.И. Харитонов Институт систем обработки изображений РАН Самарский государственный аэрокосмический университет
Аннотация
В работе рассмотрены требования к программному обеспечению для решения задач компьютерной оптики с использованием высокоскоростных вычислительных средств (суперкомпьютера, кластера).
Описан распределенный программный комплекс NetDOE, ориентированный на Интернет и предназначенный для расчета дифракционных оптических элементов.
Ключевые слова: кластер, Web-сервер, дифракционный оптический элемент (ДОЭ), платформа Java 2 Enterprise Edition™ (J2EE), нотация UML (Unified Modeling Language).
Введение
При расчете дифракционных оптических элементов (ДОЭ) в непараксиальном или электромагнитном приближениях [1] оказывается недостаточно мощности современного персонального компьютера (ПК), чтобы получить результат в приемлемые сроки. Как правило, время расчета (включая этап моделирования) технологической маски ДОЭ на ПК составляет от нескольких дней до нескольких недель. Это обуславливает необходимость использования высокоскоростных вычислительных средств и соответствующую модернизацию ранее созданных для расчета ДОЭ программных средств [1-3].
Платформой для реализации разработанного программного комплекса NetDOE выбрана Java 2 Enterprise Edition™ (J2EE) от Sun Microsystems. Данная платформа является основой серверов приложений таких фирм как IBM, Oracle, Borland, WebLogic. Существуют также свободно распространяемые сервера приложений, соответствующие спецификации J2EE. При описании модели системы использовалась нотация UML. Это позволяет, при необходимости, сменить платформу реализации J2EE, например, на платформу .NET от Microsoft, не выполняя заново этап проектирования системы [4, 5].
На рис. 1 представлена структурная схема программного комплекса. Кроме основных компонентов на рисунке указаны наименования сетевых протоколов, в соответствии с которыми происходит обмен данными между компонентами комплекса. При разработке пользовательского интерфейса разработчики придерживались идеологии тонкого клиента. Поэтому пользователю не нужно устанавливать на своем компьютере дополнительное программное обеспечение (ПО).
Рис. 1 Архитектура программного комплекса
Реализация программного комплекса выполнена с использованием свободно распространяемого ПО:
операционная система Linux Red Hat, JSP-контейнер Tomcat.
Расчет ДОЭ на Web-сервере
Технология JavaServer Pages (JSP) [6] имеет ряд преимуществ по сравнению с другими технологиями создания приложений для обработки динамического Web-содержания. Во-первых, как любая Java-технология, она является кроссплатформенной, т.е. написанный код JSP-страниц будет без изменений работать под большинством современных операционных систем, а именно теми, для которых реализована виртуальная Java-машина. Во-вторых, JSP-технология помогает эффективно отделить представление от содержания.
В процессе проектирования программного комплекса были опробованы две типовые [6] архитектуры построения приложений, использующих JSP: «Модель 1» и «Модель 2».
В Модели 1 (Рис. 2) обработка запроса пользователя и генерация соответствующего отклика выполняется в JSP-странице. При таком подходе паттерн проектирования «Модель-Вид-Контроллер» (MVC) [7] реализуется лишь частично. Фрагменты java-кода, оформленные как javabean, представляют собой «Модель», в то время как «Вид» и «Контроллер» объединены в JSP-странице. Выполнение функций «Контроллера» внутри JSP-страницы приводит к существенному усложнению ее структуры. Тем самым затрудняется сопровождение функционально сложных приложений.
1: HTTPreguest(form) 2: create(form)
Рис. 2. Диаграмма взаимодействий архитектуры JSP «Модель 1»
В Модели 2 (рис. 3) слои паттерна MVC «Вид» и «Контроллер» разделены. Функции «Контроллера» выполняет один или несколько сервле-тов, а функции «Вида» остаются за JSP-страницей. В этом случае сервлет обрабатывает запрос, создает необходимые компоненты javabean и перенаправляет запрос пользователя соответствующей JSP-странице. Структура JSP-страницы упрощается за счет того, что в ней практически полностью отсутствует функциональная логика приложения. JSP-страница генерирует отклик путем включения в статические шаблоны динамического содержа-
ния, получаемого от сервлетов и компонентов java-bean. Расчет ДОЭ в непараксиальном приближении на современном однопроцессорном компьютере может занять от нескольких минут при подборе параметров, до нескольких часов при расчете технологической маски ДОЭ.
В реализованном программном комплексе DOE подбор параметров для расчета ДОЭ в непараксиальном приближении выполняется на Web-сервере. Начальный интерфейс пользователя для расчета в непараксиальном приближении одного из ДОЭ представлен на рис. 4.
Рис. 3. Диаграмма взаимодействий архитектуры Р «Модели 2»
Рис. 4. Интерфейс пользователя
Для вычислений используется низкоприоритетный поток, чтобы не страдала эффективность работы Web-сервера. Во время расчета браузер периодически запрашивает, получает и визуализирует текущие результаты вычислений на сервере. Возможен одновременный расчет нескольких ДОЭ на Web-сервере одним или несколькими пользователями. На Web-сервере хранится несколько последних рассчитанных
результатов, поэтому пользователь после запуска задания на расчет может закрыть окно браузера. При повторном запуске задания с теми же параметрами пользователь получает текущие результаты расчета: промежуточные, если расчет еще не закончен, или окончательные, если расчет уже закончился.
Экран компьютера пользователя во время типового сеанса работы представлен на рис. 5.
Рис. 5. Экран компьютера пользователя во время типового сеанса
Расчет ДОЭ на кластере
Расчет технологических масок ДОЭ выполняется на кластере (центре высокопроизводительной обработки информации) Самарского научного центра РАН [8]. На кластере установлена реализация MPICH интерфейса MPI. После получения запроса на расчет маски ДОЭ Web-сервер связывается с кластером по протоколу Telnet или SSH. Затем на кластере запускается задача в соответствии с параметрами, заданными пользователем. Через определенные промежутки времени задача на кластере формирует файл-изображение промежуточных данных и передает его на Web-сервер по протоколу FTP. Изображение находится в формате «*.pic» - созданном в ИСОИ РАН формате хранения изображений. Файл формата «.pic» перекодируется в файл формата «.jpeg», который может быть визуализирован в браузере.
В описываемом программном комплексе реализован расчет подкласса ДОЭ - фокусаторов ла-
зерного излучения. Фокусаторы - это ДОЭ, фокусирующие лазерное излучение в тонкие линии или малые области пространства [1]. Геометрооптический расчет фокусаторов в непарксиальном приближении является сложной вычислительной задачей, требующей решения нелинейного уравнения для каждой точки апертуры фокусатора.
Кластер
MPICH
Telnet/SSH сервер
FTP сервер
JPS/servlet контейнер
Telnet/SSH клиент
FTP клиент
PICencoder
JPEG encoder
Рис. 6. Диаграмма пакетов программного комплекса
Расчет ДОЭ в электромагнитном приближении требует многократного решения уравнения для эволюционной матрицы [9]. Решение эволюционного уравнения сводится к решению системы обыкновенных дифференциальных уравнений с различными начальными условиями. Это позволяет распараллелить вычислительный алгоритм. Система дифференциальных уравнений для различных начальных условий параллельно решалась на различных компьютерах, вклю-
ченных в кластер. Для решения системы обыкновенных дифференциальных уравнений использовались методы матричной экспоненты и Рунге-Кутта.
Диаграмма последовательностей в нотации UML представлены на рис. 7 и 8. Обработка запроса на запуск задачи расчета маски ДОЭ на кластере показана на рис. 7. Во время расчета браузер периодически запрашивает промежуточные результаты расчета, как показано на рис. 8.
User
Browser
JSP container
SSH-client
SSH-server
Task
selectPageQ
*inputParsQ
runTaskQ
getPageQ
U
send(task)
send(task)
autorizeQ
run(task)
createtaskQ
*formResultsQ --1
Рис. 7. Диаграмма последовательностей при обработке запроса на запуск задачи на кластере
Browser
JSP container
FTP-client
FTP-server
PICencoder
JPEGencoder
getPageQ
Browser requests the results o/\ calculation at a regulaif intervals
readPicQ
formJPEGQ
n
и
Рис. 8. Диаграмма последовательностей при обработке запроса на получение результатов с ШвЬ-сервера
Выводы
Разработан программный комплекс для расчета ДОЭ. Его особенностями являются:
• расчет ДОЭ выполняется или на Web-сервере или на кластере;
• имеется возможность одновременного расчета нескольких ДОЭ несколькими пользователями;
• после запуска задачи на расчет ДОЭ пользователь может или закрыть соответствующее окно браузера и забрать результаты расчета позже или контролировать процесс вычисления, получая в окне браузера промежуточные результаты расчета ДОЭ;
В процессе реализации опробованы две архитектурные 18Р-схемы: «Модель 1» и «Модель 2». Для решаемой задачи выбор сделан в пользу «Модели 2».
Реализация программного комплекса на базе платформы 12ББ дает возможность в дальнейшем использовать множество интегрированных в нее механизмов, в частности, обеспечения масштабируемости приложения и безопасности его использования.
Благодарность
Работа выполнена при частичной финансовой поддержке Российского фонда фундаментальных исследований (гранты №№ 00-01-05001, 01-0100097, 00-15-96114), Администрации Самарской области (грант № 01-197) и Центра «Интеграция».
Литература
1. Methods for Computer Design of Diffractive Optical Ele-
ments / edited by Victor A. Soifer - A Wiley Interscience Publication. John Wiley & Sons, Inc., 2002, 765 p.
2. L.L. Doskolovich, M.A. Golub, N.L. Kazanskiy, A.G. Khramov, V.S. Pavelyev, P.G. Seraphimovich, V.A. Soifer, S.G. Volotovskiy Software on diffrac-tive optics and computer generated holograms // Proceedings SPIE, "Image Processing and Computer Optics (DIP-94)", 1995. V. 2363. Р. 278-284.
3. S. G. Volotovskii, N. L. Kazanskii, P. G. Serafimovich,
S. N. Khonina Modern Information Technologies in Computer Optics // Pattern Recognition and Image Analysis, 2001. V. 11, No. 2. Р. 471-473.
4. G. Booch, J. Rumbaugh, I. Jacobson The Unified Modeling Language User Guide // Addison Wesley Longman, Inc., 1999.
5. M. Fowler, K. Scott UML Distilled // Addison Wesley Longman, Inc., 1997.
6. M. Hall Core Servlets and JavaServer Pages - Prentice Hall PTR, 2000.
7. E. Gamma, R. Helm, R. Johnson, J. Vlissides Design
Patterns // Addison Wesley Longman, Inc., 1995.
8. Кравчук В.В., Попов С.Б., Привалов А.Ю., Фурсов В.А., Шустов В.А. Введение в программирование для параллельных ЭВМ и кластеров // Самара, СНЦ РАН, 2000. - 87с.
9. Волотовский С.Г., Казанский Н.Л., Харитонов С.И. Методы теории рассеяния для решения задач дифракционной оптики // Компьютерная оптика, 2001. В. 21. С. 23-31.