К. Ю. Бабенко, А. Ю. Панченко
114
Системи збереження
і масового розповсюдження даних
ISSN 1560-9189 Реєстрація, зберігання і обробка даних, 2002, Т. 4, № 3 113
УДК 681.3
Институт кибернетики имени В.М. Глушкова НАН Украины
Моделирование системы мониторинга состояния оборудования глобальных сетей ЭВМ
К.Ю. Бабенко
А.Ю. Панченко
С точки зрения моделирования Система Мониторинга Состояния Оборудования (СМСО) глобальной территориально-распределенной сети ЭВМ представляет собой граф [1], в котором узлами являются подсистемы СМСО, а ребрами -- связи между подсистемами, отображающие передачу данных между подсистемами [2]. Каждая подсистема в этом графе имеет вход и несколько выходов, присоединенных к входам других подсистем. На вход каждой подсистемы подается поток сообщений для обработки. При этом каждой подсистемой используются ресурсы сервера исполнения.
При моделировании СМСО на вход каждой подсистемы подается информация о потоке сообщений, на основании которой каждая подсистема эмулирует использование ресурсов сервера исполнения и определяет потоки сообщений на ее выходах. В каждый момент времени может производиться запись в файл необходимых для дальнейшего анализа данных:
-- о загруженности сервера исполнения;
-- о загруженности сетевых соединений сервера исполнения;
-- о потоках сообщений на входах и/или выходах подсистем;
-- другой информации.
Таким образом входными параметрами модели СМСО являются данные о потоке сообщений и конфигурационные параметры модели, которые включают следующую информацию:
-- количество и имена подсистем;
-- взаимосвязи между подсистемами;
-- коэффициенты использования ресурсов сервера исполнения для каждой подсистемы;
-- количество и имена серверов исполнения;
-- имя сервера исполнения для каждой подсистемы.
Особенности реализации модели СМСО
При построении модели [3] СМСО использовалась методология имитационного моделирования [4, 5], имеющая целью:
-- описать поведение системы;
-- построить теории и гипотезы, которые могут объяснить наблюдаемое поведение;
-- использовать эти теории для предсказания будущего поведения и оценки (в рамках ограничений, накладываемых некоторым критерием или совокупностью критериев) различных стратегий, обеспечивающих функционирование данной системы.
Можно выделить два уровня дискретности СМСО: разбиение на подсистемы и разбиение на сервера исполнения. В модели СМСО присутствуют как сущность сервера исполнения, так и сущность подсистемы.
Построенная модель СМСО выдвигает гораздо меньшие требования по производительности к моделирующей системе, чем модель глобальной территориально-распределенной сети ЭВМ. Это связано с тем, что входные данные модели СМСО несут информацию лишь о количестве автономных сообщений в единицу времени, а значит, количество обрабатываемых данных не зависит от размера моделируемой сети.
В качестве языка программирования был выбран язык Java [6, 7]. Для хранения результатов моделирования и конфигурационных данных при моделировании сети использовался расширяемый язык разметки XML [8] и библиотека JAXP версии 1.0.1.
Выбор зависимостей производительности подсистем СМСО от входного потока сообщений
Для моделирования использования ресурсов сервера исполнения подсистемами СМСО рассмотрим процесс обработки потока сообщений с точки зрения использования ресурсов сервера исполнения. Имитационная модель СМСО строится в предположении, что моделируемая система исполняется на достаточно мощных серверах, и количество используемых ресурсов не превышает половины максимально возможных ресурсов, которые могут обеспечить серверы исполнения.
Учитывая, что все подсистемы на данном сервере исполнения имеют одина-ковый приоритет, использование ресурсов данного сервера равно сумме использования ресурсов каждой подсистемой в отдельности.
Описание исходного кода модели СМСО
Класс Model содержит точку входа в программу. В конструкторе класса про-исходит чтение конфигурационных данных модели СМСО, построение модели СМСО на основании прочитанных данных и моделирование работы СМСО на входном потоке сообщений.
Класс ParamReader предназначен для загрузки конфигурационных данных об архитектуре и подсистемах моделируемой СМСО в оперативную память ЭВМ из XML файла. Класс ParamReader поддерживает интерфейс программирования приложений DOM [8] для представления структуры XML.
Класс SubSystem является абстракцией подсистемы СМСО. При моделиро-вании создается несколько экземпляров класса SubSystem, каждый из которых со-ответствует одной из подсистем. В конструкторе класса задаются имя подсисте-мы, коэффициент использования ресурсов процессора этой подсистемой, связи с другими подсистемами и имя сервера исполнения.
Класс Server является абстракцией сервера исполнения. При моделировании создается несколько экземпляров этого класса, каждый из которых сответствует одному из серверов исполнения. Server моделирует использование ресурсов сер-веров исполнения.
Класс TrafficHandler служит для чтения данных о входном потоке сообще-ний. Этот класс является частью интерфейса XML. TrafficHandler поддерживает интерфейс программирования приложений SAX [8] для чтения и обработки ст-руктуры XML.
Результаты моделирования двух- и трехуровневой архитектуры «клиент-сервер» Системы Мониторинга Состояния
Оборудования глобальных сетей ЭВМ
Моделирование СМСО производилось для двух вариантов конфигурации СМСО: двухуровневой (классической) и трехуровневой клиент-серверной архи-тектур. Характерное количество клиентов СМСО 30-40 (до 100 клиентов), поэто-му каждая из архитектур рассматривалась в случаях с одним и 40 клиентами.
В случае двухуровневой архитектуры «клиент-сервер» на одном сервере выполняется подсистема взаимодействия с базой данных (сама база данных), а все остальные подсистемы выполняются на другом сервере. На рис. 1 схематически изображено разбиение подсистем СМСО между серверами исполнения в случае двухуровневой архитектуры «клиент-сервер» с одним клиентом. Сервер, на кото-ром исполняются все подсистемы СМСО кроме подсистемы взаимодействия с базой данных, обозначен как сервер приложения. Сервер, на котором исполняется подсистема взаимодействия с базой данных, обозначен как сервер базы данных. В роли клиента при двухуровневой архитектуре «клиент-сервер» выступает сервер приложения.
Рис. 1. Диаграмма разбиения подсистем СМСО между серверами исполнения в случае двухуровневой архитектуры «клиент-сервер».
В случае трехуровневой архитектуры «клиент-сервер» подсистема графического интерфейса пользователя (ГИП) выносится на дополнительный (третий) сервер исполнения. На рис. 2 схематически изображено разбиение подсистем СМСО между серверами исполнения в случае трехуровневой архитектуры «клиент-сервер» с одним клиентом. Сервер, на котором исполняются все подсистемы СМСО кроме подсистемы взаимодействия с базой данных и подсистемы ГИП, обозначен как сервер приложения. Серверы, на которых исполняются подсистема взаимодействия с базой данных и подсистема графического интерфейса пользователя, обозначены как сервер базы данных и ГИП соответственно. В роли клиента при трехуровневой архитектуре «клиент-сервер» выступает графический интерфейс пользователя.
Рис. 2. Диаграмма разбиения подсистем СМСО между серверами исполнения в случае трехуровневой архитектуры «клиент-сервер».
В качестве источника данных о среднем потоке автономных сообщений была выбрана модель сети с характерной конфигурацией:
-- количество сетевых элементов -- 200;
-- с каждым сетевым элементом соединено по одному шасси;
-- в каждом шасси в среднем по 20 сетевых карт;
-- каждая карта имеет в среднем 4 физических порта;
-- средние веса связей легкого типа между всеми типами узлов графа соот-ветственно 40, 30, 20, 10, 5 и 2 миллисекунд;
-- средний вес связей тяжелого типа -- 3000 миллисекунд;
-- сообщения посылают физические порты в среднем раз в 6 часов;
-- моделируемое время -- 24 часа.
При моделировании сети с такими конфигурационными параметрами была собрана следующая статистическая информация:
-- количество узлов графа -- 92427;
-- количество связей -- 209690;
-- количество сгенерированных сообщений -- 104287;
-- количество переданных сообщений -- 521324.
В результате моделирования сети была получена зависимость потока сооб-щений от времени. В данном случае имеет смысл рассматривать поток сообщений на временах больших двух периодов появления неисправностей в моделируемых узлах сети, то есть на временах больших 12 часов от начала моделирования. Это связано с тем, что в начальные два периода появления неисправностей сеть пере-ходит от состояния, при котором все узлы функционируют нормально, и поток сообщений равен нулю, в состояние, когда часть сетевых элементов выведены из строя, и поток сообщений изменяется только в определенных пределах, что яв-ляется свойством модели, а не реальной сети.
Относительная погрешность всех измерений составляет 10-15 % и обуслов-лена скачкообразностью потока входных сообщений и, следовательно, скачкооб-разностью использования ресурсов серверов исполнения.
Производилось моделирование двухуровневой и трехуровневой архитектур СМСО в случаях с одним клиентом и с характерным количеством клиентов. Па-раметрами модели СМСО во всех экспериментах были коэффициенты использо-вания ресурсов серверов исполнения для каждой подсистемы и зависимость пото-ка сообщений, полученная при моделировании характерной сети ЭВМ. В резуль-тате моделирования были получены зависимости (см. рис. 3-4) использования ре-сурсов серверов исполнения, выраженные в относительных единицах, от времени в минутах. На представленных рисунках кривые зависимостей использования ресурсов для различных серверов исполнения обозначены номерами: 1 -- сервер базы данных, 2 -- сервер приложения и 3 -- графический интерфейс пользовате-ля. В табл. 1-2 указаны установившиеся после переходных начальных процессов значения использования ресурсов серверов исполнения для всех экспериментов. распределенный сеть электронный язык
Рис. 3. Диаграмма разбиения подсистем СМСО между серверами исполнения в случае двухуровневой архитектуры «клиент-сервер».
Рис. 4. Зависимости использования ресурсов процессоров серверов исполнения, выраженные в относительных еденицах, от времени в минутах, полученные при моделировании двухуровневой (сверху) и трехуровневой (снизу) архитектуры СМСО с одним клиентом (слева) и с характерным количеством клиентов (справа).
Таблица 1. Использование ресурсов процессора серверов исполнения подсистемами СМСО.
|
Двухуровневая архитектура |
Трехуровневая архитектура |
||||
|
Один клиент |
40 клиентов |
Один клиент |
40 клиентов |
||
|
Сервер приложения |
230 |
240 |
200 |
200 |
|
|
Сервер базы данных |
16 |
650 |
16 |
16 |
|
|
ГИП |
- |
- |
33 |
32 |
Таблица 2. Использование ресурсов каналов связи серверов исполнения подсистемами СМСО.
|
Двухуровневая архитектура |
Трехуровневая архитектура |
||||
|
Один клиент |
40 клиентов |
Один клиент |
40 клиентов |
||
|
Сервер приложения |
30 |
30 |
27 |
27 |
|
|
Сервер базы данных |
20 |
800 |
20 |
145 |
|
|
ГИП |
- |
- |
3.3 |
3.3 |
Из табл.1 видно, что в случае двухуровневой архитектуры СМСО использование вычислительных ресурсов сервера базы данных прямо пропорционально количеству клиентов. В случае трехуровневой архитектуры СМСО использование вычислительных ресурсов сервера базы данных не зависит от количества клиентов.
Из табл. 2 видно, что в случае двухуровневой архитектуры СМСО использование ресурсов канала связи сервера базы данных прямо пропорционально количеству клиентов. В случае трехуровневой архитектуры СМСО использование ресурсов канала связи сервера базы данных с увеличением количества клиентов увеличивается в 5,5 раз медленнее. Использование ресурсов канала связи для сервера приложения и ГИП не зависит от количества клиентов.
Заключение