интересно
Предыдущая | Содержание | Следующая

Особенности замкнутых моделей корпоративных информационных систем

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

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

пользователи (или группы пользователей, в зависимости от сложности моделируемой системы) представляются одно- или многоканальными узлами типа serv (серверы);

число каналов сервера соответствует числу пользователей, время обработки транзакта сервером соответствует времени подготовки пользователями запроса;

приписываемая транзакту роль запроса или ответа обозначается в одном из его параметров;

для зарядки транзактами серверов пользователей, принадлежащих к одному классу, используется единственный генератор, порождающий всего один транзакт. Далее транзакты размножаются с помощью узлов типа creat.

Ниже представлены варианты зарядки модели транзактами. 1. Зарядка одного многоканального сервера (рис. 4.6). Описание узлов имеет следующий вид:

Генератор (узел 1) в течение единицы модельного времени генерирует один транзакт, который попадает в узел creat (узел 2) в качестве порождающего. Узел 2 генерирует (порождает) семейство тран-зактов количеством Users (модельная константа - число пользователей) и с номером семейства 4 (номер узла, моделирующего работу пользователей). Порождающий транзакт погибает в терминаторе (узел 3). В этот же момент происходит перенастройка генератора (оператор cheg): интервал между генерацией транзактов устанавливается равным времени моделирования Modtime (это же время задано в modbeg). После этого генератор выключается, так как за время моделирования больше не успевает выпустить ни одного тран-закта.

Порожденные узлом creat транзакты попадают в узел serv (узел 4), моделирующий работу пользователей. Число каналов в нем равно числу вошедших в него транзактов (константа Users), а среднее время обслуживания транзакта равно среднему времени обдумывания пользователем запроса (модельная константа Think-time).

Далее - перед выходом транзакта из узла - ему присваивается начальная метка запрос (в параметр t—>iuO заносится модельная константа QUERY).

Таким образом, по графу модели начинает циркулировать столько запросов, сколько имеется пользователей. Адрес же возврата запроса можно определить по значению параметра t->ft номер семейства. В случае с одним сервером пользователей эта проблема не столь актуальна, тогда как в двух описанных далее случаях этот способ очень удобен.

2. Зарядка нескольких одноканальных серверов (рис.4.7). Описание узлов имеет следующий вид:

Отличие этой схемы от варианта 1 состоит в введении дополнительного узла queue (узел 4). Узел 2 creat генерирует Users транзак-тов (по числу пользователей), не присваивая им номер семейства. Далее эти транзакты попадают в очередь (узел 4), где каждому из них присваивается свой номер семейства, равный номеру сервера, в который этот транзакт поступит. Также в параметр транзакта t->ruO заносится среднее время задержки в сервере, моделирующем работу пользователя. Этот параметр используется при описании серверов пользователей (узлов с номерами из диапазона [5, Users + 4], где Users - число серверов).

3. Зарядка нескольких многоканальных серверов. Этот вариант (рис. 4.8) отличается от варианта 2 введением второго узла creat (узел 5). Он получает последовательно из очереди (узел 4) порождающие транзакты, уже обладающие необходимыми параметрами для каждого сервера, моделирующего работу группы пользователей {см. описание узла 4 в варианте 2). Эти транзакты становятся образцами для порождаемых семейств. Количество транзактов, генерируемых дополнительно для каждого сервера, равно числу моделируемых им пользователей минус 1, так как порождающий транзакт-образец тоже используется в качестве запроса и поступает в тот же сервер, что и порожденные.

В данном случае Users - это число групп пользователей. Описание второго узла creat имеет вид:

В операторе queue нужно также заменить параметр номер семейства t-*ft на номер 5, так как из очереди все транзакты идут в узел 5 creat. Для описания серверов число пользователей можно задать в некотором массиве, доступ к которому осуществляется через значение параметра транзакта номер семейства, равный номеру соответствующего сервера.

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

добавить в модель дополнительный узел key и с его помощью проводить замеры времени реакции;

получить с помощью модели средние времена пребывания транзактов во всех узлах имитационной модели КИС и использовать эти данные для расчета времени реакции;

использовать только среднее время подготовки конкретным пользователем запроса (или задания) для КИС, полученное с помощью модели, и загрузку узла serv, имитирующего этого пользователя.

Рассмотрим эти способы подробнее.

1. Через дополнительный узел key (рис. 4.9) транзакты не проходят; он служит только для измерений. Каждый пользователь имитируется одним сервером. Дополнительно каждому пользователю приписывается узел key. На рис. 4.9 показана работа одного пользователя. Транзакт - задание для КИС - предварительно проходит через key и запирает его. Далее, после обработки запроса, этот транзакт возвращается из модели КИС в этот же сервер, но при входе в узел serv он открывает key. В модели автоматически измеряется интервал закрытого состояния узла key и определяются математическое ожидание и среднеквадратичное отклонение.

Достоинство способа: измерения очень точные при большом числе транзактов. Недостаток: необходимо для каждого пользователя ввести в модель и описать дополнительный узел key, что усложняет модель.

Можно получить с помощью модели средние времена пребы вания транзактов во всех узлах имитационной модели КИС. Далее необходимо определить средние значения вероятностей переходов для всех узлов в модели (это несложно). Затем, используя нетради ционные методы теории стохастических сетей (см. главу 1), опреде лим среднее время пребывания транзакта в графе модели КИС.

Достоинство способа: применяется известная расчетная методика.

Недостатки: а) метод приближенный, так как вероятности могут меняться во времени; б) расчетная методика довольно сложная.

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

Рассмотрим временную диаграмму работы уникального пользователя с КИС (рис. 4.10). На достаточно длинном интервале времени моделирования tm происходит п обращений к КИС. Среднее время tu подготовки пользователем каждого задания КИС автоматически определяется по формуле

Загрузка р узла serv транзактом - это доля всего времени tm , которое тратится пользователем на подготовку каждого нового задания КИС, причем справедлива формула

Нетрудно заметить, что доля времени моделирования, в течение которого КИС обрабатывала п запросов, равна 1 - р. Поэтому справедливо соотношение

Разделим левую и правую части этого равенства на п и получим следующее выражение:

где tc - среднее время одного цикла запрос-ответ при выполнении всех л заданий пользователя:

Время цикла состоит из двух слагаемых: времени подготовки задания и времени обработки этого задания - времени реакции КИС. Поэтому запишем

где tr - искомое время реакции КИС.

В результате моделирования нам известны tu и р. В связи с вышеизложенным запишем систему уравнений

из которой получим время реакции КИС:

Достоинства способа: а) он имеет такую же высокую точность, как при работе с дополнительным узлом key; б) этот способ значительно проще, чем способы 1 и 2: действительно, расчет по формуле значительно проще, чем включение п дополнительных узлов key или решение системы из п нелинейных уравнений методом итераций.

Недостаток: не определяется среднеквадратичное отклонение.