Scientific journal
International Journal of Experimental Education
ISSN 2618–7159
ИФ РИНЦ = 0,425

1 1 1
1
2661 KB

В статье рассматриваются проблемные вопросы, возникающие при исследовании имитационных моделей. Разработаны имитационные модели поступления пакетов на сервера в среде моделирования AnyLogic. Исследована эффективность работы серверов в зависимости от интенсивности поступающих пакетов. Проведено итоговое сравнение результатов эффективности серверов. Сделаны выводы, показывающие необходимость имитационного моделирования.

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

Имитационное моделирование [1–12, 17–20], по мнению авторов, может помочь решить такие вопросы. При моделировании существует возможность рассмотреть все виды решений тех или иных вопросов. В качестве примера можно рассмотреть имитационную модель работы серверов.

Процесс имитационного моделирования обрёл свою популярность в современном мире [1, 3, 5, 6–8]. Массовое развитие информационных технологий сделало резкий скачок в развитии компьютеров и упростило задачу построения сложных систем. Сейчас выбор стоит перед тем, в какой среде моделирования будет эффективнее и быстрее решить те или иные вопросы, возникающие у пользователей. Вопросы моделирования о том, как сделать систему наиболее эффективной, наиболее отказоустойчивой, надёжной, быстрой и другие факторы, влияющие на работу этой системы, остаются и по сей день и с каждым днём развиваются всё больше и больше. Поэтому актуальность имитационного моделирования в настоящее время не вызывает сомнения.

Системы имитационного моделирования. В ходе выполнения работы было проведено сравнение нескольких систем имитационного моделирования, которые представлены в табл. 1.

Для решения поставленной задачи была выбрана среда моделирования AnyLogic [6–8, 12, 15, 16, 20]. Каждая среда моделирования имеет свои плюсы и минусы [12, 15–20], но именно AnyLogic наиболее подходящая по разнообразию используемых в ней инструментов. Среда имеет простой и понятный для пользователя интерфейс. AnyLogic поддерживает проектирование, разработку, документирование модели, выполнение компьютерных экспериментов с моделью, включая различные виды анализа – от анализа чувствительности до оптимизации параметров модели [8, 13, 14].

Результаты моделирования работы серверов в компьютерных сетях. В процессе моделирования компьютерной сети были взяты за основу элементы палитры Enterprise Library, которая позволяет смоделировать систему массового обслуживания [8, 13, 14]. Изначально была построена одноканальная СМО, которая учитывает количество поступающих пакетов на сервер от клиентских машин. Происходит подсчёт обработанных пакетов и необработанных (потеря пакетов).

Значения данных объектов указаны в табл. 2.

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

Для построения диаграммы необходимы дополнительные объекты модели, которые представлены в табл. 3.

Работающая модель представлена на рис. 1.

После построения этой модели, была смоделирована двухканальная СМО, в которой используются 2 серверные машины для обработки пакетов.

Значения объектов указаны в табл. 4.

Таблица 3

Дополнительные объекты модели

Номер

Объект

Тип

Назначение

1

Procent

Функция

Функция, необходимая для подсчёта процентов

Java-код функции:

double procent;

if (source = 0)

procent = 0;

else

procent = exit/source*100;

return procent;

2

A

Динамическая

переменная

Динамическая переменная для подсчёта обработанных пакетов

Java-код переменной:

Procent(source.count(),sink.count())

3

B

Динамическая

переменная

Динамическая переменная для подсчёта потери пактов

Java-код переменной:

Procent(source.count(),sink1.count())

ob1.tif

Рис. 1. Одноканальная модель работы сервера

Таблица 4

Объекты двухканальной модели

Номер

Объект

Тип

Назначение

1

Intensity1

Переменная

Переменная, отвечающая за частоту поступления пакетов

2

Slider

Бегунок для ручного изменения значения переменной Intensity

3

source1

Интенсивность поступления пакетов

4

selectOutput

Распределение поступающих пакетов на серверы 1 и 2

5

queue1

Очередь пакетов при поступлении на сервер 1

6

delay1

Задержка на обработку пакетов на сервере 1

7

sink2

Успешно обработанные пакеты на сервере 1

8

sink4

Потеря пакетов на сервере 1

9

queue2

Очередь пакетов при поступлении на сервер 2

10

delay2

Задержка на обработку пакетов на сервере 2

11

sink3

Успешно обработанные пакеты на сервере 2

12

sink5

Потеря пакетов на сервере 2

Таблица 5

Дополнительные объекты модели

Номер

Объект

Тип

Назначение

1

Procent1

Функция

Функция, необходимая для подсчёта процентов

Java-код функции:

double procent;

if (source1 = 0)

procent = 0;

else

procent = (exit1+exit2)/source1*100;

return procent;

2

C

Динамическая переменная

Динамическая переменная для подсчёта успешно

обработанных пакетов на 1 и 2 сервере вместе

Java-код переменной:

Procent1(source1.count(),sink2.count(),sink3.count())

3

D

Динамическая переменная

Динамическая переменная для подсчёта потери пакетов

на 1 и 2 сервере вместе

Java-код переменной:

Procent1(source1.count(),sink4.count(),sink5.count())

ob2.tif

Рис. 2. Двухканальная модель работы серверов

Как и в первом случае, необходимо проанимировать процесс поступления пакетов на сервера и построить диаграмму. Данные, необходимые для построения диаграммы, представлены в табл. 5.

Работающая двухканальная модель представлена на рис. 2.

Для сравнения эффективности работы были объединены эти 2 модели, одноканальную и двухканальную и было прослежено общее количество поступивших пакетов, пакетов, которые были успешно обработаны и когда происходила потеря. На двух круговых диаграммах это чётко видно (рис. 1, 2).

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

Заключение. В ходе выполнения работы была сделана модель компьютерной сети обработки пакетов на сервере. Было произведено сравнение одноканальной сети (с одной серверной машиной) и двухканальной сети (с двумя серверными машинами), оценена эффективность работы этих сетей. Исходя из результатов проведённой работы, можно сделать выводы о необходимости имитационного моделирования.