УДК 004.72
ФОРМАЛИЗАЦИЯ ПРОБЛЕМЫ ОПТИМИЗАЦИИ РАЗМЕЩЕНИЯ ДАННЫХ МОДЕЛЬНОГО МИРА В РАСПРЕДЕЛЕННОЙ ИНФОРМАЦИОННОЙ СИСТЕМЕ ТРЕНАЖЕРНО-МОДЕЛИРУЮЩЕГО КОМПЛЕКСА
© 2008 г. В.В. Янюшкин
Статья посвящена обобщенной формализованной постановке задачи оптимизации размещения данных модельного мира в распределенной информационной системе в соответствии с предложенным иерархическим представлением структуры сложного тренажерно-моделирующего комплекса, определены и описаны основные этапы и проблемы решения данной задачи на различных уровнях организации системы
The article is devoted to formalized statement of optimization and accommodation data of the modeling world problem in the distributed information system according to the offered hierarchical representation of structure complex modeling simulator, the basic stages and problems of the decision given problem at various levels of the organization system are certain and described
Ключевые слова: информационная система, тренажерно-моделирующий комплекс, оптимизация.
Создание сложных компьютерных тренажерных систем требует поддержания необходимой функциональности распределенных по узлам вычислительной сети моделей и взаимосвязанных данных. Для решения этих задач создается распределенная информационная система, которая обеспечивает своевременное поступление моделям исходных данных и команд, передачу результатов моделирования средствам имитации, а также размещение данных модельного мира в информационной системе. В настоящее время актуальной является постановка и решение задачи оптимизации размещения данных модельного мира в распределенной информационной системе тренажерно-моделирующего комплекса [1, 2].
В основе решения любой оптимизационной задачи лежит набор определенных этапов: постановка проблемы, конструирование концептуальной модели, выбор критерия эффективности, построение математической модели, выбор алгоритма оптимизации, реализация и проверка модели, анализ полученных результатов. На первом этапе для формализации процедуры нахождения оптимального размещения распределенных данных описание структуры тренажера можно представить в виде иерархии нескольких уровней (рисунок):
- уровень аппаратной конфигурации, который представлен компьютерами и другим оборудованием тренажера, а также набором характеристик, таких как объем оперативной памяти, скорость передачи данных, частота процессора, объем видеопамяти и т.д.;
Уровень информационного обеспечения
Уровень функциональной конфигурации,
программное обеспечение ÏÏÏÏHÏÏÏÏÏÏÏÏÏÏ
п Ii N И 1 1 г: H
и модели
Уровень аппаратной
конфигурации, ÏÏ ÏÏ ÏÏ ÏÏ ÏÏ ÏÏ ÏÏ ÏÏ
компьютерное оборудование
Структура тренажера в виде иерархии уровней
- уровень функциональной конфигурации, означающий характер распределения программного обеспечения и моделей тренажера по узлам вычислительной сети, т.е. элементам аппаратной конфигурации, при этом каждая модель характеризуется составом данных, необходимых для её функционирования и правильной работы приложений;
- уровень информационной модели, на котором представлен состав данных, необходимых для функционирования системы в целом и отдельных приложений и моделей в частности.
Как видно из представленного рисунка, в его правой части схематично отражен тот факт, что на различных элементах аппаратной конфигурации, т.е. компьютерах вычислительной сети, может быть размещен разный набор функциональных модулей, требующих в свою очередь различного состава данных уровня информационной модели (это отражено наличием прямоугольников, имеющих различную степень окраски, в том же случае, если данные не требуются, в качестве заполнения используется белый фон).
В качестве исходных данных задачи размещения объектов модельного мира в распределенной системе служит следующая информация:
- количество компьютеров вычислительной сети комплексного тренажера PCi, г = 1, п , при этом каждый из них может характеризоваться быстродействием центрального и графического процессора, объемом оперативной памяти, возможностями сетевой подсистемы;
- набор программного обеспечения, моделей и компонент системы моделирования объектов тренировки М j, ] = 1, p , которые располагаются в узлах
вычислительной сети, т.е. элементах аппаратной конфигурации;
- набор структурированных данных определенных типов и категорий Бк, к = 1, m на уровне информационного обеспечения, которые представляют наполненные соответствующей информацией объекты тренажера.
Не менее важной компонентой исходной информации о системе сложного тренажера являются выбранные проектные решения для организации межмашинного сетевого обмена, а также характеристики каналов связи и возможности доступных сервисов специализированного оборудования [3].
Для взаимосвязи уровней функциональной и аппаратной конфигурации вводится матрица распределения программных моделей по элементам вычислительной сети тренажера МС^, г = 1, п , ] = 1, p .
Элемент матрицы МС^ может принимать следующие значения:
1, если]-я модель расположена МС.. =. на г-мкомпьютере;
0, в противном случае.
При этом подразумевается факт физического расположения определенной программы или элемента системы моделирования на определенном узле вычислительной сети тренажера.
Возможны ситуации, когда на компьютере располагаются сразу несколько таких модулей, что позволяет экономить аппаратные средства и готовить тренировки исходя из конкретных целей и задач, например, это возможно при наличии нескольких мониторов или моделирующих средств в составе программного обеспечения тренажера, не использующих средства визуализации и прямого взаимодействия с пользователями системы. Очевидно, что на каждый физический компьютер, входящий в состав тренировки, должно быть помещено хотя бы одно рабочее место или компонента тренажера. В математическом виде данное условие может быть записано как
у МС,, > 1, г = 1П.
j=1
Ограничением на данном этапе формализации может являться наличие единственной копии уникального рабочего места или специализированной модели тренажера в комплексной системе, в том случае если наличие таких ограничений не снимается спецификой и задачами функционирования конкретного тренажера, например для повышения надежности работы системы или при обучении нескольких операторов одновременно и оценке их реакции:
уме = 1, ] = 1Р.
г=1
Состав данных уровня информационной модели каждого отдельного физического элемента аппаратной конфигурации определяется совокупным составом данных всех компонент уровня функциональной конфигурации, расположенных на данном узле.
Для этого необходимо ввести матрицу определения потребности данных для каждой модели и рабочего места тренажера. Соотношения матрицы соответствуют факту потребностей определенного элемента или самостоятельного компонента программного обеспечения уровня функциональной конфигурации данных и объектов модельного мира, представленных уровнем информационного обеспечения тренажера, т.е. матрицей вида МБ ]к, ] = 1, р , к = 1, т .
Элемент матрицы МБ ]к может принимать следующие значения:
| 1, если}-й модели нужны к-е данные; ]к [0, в противном случае.
Из данного представления видно, что одному элементу уровня функциональной конфигурации могут соответствовать несколько типов объектов модельного мира.
При этом каждый существующий на начало тренировки объект мира должен быть необходим, по крайней мере, одной модели или элементу программного обеспечения, в противном случае сама процедура его размещения в общем информационном пространстве является бессмысленной.
Перечисленные выше утверждения и описания исходных составляющих так называемой базы данных конфигурирования тренажера могут служить исходными для процедур и моделей, позволяющих строить оптимальные стратегии распределения фрагментов информационной модели комплексного тренажера.
Следующим этапом формализации данной задачи может стать создание на основе полученных исходных данных начальной матрицы размещения объектов модельного мира. В этом случае делается предположение о том, что данные должны быть распределены с наиболее возможной максимальной потребностью для каждого физического узла системы, т.е. необходимо ввести аналог матрицы МБ, но уже для уровня аппаратной конфигурации тренажера. Форма записи имеет вид Сгк , г = 1, п , к = 1, т .
Элемент матрицы С гк может принимать следующие значения:
Cik —
1, если на г-й компьютер помещен к -й тип данных;
0, в противном случае.
Выполнение такого размещения в реальности должно согласовываться с рядом ограничений, например таких, как объем оперативной памяти каждого компьютера, отведенный для хранения и работы с объектами модельного мира. Эти ограничения должны выбираться и согласовываться с особенностями функционирования элементов тренажера, так как одним из основных показателей отдельных объектов модельного мира является их высокая динамичность, т.е. постоянное изменение объема данных и количества экземпляров. В связи с этим могут возникнуть дополнительные трудности и особенности разработки алгоритмов и моделей оптимизации.
Из этого следует, что фактически данные должны быть помещены, по крайней мере, на один физический узел, и в то же время при необходимости находиться в реплицированном виде на других узлах. В отдельных случаях какой-то узел может не содержать объектов модельного мира как по экономическим соображениям, так и вследствие получившейся стратегии размещения данных.
После выполнения процедуры создания матрицы С необходимым условием является оценка принятого решения. Данная оценка может производиться расчетом времени, необходимого для такта функционирования системы, т.е. отработки всех моделей и программ тренажера. Это обусловлено тем, что одной из основных особенностей систем реального времени являются жесткие временные ограничения, которые
необходимо соблюдать при проектировании распределенной информационной системы.
Данная процедура может быть выполнена расчетом временной матрицы для соотношения модели (потребителя определенного типа объекта модельного мира) и собственно данных (источника информации -объект модельного мира) с учетом физического размещения данных, принятого матрицей C, т.е. вычисляется матрица Tjk , j — 1, p, k — 1, m .
Элементы данной матрицы принимают значения в соответствии со следующими вариантами:
- модели M j, j — 1, p необходимы для своего
функционирования данные Dk, k — 1, m, при этом они размещены на том же физическом узле конфигурации, что и модель, тогда время Tjk вычисляется с
учетом работы непосредственно в оперативной памяти компьютера;
- модели M j, j — 1, p необходимы для своего
функционирования данные Dk, k — 1, m, при этом они размещены на другом физическом узле конфигурации, тогда время Tjk вычисляется с учетом работы
сетевой подсистемы;
- модели M j, j — 1, p не нужны для своего
функционирования данные Dk, k — 1, m, тогда время Tjk принимается равным 0.
Существенной проблемой при этом будет оценка времени получения данных сетевой подсистемой при различном количестве информации, текущей загрузке сети, используемом протоколе обмена и методе реализации алгоритмов сериализации объектов данных [4]. Таким образом, с учетом введенных условных предположений можно рассчитать суммарное значение времени. Другим немаловажным показателем является суммарная потребность в памяти для данного варианта размещения данных. Критерием эффективности может являться оценка, складывающаяся из двух составляющих:
- минимальное значение времени доступа к распределенному информационному ресурсу модельного мира на отдельном узле и (или) тренажере в целом;
- минимальное значение потребности в используемой памяти для хранения структур и объектов модельного мира на отдельном узле и (или) тренажере в целом.
В общем виде критерий эффективности F' для функции времени можно представить следующим образом:
p m
F' — ZZ Tß ^ min .
j —1 k—1
Для критерия эффективности используемой памя-
Fv
выражение принимает вид
Fv =XV ^ min,
i=i
где Vi, i = 1, n - суммарное значение памяти, занимаемой объектами модельного мира на отдельном узле тренажера.
Тогда общий критерий эффективности F принятого размещения данных в системе
F = w1Ft + w2Fv ^ min,
где w1, w 2 - аналоги весовых коэффициентов, позволяющих дифференцировать важность того или иного критерия в общем представлении.
При этом взаимодействие с сетевой подсистемой не ограничивается только получением необходимых данных при условии того, что модели M j, j = 1, p необходимы для своего функционирования данные Dk, k = 1, m и они физически находятся на другом
узле, а также необходимо для поддержания всего информационного пространства в адекватном состоянии на каждый момент времени. Например, при изменении параметров объектов модельного мира данные должны быть обновлены не только в локальных структурах определенного рабочего места состава аппаратной конфигурации, но и доставлены всем остальным реплицированным компонентам, находящимся в распределенных структурах. Своевременное выполнение таких операций позволяет поддерживать информационное пространство тренажера и наполнение тренировки для всех участников.
Из этого следует, что чрезмерное дублирование элементов модельного мира может отразиться возрастающими потребностями дополнительного обновления отдельных структур, интенсивно меняющих свои параметры в процессе работы системы. В то же время наличие статичных структур большого объема также не позволяет тратить оперативную и дисковую память для их хранения на многих узлах, и предпочтительнее возложить функции работы с ними на сетевую подсистему, используя их как элементы удаленных сервисов данных.
Тогда задачей моделей оптимизации является определение наиболее эффективного размещения данных с учетом наличия дублирования в тех случаях, где это не повлечет за собой значительных затрат на повторное обновление отдельных структур и создание одиночных экземпляров данных для работы с ними через удаленные интерфейсы для сокращения лишнего сетевого трафика. Выполнение подобных условий позволит создать максимально сбалансированную стратегию размещения данных модельного мира в тренажере с учетом введенных ограничений.
В отличие от рассмотренной глобальной проблемы оптимизации размещения в рамках всей распределенной структуры тренажера также можно выделить локальную задачу оптимизации топологии структур для хранения данных модельного мира на отдельном узле системы. В данном случае при использовании современных технологий программирования и разработки приложений производится формирование динамических структур типа списков и деревьев в оперативной памяти компьютера. При этом при организации последующего доступа к данным необходимо учитывать дополнительные временные затраты на обход и поиск нужных элементов. Для уменьшения времени поиска необходимой информации в этих структурах целесообразно предложить оптимизацию топологии дерева модельного мира, которая бы учитывала факторы использования запросов. Это может достигаться путем дополнительных разбиений на отдельные поддеревья, группировки данных в соответствии с требованиями потребителей, введением специальных указателей с учетом специфики работы с определенными типами данных. Такое решение позволит минимизировать технологическую сторону в скорости получения информации моделями уже на конкретном физическом элементе функциональной конфигурации тренажера.
Введение математических постановок задачи на различных этапах функционирования системы с учетом того, что данные операции могут входить как функции в систему подготовки тренировки и выполняться как фоновый процесс во время тренировки, позволит разработать модели, алгоритмы и соответствующие компоненты программной реализации.
Литература
1. Шукшунов В.Е., Циблиев В.В., Потоцкий С.И. и др. Тренажерные комплексы и тренажеры: Технологии разработки и опыт эксплуатации. М., 2005.
2. Евченко А.И., Михайлов А.А., Янюшкин В.В. Концептуальный анализ распределенной информационной системы тренажера // Моделирование. Теория, методы и средства: Материалы VII Междунар. науч.-практ. конф., Новочеркасск, 6 апреля 2007 г. / Юж.-Рос. гос. техн. ун-т (НПИ). Новочеркасск, 2007. Ч.3. С. 48-52.
3. Евченко А.И., Михайлов А.А., Янюшкин В.В. Локальная вычислительная сеть комплексного морского тренажера // Там же С. 71-74.
4. Янюшкин В.В. Сериализация объектов модельного мира в распределенной информационной системе морского тренажера // Теория, методы проектирования, программно-техническая платформа корпоративных информационных систем: Материалы V науч.-практ. конф., Новочеркасск, 25 мая 2007 г./ Юж.-Рос. гос. техн. ун-т (НПИ). Новочеркасск, 2007. С. 123-128.
16 апреля 2008 г.
Янюшкин Вадим Вадимович - аспирант Южно-Российского государственного технического университета (Новочеркасского политехнического института), инженер-программист Донского филиала Центра тренажеростроения. E-mail:[email protected].