Система управления удалёнными процессами XonLine

advertisement
Орлов Илья Олегович
Система управления удалёнными процессами XonLine
Научные руководители — мл. науч. сотр. Е. М. Балдин, ИЯФ СО РАН,
вед. науч. сотр. канд. физ.-мат. наук А. Г. Шамов, ИЯФ СО РАН
Для автоматизации экспериментов на встречных электрон-позитронных
пучках в Институте Ядерной Физики им. Г. И. Будкера разрабатывается
базовый комплекс программного обеспечения XonLine, организующий
управление экспериментом посредством набора взаимодействующих
процессов (задач), исполняющихся в сети компьютеров архитектуры Pentium/Linux.
XonLine объединяет ряд взаимодействующих процессов, исполняемых
в автономном режиме на нескольких компьютерах, объединённых в
комплекс. Под автономностью понимается возможность функционировать
без привязки к конкретным устройствам ввода-вывода. Система должна
обеспечивать межзадачное взаимодействие, включая высокоскоростной
обмен данными, позволять контролировать весь программный комплекс,
используя динамически формируемый набор терминалов, и включать в
себя средства эффективной организации задач прикладного уровня.
Одними из основных компонент XonLine являются APRON
(Autonomous PRocess Daemon), осуществляющий запуск и исполнение
задач в компьютерной сети эксперимента и пересылку команд от процесса
к процессу; TINMAN (Terminal INteraction MANager) позволяющий
оператору взаимодействовать со всеми процессами системы с одного
терминала. Данный доклад посвящён реализации компонент APRON и
TINMAN под ОС Linux.
TINMAN обеспечивает связь с одной или несколькими программами
комплекса, независимо от того, на каком компьютере они исполняются.
TINMAN также может быть запущен на компьютере, не входящем в
комплекс.
Разработанная для организации пользовательского интерфейса
библиотека KcMenu позволяет строить панели управления задачами
(меню),
динамически изменять
их содержание, обрабатывать
пользовательские события (выбор пунктов, ввод значений и т.д.).
Библиотека состоит из двух независимых частей: сервера данных,
хранящего внутреннюю структуру меню и значения связанных с пунктами
меню переменных, и сервера отображения – самостоятельной программы,
отображающей панель на экране и непосредственно взаимодействующей с
оператором. Реализованы две версии KcMenu: локальная, в которой сервер
отображения "встроен" внутрь библиотеки и сетевая, в которой сервера
могут быть запущены на разных машинах. Для сетевой версии библиотеки
реализованы сервера отображений для консоли Linux и для системы
XWindow.
Автономность процесса в системе XonLine обеспечивается локальным
агентом APRON, осуществляющим запуск задач и обслуживание вводавывода. Такой агент должен работать на каждом компьютере комплекса.
Для решения задач управления комплексом локальные агенты
взаимодействуют между собой посредством центрального агента,
запущенного на сервере локальной сети.
Агент контролирует потоки ввода-вывода задачи и при необходимости
обращается к TINMANу за новыми данными.
Процедура, в ходе которой оператор посредством TINMANа
устанавливает связь с исполняемой задачей, называется присоединением
процесса. Оператор может управлять присоединённым процессом,
передавая ему входные данные и контролируя вывод. Один и тот же
процесс может быть присоединён несколькими операторами, но только
один из них имеет право управлять процессом (передавать данные).
Данная система может быть использована для управления сетевыми
процессами независимо от конкретной задачи.
Related documents
Download