Опубликован: 15.02.2013 | Уровень: для всех | Доступ: платный
Лекция 2:

Модель обработки запросов сервером

Интерпретация результатов решения прямой задачи

Для проведения исследований на модели сделайте ещё несколько дополнений и изменений.

  1. Из палитры Основная перетащите три элемента Параметр на диаграмму класса Main. Разместите их в один ряд с параметрами S1_, S2_ и др.
  2. В поле имя первого параметра введите timeMean - среднее время поступления запросов. Оставьте тип double.
  3. В поле Значение по умолчанию введите 120.
  4. Выделите объект source. В поле Время между прибытиями вместо 120.0 введите timeMean. Теперь вам при изменении среднего времени поступления запросов не придётся искать нужный код.
  5. Выделите второй элемент Параметр. В поле имя введите kolProg - количество прогонов модели. Оставьте тип double.
  6. В поле Значение по умолчанию введите 9604.
  7. Выделите объект sink.
  8. В поле Действие при входе в имеющемся там коде замените последнюю строку следующей:
    KolZap=round(sink.in.count()/kolProg);

    На рис. 1.59 количество обработанных запросов KolZap сервером выдаётся с дробной частью. Теперь, вследствие применения процедуры round, количество запросов будет целым (Рис. 1.60).

    Также при изменении количества запросов не надо буде искать код для требуемой корректировки. Однако всё-таки потребуется соответствующим образом изменить модельное время. Например, если потребуется выполнять с моделью 1000 прогонов, то модельное время следует установить равным 3600*1000=3600000. Для этого нужно в окне Проекты выделить Simulation и на странице Модельное время в поле Конечное время: ввести 3600000.

  9. Выделите третий элемент Параметр. В поле имя введите emkBuf - ёмкость в сообщениях входного буфера сервера. Установите тип int.
  10. В поле Значение по умолчанию введите 10.
  11. Выделите объект queue. В поле Вместимость введите emkBuf.

Проведём несколько экспериментов в AnyLogic и GPSS World.

Результаты моделирования при emkBuf = 10 сообщений

Рис. 1.60. Результаты моделирования при emkBuf = 10 сообщений

Будем изменять среднее время поступления запросов timeMean в предположении, что с течением времени количество источников запросов будет расти, то есть timeMean будет уменьшаться. В сторону увеличения будем изменять ёмкость входного буфера emkBuf и производительность Q_ сервера.

Результаты экспериментов - решения прямой задачи в GPSS World и AnyLogic приведены в Табл. 1.2. Из сравнительного анализа полученных результатов следует, что они или равны, или отличаются незначительно.

Разница между количеством обработанных сервером запросов составляет \triangle_1=|29,161-29,142|=0,019 в первом эксперименте, во втором и пятом \triangle_2=1 (после округления до целого), а среднее время обработки одного запроса - \triangle_3=0,190 … 0,556. Вероятности обработки запросов отличаются на \triangle_4=0,001 в трёх экспериментах, а в трёх равны. Коэффициенты использования (загрузки) серверов или равны или отличаются на \triangle_5=0,001 … 0,002.

Машинное время выполнения модели в GPSS World составляет около 30 с, а в AnyLogic примерно 120 с.

Таблица 1.2.
Показатели GPSS World AnyLogic
timeMean = 120, emkBuf = 5
Количество обработанных запросов 29,161 29,142
Вероятность обработки запросов 0,97 0,971
Среднее время обработки одного запроса 255,262 254,942
Коэффициент использования сервера 0,81 0,81
timeMean = 120, emkBuf = 10
Количество обработанных запросов 29 30
Вероятность обработки запросов 0,995 0,995
Среднее время обработки одного запроса 328,328 321,54
Коэффициент использования сервера 0,833 0,831
timeMean = 40, emkBuf = 5
Количество обработанных запросов 36 36
Вероятность обработки запросов 0,4 0,399
Среднее время обработки одного запроса 555,385 555,166
Коэффициент использования сервера 1 1
timeMean = 40, emkBuf = 10
Количество обработанных запросов 36 36
Вероятность обработки запросов 0,399 0,399
Среднее время обработки одного запроса 1055,335 1055,108
Коэффициент использования сервера 1 1
timeMean = 40, emkBuf = 10, Q_ = 1000000
Количество обработанных запросов 59 60
Вероятность обработки запросов 0,666 0,665
Среднее время обработки одного запроса 591,86 591,304
Коэффициент использования сервера 1 1
timeMean = 40, emkBuf = 15, Q_ = 2000000
Количество обработанных запросов 90 90
Вероятность обработки запросов 1 1
Среднее время обработки одного запроса 74,859 75,049
Коэффициент использования сервера 0,751 0,75
Алексей Гроссман
Алексей Гроссман

Здравствуйте, прошел курс "Концептуальное проектирование систем в AnyLogic и GPSS World". Можно ли получить по нему сертификат? У нас в институте требуют сертификаты для создания портфолио.

Елена Блинаева
Елена Блинаева