Научная статья на тему 'О задаче распределения информации по уровням хранения в вычислительных модулях тренажерной системы'

О задаче распределения информации по уровням хранения в вычислительных модулях тренажерной системы Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
156
30
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТРЕНАЖЁРНАЯ СИСТЕМА / СЕТЬ ПЕТРИ МАРКОВА / ПРОГРАММНЫЙ МОДУЛЬ / SIMULATION SYSTEM / PETRI MARKOV NETS SOFTWARE MODULE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ларкин Евгений Васильевич, Привалов Александр Николаевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Ларкин Евгений Васильевич, Привалов Александр Николаевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ON THE PROBLEM OF DISTRIBUTION INFORMATION ON STORAGE LEVELS IN COMPUTING MODULE TRAINING SYSTEMS

The problem of sharing information on the multi-level memory hierarchies is formulated on the basis of the postulate of minimizing the period of inter-module interaction software computing environment simulation systems in terms of the theory of Petri Markov nets. It is shown that the problem is a typical linear programming problem in which solutions, if they exist, are at the boundary of the domain of feasible solutions. Formulated two methods for distributing data storage levels applied in the computing environment, the simulator system.

Текст научной работы на тему «О задаче распределения информации по уровням хранения в вычислительных модулях тренажерной системы»

ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И ОБРАБОТКА ИНФОРМАЦИИ

УДК 681.5 (519.95)

О ЗАДАЧЕ РАСПРЕДЕЛЕНИЯ ИНФОРМАЦИИ ПО УРОВНЯМ ХРАНЕНИЯ В ВЫЧИСЛИТЕЛЬНЫХ МОДУЛЯХ ТРЕНАЖЕРНОЙ

СИСТЕМЫ

Е.В. Ларкин, А.Н. Привалов

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

Кчючевые слова: тренажёрная система, сеть Петри - Маркова, программный

модуль.

Программное обеспечение современных тренажерных систем строится на основе модульного принципа и естественным образом разделяется на ряд программных модулей, реализующих алгоритмы, каждый из которых осуществляет свою функцию в общей задаче обработки данных [2, 3]. Это позволяет осуществить раздельную разработку, отладку и тестирование программных модулей, а также использовать в составе программного обеспечения ранее разработанные программы. Кроме того, в состав программного обеспечения входят так называемые элементарные программы: драйверы аналого-цифровых и цифроаналоговых преобразователей управляющих и сенсорных сигналов; программы формирования статических характеристик имитаторов органов управления подвижного наземного объекта, близких к реальным; стандартные программы интегрирования систем дифференциальных уравнений и т.п.

Известно, что алгоритмы вычислительной среды тренажёрных систем являются циклическими [1]. Большинству программных реализаций алгоритмов для функционирования требуются значительные объемы обрабатываемых данных, которые хранятся на различных вычислительных модулях. Каждый модуль содержит операторы обращения: к другим программным модулям, базам данных, датчикам сенсорной подсистемы и исполнительным устройствам тренажера. Существуют жесткие ограничения на периоды обращения к датчикам сенсорной подсистемы, определяемые условиями Найквиста теоремы Котельникова (теоремы об отсчетах). Другие ограничения связаны с периодом регенерации изображения на экране монитора. В связи с этим существенное значение приобретает задача минимизации указанных периодов.

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

Сформулируем подходы к её постановке на основе теории сетей Петри -Маркова (СПМ) [4].

Пусть информация общим объемом используемая некоторым программным модулем, распределена на Да) уровнях хранения. Процессор ЭВМ фон-неймановского типа, интерпретируя некоторый алгоритм, генерирует поток заявок на обслуживание, которое заключается в том, что информация с соответствующего уровня хранения передается в ЭВМ для обработки. СПМ, моделирующая взаимодействие процессора и иерархической памяти, приведена на рис. 1.

Рис. 1. Модель доступа к информации, распределенной в иерархической многоуровневой памяти

176

СПМ описывается следующей системой математических выражений:

{П, М}; ~ П = {А, 2, к,к};М = ^ к(г), Л}.

А = {а0(а> а1(а> ..., а}(а)-, ..., аУ(а)}; 1 = {z0(z), ..., 2}(£)

1 ... 1 ... 11 0(а) (1 0 ... 0

1 " " "

(1)

к

0

10

0

0

0

0

1(а) 7(а);

к

01

00

0

1

.0 .0

.0

Ч1 0 ... 0 ... 0) У (а) [ 0 0 ... 0 ... 1у

где а0(й)- позиция, моделирующая генератор потока заявок на обслуживание; {а1(а), ..., а7(а), ..., аЛ(а)} - подмножество позиций, каждая из которых моделирует доступ к информации на 7(а)-м уровне хранения; {г^, ..., 1/(2), ..., 1д2)} - подмножество примитивных переходов; г^-непримитивный переход, синхронизирующий работу процессора и иерархических уровней памяти.

Пусть на7(а)-м уровне хранится информация объемом У7(а) и

У (а)

I У7 (а) = УЪ . (2)

,/'(а )=1(а)

Будем в первом приближении считать, что вся информация является равномерно-релевантной. Это, в свою очередь, означает, что вероятности (частоты) заявок каждой единицы информации одинаковы, а вероятность обращения процессора на 7(а)-й уровень хранения определяется по зависимости:

Р7 (а)

= У7(а) .

У

Ъ

У (а)

( I ( ) Р7(а) =1.

7 (а )=1(а)

(3)

Если объем хранения на 7(а)-м уровне ограничен величиной У(а)тах, то и вероятности обращения на указанный уровень ограничены величинами

У7

Р 7 ( а )тах

7 (а)тах

У

Ъ

У (а)

I Р7(а)тах ^ 1. ] (а )=1(а)

(4)

Очевидно, что для равномерно-релевантной информации случай, У (а)

когда I Р7 (а)тах = 1, не представляет интереса, поскольку является

7(а)=1(а)

тривиальным.

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

уровне определяется в виде Т з (а) =-. Если предположить, что процес-

Л т з (а)

сор формирует в многоуровневую память равномерный поток заявок с плотностью 1ехр[-1/], то полумарковская матрица будет иметь вид

Н($ ) =

01

1 1

У1(а) У1(а) У1(а)

Уг . .. Уг ' " Уг

0 0. .. 0

0 . .. 0 . .. 0

0 . .. 0 . .. 0

%

%

0 т1(а) ехР[-т1(а )?

о

1 ехр(-1?) 1 ехр(-1?) 1 ехр(-1?)

0 0

т 3 (а) ехР[-т з (а)? I)

о

0 0

(5)

где %- знак прямого произведения.

Матрица логических условий может быть представлена в виде

' 3 (а) ^

V

з(а) = 1(а) , V

(а0(а), ^^ ... 0

Л

г(а), 20(г

0

0

0

0 0

0

(

а0(а), (

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

0 0

, (6)

ч 0 0 ... 0 ... (а0(а),

где (а з (а), (2)) означает, что соответствующий полушаг выполнен.

В оптимизационной задаче варьируемыми параметрами являются объемы хранения данных У3(а) на соответствующем уровне. Критерий качества имеет вид

V

3 (а)

I

1

где

т з (а )Уг

3 (а )=1(а )т 3 (а )УЕ > 0 - постоянные коэффициенты

У] (а)® т1П:

На объемы хранения наложены ограничения

178

2

1

0 <У1Ха)<У1Ха)тах. (8)

Кроме того, в оптимизационной задаче существует естественное ограничение вида (2).

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

Без нарушения общности рассуждений будем считать, что каждый следующий уровень хранения имеет больший, или равный, по сравнению с предыдущим уровнем, объем и меньшую, или равную плотность потока обслуживаний, т.е.

Уца)< ... <У;(а)< ... <У}(а), А(а)^ ... ^МКа)^ ... ^Д/(а). (9) Условие (9) выполняется, если, например информация распределена по уровням: кэш, оперативной памяти, жесткого диска модуля, решающего одну из конкретных задач в тренажере, жесткого диска файл-сервера тренажера, жесткого диска файл-сервера инструктора.

Предположим, что решением задачи является точка границы

1(a)max-

<

<V

/(a)max'

<

<V

[J(a)-1]max

. Тогда критерий качества (7) может быть

представлен в виде

J Vj (a)

a) max

j(a)=l(a) mj(a)VS

= J (Z-1 л

j (a )=l(a) Vs

+

1

a) max

m J (a) Г

1

1 - J (a) 1 Vj(a) max

V

j (a )=1(a) Л

1

m j (a) m J (a)

+

Vs 1

(10)

m J (a)

В (10)

1

1

< 0, а значение Vj(a) может изменяться от Vj'

j(a)max

m j (a) m J (a)

только в сторону уменьшения. Таким образом, любое изменение V'(a), 1(a) <j(a) <J(a) - 1 может только увеличить среднее время доступа к программам, а следовательно, решение

J (a )-1

V1(a)mаx, ..., Vj(a)max, ... VS - Z Vj(a)max (11)

j(a)=1(a)

является оптимальным.

Пусть информация, распределяемая по уровням памяти, не является равномерно-релевантной. В этом случае она может быть разделена на кластеры равного объема v, внутри которых вероятности (частоты) заявок каждой единицы информации приблизительно одинаковы. Предположим, что V(a)max и VS делятся на v нацело, без остатков, и что

Vj (a)

a) max

K [j (a)];

(12)

^ = (13)

V

Считая, что релевантность всего массива оценивается в 1, релевантность к-то кластера будем оценивать величиной гк. Для релевантностей выполняется соотношение

Ьк = 1- (14)

к=1

Тогда критерий качества будет иметь вид

т( \ У ^гк

• л«

<; = X - -> шш , (15)

ЛаЩа) ЫаУ* &(*)]

где g[j{cl)]- выборка кластеров, помещенных нау(а)-й уровень хранения.

На объемы размещаемой информации накладываются ограничения (8, 12), а естественные ограничения принимают вид (13). Задача относится к области дискретного программирования и может быть решена с помощью метода ветвей и границ, однако может быть получено и аналитическое решение задачи.

Перенумеруем кластеры по возрастанию релевантности, введя номер кластера к, 1 <к<К. В соответствии с уровнями может быть сформирована гистограмма релевантности, вид которой приведен на рис. 2. В гистограмме г 1< ... <гк< ... <гК.

Гк

ил

1 ... к ... К

Рис. 2. Гистограмма релевантности

Определим кластеры с номерами К[)(а) - 1] + 1 <к<КУ(а)] упорядоченной гистограммы на у(я)-й уровень хранения. Тогда критерий качества (14)

кЬЫ к

п \ 1 У У £п

^[/(«НЫ , к=К[4аЩ

У(а)=1{а)

Физический смысл оптимального решения (7) заключается в том, что величины весов при значениях У/(а)тах, 1(а) </(а) </(а) - 1, не убывают при возрастании/(а). Это правило выполняется и для (16).

Поменяем в (16) любые два кластера местами, например кластер с номером к[/(а)] с уровня хранения /(а) переместим на место кластера 1[т(а)] уровня хранения т(а), а кластер 1[т(а)] с уровня хранения т(а) переместим на место кластера к[/(а)] с уровнем хранения /(а), 1(а) <т(а) </(а), т(а) >/(а), Мт(а)<М,Ха), К[/(а) - 1] + 1 </)] <К[/(а)], К[т(а) - 1] + 1 <&[т(а)] <К[т(а)]. Отметим, что гт(а)<г/(а). Поскольку все кластеры, кроме исследуемых, остаются на своих местах, изменение функции качества может быть определено по зависимости:

Аг = —

V

х

1

т/(а)

Аг

V

X

Гт(а)- г/(а

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Аг

1

т т(а)

уА^А

(г/ (а) -

гт(а

(17)

г^ т

Ът / (а )т т(а)

> 0,

т / (а) т т(а)

где Аг = гт(а) - г/(а) < 0; Ат = Vт(а) - т/(а) < 0 .

Таким образом, любая смена размещения кластеров по уровням памяти, по сравнению с размещением (16) приводит к увеличению среднего времени доступа к данным.

Отметим, что в решении (16) сдвиг кластеров в сторону нижних уровней иерархии памяти (на единицу влево) невозможен, так как все нижние уровни заполнены данными. Сместим кластеры, начиная с кластера с номером к[/(а)], на одну позицию в сторону верхних уровней иерархии памяти (на единицу вправо). При этом с уровня /(а) будет изъят кластер с номером К[/(а)]. На уровнях с /(а) + 1 по Да) - 1 кластеры с 1[/(а) + 1] по К[/(а) + 1] - 1 останутся на месте, но будет добавлен кластер К[/(а)] и изъят кластер К[/(а) + 1]. На уровень К[/(а)] будет добавлен кластер К[/(а) - 1]. Изменение функции качества определится следующей зависимостью:

V

/ (а )-1

I гК[т(а)]

1

1

т т(а )+1 т т(а)

Ух т(а)=/(а)

=^ /(1-1 гК[т(ат(а) > о,

(18)

Ух т(а)=/(а) тт(а)тт (а )+1

где §т, т(а) = т да (а) - т т(а )+1 > 0 .

Таким образом, сдвиг кластеров на единицу вправо также увеличивает функцию качества, что и доказывает оптимальность решения (16).

Приведенные рассуждения и доказательства позволяют сформулировать две простых методики распределения данных по уровням хранения, примененных в вычислительной среде тренажерной системе.

V

V

Методика 1 распределения равномерно-релевантных данных.

При распределении равномерно-релевантных данных по уровням хранения должны первоначально заполняться уровни с меньшим временем доступа.

Методика 2 распределения неравномерно-релевантных данных.

При распределении неравномерно-релевантных данных по уровням хранения должны первоначально заполняться уровни с меньшим временем доступа данными, обладающими наибольшей релевантностью.

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

Список литературы

1. Ларкин Е.В., Привалов А.Н. Проектирование программного обеспечения вычислительной среды тренажерных систем. Тула: ТулГУ, 2010. 259 с.

2. Привалов А.Н. Применение унифицированных программных модулей при разработке тренажёрных систем// Программные продукты и системы. Тверь.2009. № 4. С. 92 - 98.

3. Привалов А.Н., ЛаркинЕ.В. Создание программного обеспечения тренажерных систем на основе унифицированных программных модулей // Вестник компьютерных и информационных технологий.2010.№ 4. С.75 - 82.

4. Питерсон Дж. Теория сетей Петри и моделирование систем. М.: Мир, 1984. 264 с.

Ларкин Евгений Васильевич, д-р техн. наук, проф., зав. кафедрой, elarkinamail.ru, Россия, Тула, Тульский государственный университет,

Привалов Александр Николаевич, д-р техн. наук, проф., _privalov. 6la mail.ru, Россия, Тула, Тульский государственный педагогический университет им. Л.Н. Толстого

ON THE PROBLEM OF DISTRIBUTION INFORMATION ON STORAGE LEVELS IN COMPUTING MODULE TRAINING SYSTEMS

E. V.Larkin, A.N.Privalov

The problem of sharing information on the multi-level memory hierarchies is formulated on the basis of the postulate of minimizing the period of inter-module interaction software computing environment simulation systems in terms of the theory of Petri - Markov nets. It is shown that the problem is a typical linear programming problem in which solutions, if they exist, are at the boundary of the domain of feasible solutions. Formulated two methods for distributing data storage levels applied in the computing environment, the simulator system.

Key words: simulation system, Petri - Markov nets software module.

Larkin EvgeniyVasilevich, doctor of technical sciences, professor, manager of department, elarkinamail. ru, Russia, Tula, Tula State University,

Privalov Aleksandr Nicolaevich, doctor of technical sciences, professor, privalov61 ai mail.ru, Russia, Tula, Tula State Pedagogical University named after L.N. Tolstoy

УДК 681.5 (519.95)

МОДЕЛИРОВАНИЕ ВЗАИМОДЕЙСТВИЯ В ВЫЧИСЛИТЕЛЬНОЙ СРЕДЕ ТРЕНАЖЁРНОЙ СИСТЕМЫ КАК СИСТЕМЕ МАССОВОГО ОБСЛУЖИВАНИЯ

А.Н. Привалов

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

Ключевые слова: тренажёрная система, элементарная подсеть Петри-Маркова, система массового обслуживания, автономный генератор заявок, полумарковский процесс, граф состояний.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.