УДК 004.75
Д . П . Костомаров1^ . С . Зайцев2, А . Г . Шишкин3, С . В . Степанов4, Е . П . Сучков5
АВТОМАТИЗАЦИЯ ПРОВЕДЕНИЯ ВЫЧИСЛЕНИЙ В ПРОГРАММНОМ КОМПЛЕКСЕ "ВИРТУАЛЬНЫЙ ТОКАМАК"
В работе описаны концепция, функциональные возможности, графический интерфейс и технология использования специализированной системы распределения вычислительной нагрузки, возникающей при решении типичных задач управляемого термоядерного синтеза. Система используется в составе комплекса имитационного моделирования "Виртуальный токамак" для автоматизации распределения вычислений по сети компьютеров, позволяя заметно повысить производительность труда исследователя. Представленная система может быть полезна в различных приложениях, требующих массовых многовариантных расчетов по одному или нескольким прикладным кодам, а также для поддержки интернет-порталов, предоставляющих вычислительные услуги с использованием локально хранящегося наукоемкого прикладного программного обеспечения.
Ключевые слова: управляемый термоядерный синтез, распределенные вычисления, библиотеки программ.
1. Введение. Комплекс имитационного моделирования "Виртуальный токамак" [1-4] предназначен для прогнозирования, сопровождения, интерпретации эксперимента и обработки измерений на установках токамак, реализующих идею производства энергии на основе управляемого термоядерного синтеза (УТС). Программное обеспечение комплекса состоит из интерактивной графической оболочки, системной части и ряда взаимосвязанных компьютерных кодов, моделирующих различные процессы в плазме токамака, элементы конструкции, диагностику плазмы и системы управления ею.
Вычислительный эксперимент на "Виртуальном токамаке" основан на проведении массовых расчетов на ЭВМ. В типичных случаях — это десятки и сотни длительных расчетов по некоторым прикладным программам, входные и выходные данные которых не связаны или слабо связаны друг с другом.
В аппаратном обеспечении комплекса "Виртуальный токамак" имеется один базовый сервер и ряд мощных компьютеров, доступ к которым осуществляется с сервера через сеть. Возникают задачи распределения вычислений, отслеживания процесса протекания расчетов и возврата результатов на базовый сервер. Решение таких задач вручную трудоемко и неэффективно, так как, например, не позволяет полноценно и равномерно загрузить имеющиеся вычислительные ресурсы, требует от пользователя комплекса множества рутинных операций.
Задача распределения вычислений осложняется тем, что обычно сеть является гетерогенной, т.е. состоящей из компьютеров различных производителей с различными операционными системами и компиляторами. Кроме того, возникают вопросы защиты передаваемой по сети информации от несанкционированного использования.
Существуют различные системы для решения проблем управления заданиями [5-12], например Load Sharing Facility (LSF) [6], Portable Batch System (PBS) [7] и Computing in Distributed Networked Environment (CODINE) [8]. Имеются также различные реализации технологии GRID [13]. Обилие разработок указывает на то, что универсальных оптимальных общепринятых систем еще не создано. Доступные планировщики — это, как правило, большие программные комплексы общего назначения, требующие администрирования в процессе работы и специального обучения пользователей.
Здесь мы сужаем общую задачу до задачи распределения независимых относительно длительных вычислений и ставим цель построения администрируемой одним пользователем системы с удобным графическим интерфейсом, простой технологией работы и максимальной автоматизацией всего цикла
1 Факультет ВМК МГУ, проф., д.ф.-м.н., e-mail: d.kostomarovQcs.msu.su
2 Факультет ВМК МГУ, НИИСИ РАН, проф., д.ф.-м.н., e-mail: zaitsevQcs.msu.su
3 Факультет ВМК МГУ, ст. науч. сотр., д.ф.-м.н., e-mail: shishkinQcs.msu.su
4 Факультет ВМК МГУ, асп., e-mail: sergey.v.stepanovQgmail.com
5 Факультет ВМК МГУ, асп., e-mail: suchkov.egorQgmail.com
* Работа выполнена при финансовой поддержке РФФИ (гранты № 11-07-00567, 10-07-00207 и 08-01-00721).
выполнения расчетов. Такая система была создана и получила название TADISYS (Task Distribution System). В статье описаны возможности TADISYS, ее графический интерфейс и техника использования.
2. Концепция и функциональные возможности. Система TADISYS предназначена для автоматизации рутинных операций решения большого количества независимых задач на сети компьютеров, включая выбор оптимального узла сети, загрузку и запуск задачи, мониторинг выполнения расчетов и передачу данных на базовый компьютер. Вся система, включая графический интерфейс, реализована на языке JAVA, что делает ее платформенно-независимой.
Применен подход клиент-сервер. Сервер выполняется на базовом компьютере комплекса "Виртуальный токамак". Клиенты рассылаются сервером по узлам сети и запускаются на выполнение. Работа сервера может быть остановлена и затем возобновлена без негативных последствий для функционирования системы, т. е. базовый компьютер может быть при необходимости выключен. Сервер может быть запущен в среде любой операционной системы, поддерживающей JAVA, например MS Windows, UNIX или Mac OS. Клиент ориентирован на работу в среде UNIX, так как может обращаться к специфическим для операционной системы командам. Обобщение клиента на другие операционные системы не представляет большой сложности. Доступ к удаленным компьютерам и обмен данными организован по защищенному протоколу с помощью JAVA-библиотек SSH [14] и RMI [15].
В системе TADISYS используется термин "кластер компьютеров" (cluster), под которым понимается множество компьютеров, соединенных в сеть по протоколу TCP/IP. Сеть может быть как локальной, так и географически распределенной, включающей компьютеры в сети Интернет. С помощью графических средств сервера можно сконфигурировать новый кластер или загрузить одну из сохраненных конфигураций. В описание каждого элемента кластера входят: символическое имя, IP-адрес или DNS-имя, имя директории для размещения клиента, имя и пароль пользователя для ssh-доступа, путь к пакету JAVA, несколько необязательных параметров.
Графический интерфейс сервера позволяет также описать конфигурацию задач или загрузить одну из сохраненных конфигураций. Характеристика задачи включает: символическое имя, имя файла задач (если задача содержит много файлов, то их необходимо запаковать в один), приоритет выполнения, команду распаковки, команду запуска на выполнение, ожидаемое время выполнения и требуемый объем дискового пространства. В функции графической оболочки сервера входит управление задачами: выбор требуемых к выполнению, распределение по сети, мониторинг, перекачка рассчитанных данных.
Алгоритмы оптимального распределения задач по сети и механизма контроля за их выполнением достаточно сложны. Детали алгоритмов описаны в документации к TADISYS. Здесь же отметим, что на входе алгоритмов требуется лишь достаточно общая характеристика задачи: приоритет, приблизительное время расчета и требуемый объем дискового пространства. На основе этой информации, с учетом статистики о ресурсах, накопленной клиентами, и текущей загруженности компьютеров TADISYS автоматически распределяет задачи по сети.
3. Графический интерфейс и технология использования. Комплекс "Виртуальный токамак" использует TADISYS для распределения вычислений в автоматическом режиме. Администрирование системы TADISYS осуществляется через графическую оболочку, которая запускается командами run.bat или run.sh из директории bin. В результате открывается главное окно сервера, в левой части которого отражены в виде кнопок все основные функции системы (рис. 1).
При запуске системы появляется окно, в котором можно описать новый компьютерный кластер или загрузить сохраненный и внести в него изменения.
Имена компьютеров, входящих в кластер, отображаются в средней части главного окна. Перечеркнутое изображение означает, что связь с удаленным компьютером установить не удалось. Поле в правом верхнем углу предназначено для отображения информации о выбранном компьютере.
Кнопкой Configure tasks открывается окно конфигурации расчетных задач. Здесь необходимо ввести информацию о каждой задаче или загрузить и, если надо, отредактировать описание задач.
Распределение задач по сети происходит после нажатия кнопки Start tasks. Кнопка Task Manager предназначена для просмотра состояния выполняемых задач (рис. 2).
Информация о произошедших событиях отображается в левой нижней части главного окна (рис. 1). Поле Server Status содержит общую статистику работы TADISYS: число подключенных
Рис. 1. Главное окно системы TADISYS
Рис. 2. Окно Task Manager системы TADISYS
на данный момент клиентов, число успешно завершившихся задач, отправленных на выполнение, ожидающих отправку и выполняющихся в данный момент.
Кнопка Get client status используется для извлечения данных о текущем состоянии клиента (рис. 1). Информация о клиенте содержит: номер клиента, его IP-адрес, название и версию операционной системы, в которой функционирует клиент, условную скорость узла и скорость выполнения задач, текущий статус (Busy — в данный момент имеются выполняющиеся задачи, Free — задач нет), число успешно завершившихся задач, полученных, выполняющихся в данный момент и окончившихся с ошибкой.
Кнопкой Browse files открывается файловый браузер для операций, таких, как пересылка данных между локальной и соответствующей выбранному клиенту удаленной файловыми системами, удаление файлов и т. д.
Имеются две ветви завершения работы сервера. Кнопкой Shutdown server останавливается работа как сервера, так и всех клиентов. Иной способ выхода из графической оболочки, например закрытие главного окна TADISYS или нажатие кнопки Hibernate server, прекращает работу сервера, но не останавливает выполнение клиентов. В этом случае при последующем запуске графической оболочки вместо кнопки Start server появится кнопка Arise server. После нажатия Arise server произойдет соединение серверной части и запущенных ранее клиентов. Информация о произошедших с момента отключения событиях будет отражена в главном окне TADISYS.
4. Интеграция с системой ScopeShell. В TADISYS встроена возможность распределения задач, описанных в проектах системы ScopeShell [16]. Процесс передачи проектов инициализируется кнопкой TADISYS главного окна графической оболочки ScopeShell. Если на базовом компьютере система TADISYS еще не выполняется, то происходит ее запуск. В противном случае проекты ScopeShell передаются серверу по защищенному протоколу, что предотвращает повторный запуск клиентов. Происходит синхронизация состояния проектов (задач) ScopeShell и кластеров.
Дальнейшее поведение TADISYS аналогично описанному выше. В главном окне системы можно отслеживать статус выполнения проектов ScopeShell, с помощью файлового браузера TADISYS закачивать результаты вычислений на базовый компьютер и просматривать их средствами ScopeShell. Допускается повторная передача проекта (задачи) ScopeShell в TADISYS. Предыдущая конфигурация не будет утеряна. При необходимости произойдет обновление описания задачи.
5. Заключение. Развитие комплекса "Виртуальный токамак" является одним из стратегических направлений в решении проблемы УТС, существенно повышающим эффективность и сокращающим сроки перехода к термоядерной энергетике. Система TADISYS является одним из важнейших компонентов комплекса "Виртуальный токамак". TADISYS обеспечивает специализированное для типичных
задач управляемого термоядерного синтеза решение сложной проблемы эффективного распределения больших вычислительных задач по сети компьютеров. Опыт эксплуатации TADISYS как в составе комплекса "Виртуальный тока мак", так и в качестве отдельного приложения показал, что система экономит до 70% рабочего времени пользователя при проведении масштабных расчетов. Система TADISYS может быть полезна в различных областях науки для повышения эффективности исследований, требующих многовариантных расчетов по одному или нескольким прикладным кодам, а также в составе системной компоненты интернет-порталов, предоставляющих вычислительные услуги с использованием локально хранящегося сложного наукоемкого программного обеспечения.
Авторы благодарны A.B. Сыцко, участвовавшему в разработке начальной версии системы TADISYS.
СПИСОК ЛИТЕРАТУРЫ
1. Костомаров Д.П., Зайцев Ф.С., Шишкин А.Г. и др. Программное обеспечение библиотеки "Виртуальный токамак" // Вестн. Моск. ун-та. Сер. 15. Вычисл. матем. и киберн. 2011. № 4. С. 48-54.
2. Зайцев Ф.С., Шишкин А.Г., Сычугов Д.Ю. и др. Структура и функциональные возможности комплекса имитационного моделирования "Виртуальный токамак" // Вычислительные технологии в естественных науках. Перспективные компьютерные системы: устройства, методы и концепции. М.: ИКИ РАН, 2011.
3. Зайцев Ф. С., Сычугов Д.Ю., Шишкин А.Г. и др. "Виртуальный токамак"—необходимый этап на пути к прорывным технологиям управляемого термоядерного синтеза // Наука и социология в XXI веке. V Петербургская встреча лауреатов Нобелевской премии. СПб.: Политехи, ун-т, 2010.
4. Зайцев Ф. С. Математическое моделирование эволюции тороидальной плазмы. М.: МАКС Пресс, 2011.
5. http://www.genias.de
6. http://accl.grc.nasa.gov/lsf
7. http://www.openpbs.org
8. http://citeseer.nj.nec.com
9. http://www.csa.ru/skif/kurs_2/jms
10. http://www.raytheon.com/products/hpc
11. http://www.cs.wisc.edu/condor
12. http://www.mpi-forum.org
13. Foster I., KesselmanC. The Grid 2. 2nd Edition. Burlington: Morgan Kaufmann Publishers, 2004.
14. http://www.isnetworks.net/ssh
15. http://java.sun.com/products/jdk/rmi
16. Костомаров Д.П., Зайцев Ф.С., Шишкин А.Г. и др. Графический интерфейс ScopeShell: поддержка вычислительного эксперимента и визуализация данных // Вестн. Моск. ун-та. Сер. 15. Вычисл. матем. и киберн. 2010. № 4. С. 42-48.
Поступила в редакцию 07.02.12
44
ВЕСТН. МОСК. УН-ТА. СЕР. 15. ВЫЧИСЛ. МАТЕМ. И КИБЕРН. 2012. № 4
AUTOMATION OF COMPTUTATIONS IN THE SOFTWARE COMPLEX "VIRTUAL TOKAMAK"
Kostomarov D.P., Zaitsev F. S., Shishkin A. G., Stepanov S.V., Suchkov E. P.
Functional capabilities, graphic user-interface and application technology of specialized system for distribution of computational load, which appears in solving the typical problems of controlled thermonuclear fusion, are described. The system is employed in the simulation complex "Virtual tokamak" for automation of calculations distribution over the network of computers, allowing to noticeably raise the productivity of the researcher. The presented system can be helpful in different applications, which requires huge routine multi variant computations with one or several applied codes, and or support of the Internet portals, which provide computational services with locally stored science intensive applied software.
Keywords: controlled thermonuclear fusion, distributed calculations, software libraries.