1. Введение
Этап проектирования является на сегодняшний день наиболее важным в процессе создания распределенной системы обработки данных (РСОД). Решения, принимаемые на данном этапе, влияют на все последующие этапы, а ошибки, допущенные в самом начале разработки, приводят к необходимости перепроектирования большого числа компонентов информационной системы (ИС). А это влечёт за собой существенное увеличение стоимости, нарушение сроков разработки и потерю качества проектируемой ИС [1,3].
На сегодняшний день процесс создания ИС включает в себя следующие этапы:
По оценкам из разных источников трудоёмкость этапа проектирования должна составлять более половины всего объёма работ. Это позволяет строить более качественные системы, снизить общую стоимость разработки и заканчивать проекты в предполагаемые сроки.
Для принятия правильных решений на этапе проектирования разработчику очень часто приходится сравнивать различные варианты построения РСОД, оценивать их и выбирать наиболее приемлемые. Для оценки принимаемых решений могут использоваться различные характеристики: стоимостные, временные, качественные, надёжностные.
Очевидно, что оценка характеристик производительности является непростой задачей, т.к. на стадии проектирования очень сложно рассчитать, промоделировать и тем более измерить временные показатели разрабатываемой РСОД, а также оценить вклад отдельных составляющих. Это особенно относится к комплексным проектам, включающим в себя огромное количество различных компонентов.
Для анализа производительности РСОД на сегодняшний день используются, в основном, такие математические модели, как системы массового обслуживания (СМО) [2,9,10]. Однако СМО обладает рядом недостатков: модели сложны в описании и применении, не всегда позволяют получать нужные результаты при анализе РСОД, для них трудно подготовить исходные данные.
На кафедре "Системы обработки информации и управления" МГТУ им. Н.Э. Баумана разработан метод, а также комплекс инструментальных средств проектировщика (КИСП) для анализа характеристик производительности РСОД [1]. Данный метод обладает рядом преимуществ по сравнению с СМО. Использование КИСП позволяет еще на стадии проектирования получить характеристики производительности будущей РСОД, не прибегая при этом к сложным тестам и экспериментам.
2. Сравнение методов оценки характеристик производительности РСОД
Методы оценки производительности РСОД (СМО и метод, принятый в КИСП) имеют преимущества и недостатки, поэтому выбор метода зависит от конкретной области его применения. Для оценки методов и выбора наиболее подходящего для анализа характеристик производительности РСОД на этапе проектирования предлагаются следующие критерии сравнения:
В табл. 1 приведены оценки критериев (по пяти бальной шкале) для рассматриваемых моделей. Для того, чтобы оценить эти модели по каждому из описанных выше критериев качества, был проведен опрос экспертов. Опрос проводился на кафедре ИУ5 МГТУ им. Н. Э. Баумана. В результате данного опроса были получены средние оценки для каждого метода по каждому из критериев.
Таблица. 1. Оценки аналогов
Критерий |
Оценка методов |
|
Модель в КИСП |
СМО |
|
Доступность исходных данных модели | 4+ |
2 |
Расчет в нечетких числах | 4 |
0 |
Описание состава запросов и их взаимосвязи | 5 |
0 |
Расчет времени выполнения запроса в узле | 4 |
0 |
Вывод аналитический зависимостей | 0 |
5 |
По результатам опроса можно сделать вывод, что метод, принятый в КИСП, имеет наилучшую интегральную оценку, т.е. наиболее подходит для проведения анализа РСОД.
3. Описание в КИСП модели ИС на основе РСОД
Для описания модели ИС в КИСП необходимо выполнить несколько этапов. На этих этапах производится описание программных и аппаратных средств, архитектуры ИС, структуры базы данных и параметров ее наполнения, а также приложений (запросов, транзакций, взаимосвязей между ними и частот обращений к транзакциям из узлов). Описание модели ИС затем используется для проведения моделирования и получения характеристик системы и ее отдельных компонентов.
3.1. Описание схемы базы данных
Описание схемы базы данных включает в себя описание предметной области проектируемой ИС, тезауруса (понятий или, другими словами, реквизитов), таблиц и их атрибутов.
При описании таблиц указывается статистика (существующая или планируемая) по таблицам и их атрибутам. Статистика может быть задана в виде нечетких чисел, позволяющих описать значения с помощью функций принадлежности. В КИСП нечеткое число описывается с помощью трапеции {(N1,0),(N2,1),(N3,1),(N4,0)}, здесь каждая пара (x, y) представляет собой число (x) и степень принадлежности (y).
На рис. 1 изображена диаграмма потоков данных (ДПД) для подсистемы КИСП описания концептуальной схемы базы данных проектируемой ИС.
1. Описание концептуальной схемы БД проектируемой ИС
3.2. Описание запросов и транзакций
Описание включает в себя данные о транзакциях, составе транзакций, запросах, таблицах базы данных, таблицах, с которыми связаны запросы. Диаграмма потоков данных процесса описания запросов и транзакций представлена на рис.
2.
2. Описание запросов и транзакций
Запросы в ИС в большинстве случаев написаны на непроцедурном языке запросов SQL. Для описания запросов в КИСП применяется язык исчисления с переменными на доменах QBE (Query By Example). QBE не требует навыков в программировании, а SQL-операторы могут быть легко переведены на QBE и описаны в КИСП.
3.3. Описание характеристик серверов и клиентов
Описание характеристик сервера включает в себя описание параметров аппаратного обеспечения, программного обеспечения (ОС, СУБД и др.). Серверная часть в тестах TPC-C [4,5,6,7,8] связана с характеристиками клиентов. Поэтому на ДПД, изображенной на рис. 3, показана также часть, отвечающая за описание характеристик клиента.
В качестве характеристик аппаратного обеспечения серверной части указываются стоимость, тип и число процессоров, объём основной памяти, число контроллеров и дисков внешней памяти, размер блока диска, а также объем внешней памяти и экспериментальной БД. В качестве характеристик общесистемных программных средств сервера определяются стоимость, количество копий ОС и СУБД сервера.
В качестве характеристик аппаратного обеспечения клиентской части указываются стоимость, тип и число процессоров, объём основной памяти, число контроллеров дисков. В качестве общесистемных программных средств описываются ОС и монитор транзакций (например, TUXEDO, Jaguar и др.).
3.4. Описание архитектуры проектируемой ИС
Описание архитектуры проектируемой ИС включает в себя описание узлов сети, сетей и взаимосвязи между ними. ДПД процесса описания архитектуры представлена на рис. 4.
КИСП автоматически рассчитывает маршруты (виртуальные каналы) передачи данных между каждой парой узлов ИС, однако, маршруты могут быть также изменены вручную. В КИСП задаются параметры пакетов и кадров, передаваемых по каналу, что позволяет учесть влияние заголовков на реальную производительность сети, а также проанализировать эффект "туннелирования" пакетов при их прохождении через разнородные сети (Ethernet, FDDI, X.25, Frame Relay, ATM и т.д.).
3.5. Описание распределения таблиц БД и транзакций
Описание распределения по узлам таблиц БД и транзакций позволяет описать взаимосвязь узлов и таблиц. ДПД процесса задания этих параметров в КИСП приведена на рис.
5.Для каждой транзакции задается свой узел-сервер. На этом сервере КИСП выполняет декомпозицию запроса транзакции на подзапросы, моделирует их параллельную обработку и соединение результатов выполнения подзапросов. В том случае, если необходимая таблица не хранится на указанном узле-сервере, то запрос будет выполнен на ближайшем сервере, где есть эта таблица.
КИСП позволяет описывать размещение (дублирование) таблиц на разных узлах. Это позволяет описывать ИС с механизмами репликации (тиражирования) данных между территориально-распределенными филиалами.
3.6. Описание обращений к транзакциям из узлов
Описание обращений к транзакциям из узлов позволяет определить узлы, из которых производится обращение к транзакциям, интенсивности обращений к каждой транзакции из каждого такого узла (в отличии от СМО, где необходимо задать единую усредненную частоту обращения).
3.7. Описание обращения к транзакциям из транзакций
Описание обращений к транзакциям из транзакций позволяет описать взаимосвязь между различными транзакциями. Это позволяет описывать, например, методы объектов в
CORBA и COM (DCOM) архитектурах, где метод одного объекта может обратиться к методу другого объекта, а также описывать обращение к хранимым процедурам (Stored Procedures) в базах данных ИС.3.8. Справочник конфигураций сетей
Справочник конфигурации сетей позволяет описывать различные варианты сетей, например, 10
BaseT, 10Base2, 100BaseTX и т. п.4. Пример использования КИСП для исследования ИС "СКЛАД"
ИС "СКЛАД" – это распределенная автоматизированная система учета и анализа товарооборота. ИС "СКЛАД" в настоящий момент эксплуатируется в нескольких крупных торговых компаниях г. Москвы. В связи с постоянно изменяющимися требованиями бизнеса отдельные составляющие ИС довольно часто корректируются и дополняются. Очевидно, что для принятия решений по изменению ИС в кратчайшие сроки необходимо использовать специальные методики поддержки принятия решений и, в частности, методики анализа характеристик производительности. Для анализа характеристик ИС
"СКЛАД" и поиска путей оптимизации был выбран КИСП анализа характеристик производительности РСОД.Для проведения моделирования, ИС "СКЛАД" была описана в КИСП, в частности, было проведено описание схемы БД, транзакций и запросов к БД, архитектуры системы, характеристик серверов и клиентов и т.д.
В качестве путей оптимизации ИС "СКЛАД" были рассмотрены два варианта: переход с сети 10 Мбит на сеть 100 Мбит и оптимизация критичных для ИС транзакций. Моделирование и анализ полученных результатов позволили сделать следующие выводы:
На основании полученных результатов, сделан вывод о том, что переход с сети 10 Мбит на сеть 100 Мбит нецелесообразен, т.к. оптимизация критичных транзакций в ИС дает наилучшие результаты при наименьших затратах.
Таким образом, использование КИСП позволило уже на стадии принятия решения проверить эффективность различных альтернатив и сделать оптимальный выбор.
Применение метода анализа характеристик производительности, который используется в КИСП, позволяет проводить детальный анализ ИС, построенных на основе РСОД. Он может быть использован для выявления узких мест не только в архитектуре системы (например, в сетевом оборудовании), но и узкие места в прикладном программном обеспечении (запросы и транзакции). Метод, используемый в КИСП, также позволяет проводить исследования характеристик производительности на этапе проектирования без использования прототипов или "пилотных" вариантов.
© Aleksey Burdakov, 1999-2000