Анализ характеристик производительности
распределенных систем обработки данных

д.т.н., проф. МГТУ им. Н.Э. Баумана, Григорьев Ю.А.
Бурдаков А.В.

Оглавление

1. Введение
2. Сравнение методов оценки характеристик производительности РСОД
3. Описание в КИСП модели ИС на основе РСОД
3.1. Описание схемы базы данных
3.2. Описание запросов и транзакций
3.3. Описание характеристик серверов и клиентов
3.4. Описание архитектуры проектируемой ИС
3.5. Описание распределения таблиц БД и транзакций
3.6. Описание обращений к транзакциям из узлов
3.7. Описание обращения к транзакциям из транзакций
3.8. Справочник конфигураций сетей
4. Пример использования КИСП для исследования ИС "СКЛАД"
5. Заключение
СПИСОК ЛИТЕРАТУРЫ

 

1. Введение

Этап проектирования является на сегодняшний день наиболее важным в процессе создания распределенной системы обработки данных (РСОД). Решения, принимаемые на данном этапе, влияют на все последующие этапы, а ошибки, допущенные в самом начале разработки, приводят к необходимости перепроектирования большого числа компонентов информационной системы (ИС). А это влечёт за собой существенное увеличение стоимости, нарушение сроков разработки и потерю качества проектируемой ИС [1,3].

На сегодняшний день процесс создания ИС включает в себя следующие этапы:

 

  1. выявление информационных потребностей конечных пользователей,
  2. концептуальное проектирование,
  3. разработку архитектуры РСОД,
  4. логическое проектирование,
  5. тестирование прикладных программ,
  6. сопровождение.

 

По оценкам из разных источников трудоёмкость этапа проектирования должна составлять более половины всего объёма работ. Это позволяет строить более качественные системы, снизить общую стоимость разработки и заканчивать проекты в предполагаемые сроки.

Для принятия правильных решений на этапе проектирования разработчику очень часто приходится сравнивать различные варианты построения РСОД, оценивать их и выбирать наиболее приемлемые. Для оценки принимаемых решений могут использоваться различные характеристики: стоимостные, временные, качественные, надёжностные.

Очевидно, что оценка характеристик производительности является непростой задачей, т.к. на стадии проектирования очень сложно рассчитать, промоделировать и тем более измерить временные показатели разрабатываемой РСОД, а также оценить вклад отдельных составляющих. Это особенно относится к комплексным проектам, включающим в себя огромное количество различных компонентов.

Для анализа производительности РСОД на сегодняшний день используются, в основном, такие математические модели, как системы массового обслуживания (СМО) [2,9,10]. Однако СМО обладает рядом недостатков: модели сложны в описании и применении, не всегда позволяют получать нужные результаты при анализе РСОД, для них трудно подготовить исходные данные.

На кафедре "Системы обработки информации и управления" МГТУ им. Н.Э. Баумана разработан метод, а также комплекс инструментальных средств проектировщика (КИСП) для анализа характеристик производительности РСОД [1]. Данный метод обладает рядом преимуществ по сравнению с СМО. Использование КИСП позволяет еще на стадии проектирования получить характеристики производительности будущей РСОД, не прибегая при этом к сложным тестам и экспериментам.

2. Сравнение методов оценки характеристик производительности РСОД

Методы оценки производительности РСОД (СМО и метод, принятый в КИСП) имеют преимущества и недостатки, поэтому выбор метода зависит от конкретной области его применения. Для оценки методов и выбора наиболее подходящего для анализа характеристик производительности РСОД на этапе проектирования предлагаются следующие критерии сравнения:

 

  1. Одним из значимых критериев является доступность исходных данных, т.к. на стадии проектирования, да и для готовой ИС, очень сложно определить параметры, необходимые для описания и использования математической модели. Очень часто для получения исходных данных приходится проводить множество экспериментов и исследований, использовать специальные модели. Использование СМО требует задания параметров низкого уровня таких, как время обслуживания запроса в процессоре и в системе ввода/вывода, вероятность обслуживания каждым диском (если в системе несколько дисков), вероятность повторной обработки, задержка в сети, вероятность попадания данных в кэш-память. Все перечисленные данные могут быть получены только в результате сложных измерений и множества допущений. Более того, т.к. в системе циркулирует обычно, как минимум, десяток различных запросов, то время обслуживания приходится приводить к среднему времени выполнения, при этом должна учитываться интенсивность каждого типа заявок. В противоположность СМО, в КИСП выполняется описание не низкоуровневых параметров, а более доступных показателей таких, как параметров схемы базы данных, запросов и транзакций, характеристик оборудования (по тестам TPC-C). Возможность использования результатов TPC-C [4,5,6,7,8] является, пожалуй, наиболее значимой, т.к. на сегодняшний день существует более сотни различных конфигураций, которые были протестированы и для которых опубликованы результаты.
  2. Не менее важным критерием оценки моделей является возможность описания запросов и транзакций и взаимосвязи между ними. Определение характеристик запросов и транзакций позволяет описать РСОД на более детальном уровне. Кроме того, модель, поддерживающая такое описание, позволяет оценивать вклад, вносимый каждым запросом и транзакцией, в выходные характеристики системы. Это даёт возможность выделять “узкие места” и проводить оптимизацию системы на уровне каждой транзакции и каждого запроса. С помощью средств, предлагаемых для построения СМО, нельзя описать состав транзакций. Это не только затрудняет задание исходных данных для модели, но и не позволяет проводить анализ для каждого запроса в отдельности. В КИСП описание транзакций и запросов выполняется на языке, близком к тому, на котором они будут (или уже) записаны. На сегодняшний день язык SQL стал стандартом де-факто для описания запросов к базе данных. Даже доступ к исторически не-SQL источникам данных (таким как xBase) сегодня осуществляется из приложений через драйверы, поддерживающие SQL. Еще одним важным моментом является также то, что описание отдельных запросов в КИСП позволяет освободить проектировщика от необходимости усреднения всех запросов и приведения их к одному (что необходимо в случае использования СМО). Это также даёт возможность анализировать загрузки ресурсов и время доступа к каждой транзакции, что особенно важно, если к транзакциям предъявляются разные требования к времени реакции.
  3. Расчет времени выполнения транзакций и запросов в узле позволяет получить характеристики РСОД, не производя замеров (тем более, что это невозможно сделать на стадии проектирования и очень трудоемко на стадии анализа прототипа или пилотного варианта системы). Расчет времени выполнения, основанный на описании архитектуры, характеристик аппаратного и программного обеспечения, БД и самих запросов, позволяет получать характеристики производительности РСОД. В СМО расчет времени выполнения в узле не предусмотрен, что требует задания указанного времени, а это очень трудно сделать, если нет прототипа или макета системы. Расчет времени обслуживании в узле, используемый в КИСП, облегчает задание параметров системы: достаточно задать доступные параметры (характеристики аппаратного и программного обеспечения, схему БД и запросы к ней) и КИСП может рассчитать время выполнения транзакции в узле. Расчет времени обработки транзакции и загрузок ресурсов позволяет уже на стадии проектирования (когда натурный эксперимент затруднен или вообще невозможен) получить характеристики производительности будущей системы.
  4. Возможность вывода аналитических зависимостей позволяет получать аналитические выражения для характеристик системы: загрузок ресурсов, времени реакции, длин очередей и др. Это позволяет рассчитывать "критические точки" и находить параметры для заданных характеристик ИС (через обратные функции аналитических зависимостей). Отсутствие аналитических выражений для показателей системы приводит к необходимости интерполяции полученных данных, что не всегда возможно, т. к. заранее не известен вид функций, с помощью которых можно описать поведение характеристик в зависимости от изменяющихся параметров ИС. Для анализа СМО используется математический аппарат теории массового обслуживания (ТМО [9,10]). В рамках этой теории разработано множество различных методов вывода аналитических зависимостей (это касается только определенного класса СМО). В противоположность СМО, в КИСП вывод аналитических зависимостей выходных характеристик невозможен. Как уже отмечено выше, это приводит к необходимости построения интерполирующих кривых, что иногда затруднительно из-за того, что не известен вид интерполирующих функций (точнее, для загрузки он имеет линейный вид, а для времени реакции системы - дробно-рациональный с неизвестной степенью членов).
  5. Расчет с помощью нечетких чисел позволяет учесть неопределенность в исходных параметрах системы (число строк в таблице, количество клиентов, частота запросов, и т. п.), что очень важно особенно на стадии проектирования, когда неизвестны точные цифры, а можно лишь выдвигать гипотезы о значениях параметров. Расчет в нечетких числах возможен только для модели, принятой в КИСП.

 

 

В табл. 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.gif (3000 bytes)

 

рис. 1. Описание концептуальной схемы БД проектируемой ИС

3.2. Описание запросов и транзакций

Описание включает в себя данные о транзакциях, составе транзакций, запросах, таблицах базы данных, таблицах, с которыми связаны запросы. Диаграмма потоков данных процесса описания запросов и транзакций представлена на рис. 2.

 

 2.gif (3946 bytes)

 

рис. 2. Описание запросов и транзакций

Запросы в ИС в большинстве случаев написаны на непроцедурном языке запросов SQL. Для описания запросов в КИСП применяется язык исчисления с переменными на доменах QBE (Query By Example). QBE не требует навыков в программировании, а SQL-операторы могут быть легко переведены на QBE и описаны в КИСП.

3.3. Описание характеристик серверов и клиентов

Описание характеристик сервера включает в себя описание параметров аппаратного обеспечения, программного обеспечения (ОС, СУБД и др.). Серверная часть в тестах TPC-C [4,5,6,7,8] связана с характеристиками клиентов. Поэтому на ДПД, изображенной на рис. 3, показана также часть, отвечающая за описание характеристик клиента.

3.gif (4560 bytes)

рис. 3. Описание характеристик узлов

В качестве характеристик аппаратного обеспечения серверной части указываются стоимость, тип и число процессоров, объём основной памяти, число контроллеров и дисков внешней памяти, размер блока диска, а также объем внешней памяти и экспериментальной БД. В качестве характеристик общесистемных программных средств сервера определяются стоимость, количество копий ОС и СУБД сервера.

В качестве характеристик аппаратного обеспечения клиентской части указываются стоимость, тип и число процессоров, объём основной памяти, число контроллеров дисков. В качестве общесистемных программных средств описываются ОС и монитор транзакций (например, TUXEDO, Jaguar и др.).

3.4. Описание архитектуры проектируемой ИС

Описание архитектуры проектируемой ИС включает в себя описание узлов сети, сетей и взаимосвязи между ними. ДПД процесса описания архитектуры представлена на рис. 4.

КИСП автоматически рассчитывает маршруты (виртуальные каналы) передачи данных между каждой парой узлов ИС, однако, маршруты могут быть также изменены вручную. В КИСП задаются параметры пакетов и кадров, передаваемых по каналу, что позволяет учесть влияние заголовков на реальную производительность сети, а также проанализировать эффект "туннелирования" пакетов при их прохождении через разнородные сети (Ethernet, FDDI, X.25, Frame Relay, ATM и т.д.).

4.gif (5399 bytes)

рис. 4. Описание архитектуры проектируемой ИС

3.5. Описание распределения таблиц БД и транзакций

Описание распределения по узлам таблиц БД и транзакций позволяет описать взаимосвязь узлов и таблиц. ДПД процесса задания этих параметров в КИСП приведена на рис. 5.

Для каждой транзакции задается свой узел-сервер. На этом сервере КИСП выполняет декомпозицию запроса транзакции на подзапросы, моделирует их параллельную обработку и соединение результатов выполнения подзапросов. В том случае, если необходимая таблица не хранится на указанном узле-сервере, то запрос будет выполнен на ближайшем сервере, где есть эта таблица.

КИСП позволяет описывать размещение (дублирование) таблиц на разных узлах. Это позволяет описывать ИС с механизмами репликации (тиражирования) данных между территориально-распределенными филиалами.

5.gif (2291 bytes)

рис. 5. Описание распределения таблиц БД и транзакций

3.6. Описание обращений к транзакциям из узлов

Описание обращений к транзакциям из узлов позволяет определить узлы, из которых производится обращение к транзакциям, интенсивности обращений к каждой транзакции из каждого такого узла (в отличии от СМО, где необходимо задать единую усредненную частоту обращения).

3.7. Описание обращения к транзакциям из транзакций

Описание обращений к транзакциям из транзакций позволяет описать взаимосвязь между различными транзакциями. Это позволяет описывать, например, методы объектов в CORBA и COM (DCOM) архитектурах, где метод одного объекта может обратиться к методу другого объекта, а также описывать обращение к хранимым процедурам (Stored Procedures) в базах данных ИС.

3.8. Справочник конфигураций сетей

Справочник конфигурации сетей позволяет описывать различные варианты сетей, например, 10BaseT, 10Base2, 100BaseTX и т. п.

4. Пример использования КИСП для исследования ИС "СКЛАД"

ИС "СКЛАД" – это распределенная автоматизированная система учета и анализа товарооборота. ИС "СКЛАД" в настоящий момент эксплуатируется в нескольких крупных торговых компаниях г. Москвы. В связи с постоянно изменяющимися требованиями бизнеса отдельные составляющие ИС довольно часто корректируются и дополняются. Очевидно, что для принятия решений по изменению ИС в кратчайшие сроки необходимо использовать специальные методики поддержки принятия решений и, в частности, методики анализа характеристик производительности. Для анализа характеристик ИС "СКЛАД" и поиска путей оптимизации был выбран КИСП анализа характеристик производительности РСОД.

Для проведения моделирования, ИС "СКЛАД" была описана в КИСП, в частности, было проведено описание схемы БД, транзакций и запросов к БД, архитектуры системы, характеристик серверов и клиентов и т.д.

В качестве путей оптимизации ИС "СКЛАД" были рассмотрены два варианта: переход с сети 10 Мбит на сеть 100 Мбит и оптимизация критичных для ИС транзакций. Моделирование и анализ полученных результатов позволили сделать следующие выводы:

  1. Переход с сети 10 Мбит на сеть 100 Мбит. Как показало моделирование, переход с 10 на 100 Мбит сеть развязывает узкое место, которым является сеть. Но в этом случае узким местом становится сервер: максимальное число клиентов увеличивается всего на 15, что составляет около 10%, при этом сеть используется всего на 10%, т. к. она потенциально может обеспечить работу около 770 клиентов, в то время как сервер - всего 92. Кроме того, соотношение стоимости перехода на 100-Мбит сеть несоизмерима высока (около 100-200%) по сравнению с получаемым преимуществом в 10% для максимального числа клиентов.
  2. Оптимизация критичных транзакций в ИС. Развязка обоих узких мест (сервера и клиента) может быть произведена с помощью оптимизации одной или нескольких транзакций. Для этого были проанализированы составляющие загрузок узлов, связанные с выполнением транзакций. И на основе их анализа была определена наиболее критичная транзакция "Загрузка дня". Оптимизированная система показала существенно более хорошие характеристики: максимальное число клиентов составило 135 клиентов против 78 без оптимизации, что на 73% больше.

На основании полученных результатов, сделан вывод о том, что переход с сети 10 Мбит на сеть 100 Мбит нецелесообразен, т.к. оптимизация критичных транзакций в ИС дает наилучшие результаты при наименьших затратах.

Таким образом, использование КИСП позволило уже на стадии принятия решения проверить эффективность различных альтернатив и сделать оптимальный выбор.

5. Заключение

Применение метода анализа характеристик производительности, который используется в КИСП, позволяет проводить детальный анализ ИС, построенных на основе РСОД. Он может быть использован для выявления узких мест не только в архитектуре системы (например, в сетевом оборудовании), но и узкие места в прикладном программном обеспечении (запросы и транзакции). Метод, используемый в КИСП, также позволяет проводить исследования характеристик производительности на этапе проектирования без использования прототипов или "пилотных" вариантов.

 

СПИСОК ЛИТЕРАТУРЫ

  1. Григорьев Ю.А., Разработка научных основ проектирования архитектуры распределенных систем обработки данных//Автореферат докторской диссертации. - М.: МГТУ им. Н.Э. Баумана, 1996. – 32 с.
  2. Постников В.М., Анализ архитектуры серверов локальных вычислительных сетей//Вестник МГТУ. Серия Приборостроение. - М.: МГТУ им Н.Э.Баумана, 1998. - №2.
  3. Васкевич Д. Стратегии клиент/сервер. Руководство по выживанию для специалистов по реорганизации бизнеса – К.: “Диалектика”, 1996. – 384 с.
  4. Грачева Т. Обоснованный выбор или обоснование выбора?//COMPUTERWORLD РОССИЯ. - М.: Открытые системы, 1998. - №27.
  5. Волков А.А. Про тесты измерения производительности//COMPUTERWORLD РОССИЯ. - М.: Открытые системы, 1996. - № 5.
  6. Шнитман В.З. Серверы баз данных: проблемы оценки конфигурации системы//СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ. - М.: Открытые системы, 1996. - №5,6.
  7. Айзенберг А., Мелтон Д., Стандарты на практике//СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ. - М.: Открытые системы, 1998. - №1, 2.
  8. Волков А.А. Тесты   TPC//СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ. - М.: Открытые системы, 1995. - № 2.
  9. Вентцель Е.С. Теория вероятностей. - М.: Наука, 1964.
  10. Скитович В.П. Элементы теории массового обслуживания. - Л.: Издательство Ленинградского университета, 1976.

© Aleksey Burdakov, 1999-2000