Особенности замкнутых моделей информационных систем
Под замкнутой моделью корпоративной информационной системы (КИС) будем понимать модель системы, работающей в режиме «запрос-ответ», в которой транзакты, единожды сгенерированные, циркулируют в пределах графа модели, не погибая в терминаторах. Например, это может быть работа группы пользователей с компьютерной сетью в диалоговом режиме. Транзакт - это запрос пользователя. Выйдя из генератора, транзакт проходит по графу модели и постепенно, по мере работы КИС, превращается в ответ и возвращается к пользователю, после чего вновь начинает играть роль запроса того же пользователя.
Моделировать новый запрос новым сгенерированным транзактом не представляется возможным, так как нельзя рассчитать заранее время обработки запроса системой (это случайная величина) и, следовательно, нельзя задать частоту генератора. В данном случае модель может быть построена следующим образом:
• пользователи (или группы пользователей, в зависимости от сложности моделируемой системы) представляются одно- или многоканальными узлами типа serv (серверы);
• число каналов сервера соответствует числу пользователей, время обработки транзакта сервером соответствует времени подготовки пользователями запроса;
• приписываемая транзакту роль запроса или ответа обозначается в одном из его параметров;
• для зарядки транзактами серверов пользователей, принадлежащих к одному классу, используется единственный генератор, порождающий всего один транзакт. Далее транзакты размножаются с помощью узлов типа creat.
Ниже представлены варианты зарядки модели транзактами.
1. Зарядка одного многоканального сервера (рис. 16.1).
Рис. 16.1. Модель корпоративной системы с одним многоканальным сервером
для моделирования поведения клиентов
Генератор (узел 1) в течение единицы модельного времени генерирует один транзакт, который попадает в узел creat (узел 2) в качестве порождающего. Узел 2 генерирует (порождает) семейство транзактов количеством Users (модельная константа - число пользователей) и с номером семейства 4 (номер узла, моделирующего работу пользователей). Порождаю1Щ1й транзакт погибает в терминаторе (узел 3). В этот же момент происходит перенастройка генератора (оператор cheg): интервал между генерацией транзактов устанавливается равным времени моделирования Modtime (это же время задано в modbeg). После этого генератор «выключается», так как за время моделирования больше не успевает выпустить ни одного транзакта.
Порожденные узлом creat транзакты попадают в узел serv (узел 4), моделирующий работу пользователей. Число каналов в нем равно числу вошедших в него транзактов (константа Users), а среднее время обслуживания транзакта равно среднему времени обдумывания пользователем запроса (модельная константа Think-time).
Далее - перед выходом транзакта из узла - ему присваивается начальная метка <запрос» (в параметр t->iuO заносится модельная константа QUERY).
Таким образом, по графу модели начинает циркулировать столько запросов, сколько имеется пользователей. Адрес же возврата запроса можно определить по значению параметра t->ft «номер семейства ». В случае с одним сервером пользователей эта проблема не столь актуальна, тогда как в двух описанных далее случаях этот способ очень удобен.
2. Зарядка нескольких одноканальных серверов (рис.4.7). Описание узлов имеет следующий вид:
Рис. 4.7. Модель корпоративной системы с несколькими одноканальными
серверами для моделирования поведения клиентов: N = Users + 4
Отличие этой схемы от варианта 1 состоит в введении дополнительного узла queue (узел 4). Узел 2 creat генерирует Users транзактов (по числу пользователей), не присваивая им номер семейства. Далее эти транзакты попадают в очередь (узел 4), где каждому из них присваивается свой номер семейства, равный номеру сервера, в который этот транзакт поступит. Также в параметр транзакта t->ru0 заносится среднее время задержки в сервере, моделирующем работу пользователя. Этот параметр используется при описании серверов пользователей (узлов с номерами из диапазона [5, Users + 4], где Users - число серверов).
3. Зарядка нескольких многоканальных серверов. Этот вариант (рис. 4.8) отличается от варианта 2 введением второго узла creat (узел 5). Он получает последовательно из очереди (узел 4) порождающие транзакты, уже обладающие необходимьпйи параметрами для каждого сервера, моделирующего работу группы пользователей {см. описание узла 4 в варианте 2). Эти транзакты становятся образцами для порождаемых семейств. Количество транзактов, генерируемых дополнительно для каждого сервера, равно числу моделируемых
им пользователей минус 1, так как порождающий транзакт-образец тоже используется в качестве запроса и поступает в тот же сервер, что и порожденные.
Рис. 4.8. Модель корпоративной системы с несколькими многоканальными серверами
для моделирования поведения клиентов: N= Users + 5
В данном случае Users - это число групп пользователей.
В операторе queue нужно также заменить параметр «номер семейства » t->ft на номер 5, так как из очереди все транзакты идут в узел 5 creat. Для описания серверов число пользователей можно задать в некотором массиве, доступ к которому осуществляется через значение параметра транзакта «номер семейства», равный номеру соответствующего сервера.
Далее рассмотрим возможности определения времени ответа на запрос в КИС. При моделировании работы корпоративных информационных систем может быть поставлен вопрос, сколько времени в среднем тратит система на обработку одного запроса пользователя. Существуют три способа решения этой задачи:
1) добавить в модель дополнительный узел key и с его помощью проводить замеры времени реакции;
2) получить с помощью модели средние времена пребывания транзактов во всех узлах имитационной модели КИС и использовать эти данные для расчета времени реакции;
3) использовать только среднее время подготовки конкретным пользователем запроса (или задания) для КИС, полученное с помощью модели, и загрузку узла serv, имитирующего этого пользователя.
Рассмотрим эти способы подробнее.
1. Через дополнительный узел key (рис. 4.9) транзакты не проходят; он служит только для измерений. Каждый пользователь имитируется одним сервером. Дополнительно каждому пользователю приписывается узел key. На рис. 4.9 показана работа одного пользователя.
Рис 4.9. Пример измерения среднего времени реакции системы с помощью дополнительного узла key
Транзакт - задание для КИС - предварительно проходит через key и запирает его. Далее, после обработки запроса, этот транзакт возвращается из модели КИС в этот же сервер, но при входе в узел serv он открывает key. В модели автоматически измеряется интервал закрытого состояния узла key и определяются математическое ожидание и среднеквадратичное отклонение.
Достоинство способа: измерения очень точные при большом числе транзактов. Недостаток: необходимо для каждого пользователя ввести в модель и описать дополнительный узел key, что усложняет модель.
2. Можно получить с помощью модели средние времена пребывания транзактов во всех узлах имитационной модели КИС. Далее необходимо определить средние значения вероятностей переходов для всех узлов в модели (это несложно). Затем, используя нетрадиционные методы теории стохастических сетей (см. главу 1), определим среднее время пребывания транзакта в графе модели КИС.
Достоинство способа: применяется известная расчетная методика.
Недостатки: а) метод приближенный, так как вероятности могут меняться во времени; б) расчетная методика довольно сложная.
3. Среднее время подготовки конкретным пользователем запроса (или задания) для КИС и загрузка соответствующего узла serv, имитирующего этого пользователя, определяются в модели автоматически. Причем эти измерения всегда точны: и в случае моделирования группы типовых пользователей одним многоканальным узлом serv, и в случае моделирования каждого уникального пользователя отдельным одноканальным узлом serv. Далее опишем способ измерения времени реакции КИС подробнее.
Рассмотрим временную диаграмму работы уникального пользователя с КИС (рис. 4.10).
Рис. 4.10. Временная диаграмма работы пользователя и системы
На достаточно длинном интервале времени моделирования t„ происходит п обращений к КИС. Среднее время tи подготовки пользователем каждого задания КИС автоматически определяется по формуле
Загрузка р узла serv транзактом - это доля всего времени tm , которое тратится пользователем на подготовку каждого нового задания КИС, причем справедлива формула
Нетрудно заметить, что доля времени моделирования, в течение которого КИС обрабатывала п запросов, равна 1 - р. Поэтому справедливо соотношение
Разделим левую и правую части этого равенства на и и получим следующее выражение:
где tc - среднее время одного цикла «запрос-ответ» при выполнении всех и заданий пользователя:
Время цикла состоит из двух слагаемых: времени подготовки задания
и времени обработки этого задания - времени реакции КИС.
Поэтому запишем
где tr - искомое время реакции КИС
В результате моделирования нам известны tм и р. В связи с вышеизложенным запишем систему уравнений
ИЗ которой получим время реакции КИС:
Достоинства способа: а) он имеет такую же высокую точность, как при работе с дополнительным узлом key; б) этот способ значительно проще, чем способы 1 и 2: действительно, расчет по формуле значительно проще, чем включение и дополнительных узлов key или решение системы из п нелинейных уравнений методом итераций.
Недостаток: не определяется среднеквадратичное отклонение.
Дата добавления: 2015-08-21; просмотров: 1131;