Информационная система "Конференции"



Международная конференция молодых ученых по математическому моделированию и информационным технологиям

29-31 октября 2002 года, Новосибирск, Академгородок

Тезисы докладов


Информационные технологии

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

Орлов И. О., Каликин В. Э.

Институт ядерной физики им. Г.И.Будкера СО РАН (Новосибирск)

Для автоматизации экспериментов на встречных e+-e- пучках в Институте Ядерной Физики им. Будкера в начале 90х годов был разработан базовый комплекс программного обеспечения XonLine, организующий управления экспериментом посредством набора взаимодействующих процессов (задач), исполняемых на нескольких компьютерах архитектуры VAX/VMS. XonLine обеспечивает межзадачное взаимодействие, включая высокоскоростной обмен данными, позволяет контролировать весь программный комплекс, используя динамически формируемый набор терминалов, и включает средства эффективной организации задач прикладного уровня.

Основными компонентами XonLine являются APRON (Autonomous PRocess daemON), осуществляющий запуск и исполнение задач в компьютерной сети эксперимента и пересылку команд от процесса к процессу; TINMAN (Terminal INteraction MANager) позволяющий оператору взаимодействовать со всеми процессами системы с одного терминала; UPS (United Parcel Service), обеспечивающий межпрограммное взаимодействие по произвольной схеме (один многим, многие одному и т.п.); PIEMAN (Process Internal Event MANager) - ОС-независимое средство организации нескольких потоков исполнения (нитей) в рамках одной задачи; OPAL (Open Physics Analysis Language) - встраиваемый в любую задачу компилятор языка, включающего основные операторы FORTRAN-77, операторы для манипуляции с экспериментальным данными (гистограммы, графики) и допускающего динамическое расширение синтаксиса в соответствии с потребностями конкретного приложения.

Система XonLine объединяет ряд взаимодействующих процессов, исполняемых в автономном режиме на нескольких компьютерах, объединё нных в комплекс. Под автономностью понимается возможность функционировать без привязки к конкретным устройствам ввода-вывода. TINMAN обеспечивает связь с одной или несколькими программами комплекса, независимо от того, на каком компьютере они исполняются. TINMAN также может быть запущен на компьютере, не входящем в комплекс.

В данный момент для удовлетворения потребностей ведущихся фундаментальных исследований осуществляется перенос XonLine на платформу PENTIUM/LINUX. Данный доклад посвящён реализации компонент APRON и TINMAN под ОС LINUX. На текущий момент полностью реализована библиотека взаимодействия с оператором (KcMenu), на базе которой будет создан усовершенствованный аналог TINMAN, ведутся работы по реализации системы APRON.

Библиотека KcMenu позволяет строить панели управления задачами (меню), динамически изменять их содержание, обрабатывать пользовательские события (выбор пунктов, ввод значений и т.д.). Библиотека состоит из двух достаточно независимых частей: сервера данных, хранящего внутреннюю структуру меню и значения связанных с пунктами меню переменных, и сервера отображения - самостоятельной программы, отображающей панель на экране и непосредственно взаимодействующей с оператором. Авторами реализованы две версии библиотеки: локальная, в которой сервер отображения "встроен" внутрь библиотеки и сетевая, в которой сервера могут быть запущены на разных машинах.

Одним из достоинств библиотеки KcMenu по сравнению с программным обеспечением предыдущей версии является ее строгое разделение на модули. Таким образом, замена одного модуля на другую его версию не сказывается на целостности и качестве работы системы. Могут быть реализованы, в частности, сервера отображений под разные платформы. Для сетевой версии библиотеки авторами реализованы сервера отображений для консоли Linux и для системы X Windows.

Автономность процесса в системе XonLine обеспечивается локальным агентом APRON, осуществляющим запуск задач и обслуживание ввода-вывода. Такой агент должен работать на каждом компьютере комплекса. Для решения задач управления комплексом локальные агенты взаимодействуют между собой.

После запуска задачи агент перехватывает её вывод и накапливает его в журнальном файле. Задача может управлять флагом вывода в журнальный файл, посылая команды агенту. При обращении задачи к устройству ввода агент передаёт ей данные из указанного входного файла или посылает запрос TINMANу.

Процедура, в ходе которой оператор посредством TINMANа устанавливает связь с исполняемой задачей, называется присоединением процесса. Получив от TINMANа запрос на присоединение, сервер посылает TINMANу копию журнального файла задачи (указанное число последних по времени вывода строк) и новые выводимые данные по мере их появления. При обращении присоединённой задачи за вводом, APRON сообщает об этом TINMANу, и TINMAN, осуществив ввод данных, отсылает их серверу.

Один и тот же процесс может быть присоединён несколькими операторами, но только один из них имеет право управлять процессом (передавать данные).

Данная система также может быть использована для управления сетевыми процессами независимо от конкретной задачи.

Дополнительные материалы: HTML
Примечание. Тезисы докладов публикуются в авторской редакции



Ваши комментарии
Обратная связь
[ICT SBRAS]
[Головная страница]
[Конференции]

© 1996-2000, Институт вычислительных технологий СО РАН, Новосибирск
© 1996-2000, Сибирское отделение Российской академии наук, Новосибирск
    Дата последней модификации: 06-Jul-2012 (11:47:01)