Содержание к диссертации
Введение
Глава 1. Анализ современных методов исследования производительности компьютерных сетей корпоративной информационной системы 9
1.1. Современные тенденции в области анализа компьютерных сетей корпоративной информационной системы (КС КИС) 9
1.2. Объект и предмет исследования КС КИС 11
1.3. Анализ современных КС КИС и методов их исследования 12
1.4. Функции и задачи проектируемой аналитической системы оценки производительности КС КИС 14
1.5. Анализ рынка программных продуктов по оценке производительности
КС КИС 16
1.6. Выводы по первой главе и постановка задачи исследования 19
Глава 2. Описание информационной модели для оценки производительности КС КИС 22
2.1. Описание объектов исследования и их свойств 22
2.2. Разработка архитектуры аналитической системы для оценки производительности КС КИС 27
2.3. Представление функциональных моделей исследуемых компонентов КС КИС 27
2.4. Сравнительный анализ современных технологий построения КС КИС в разрезе их производительности 28
2.5. Построение типовой информационной модели для оценки производительности КС КИС 30
2.6. Выводы по второй главе 33
Глава 3. Разработка метода оценки производительности КС КИС з
3.1. Анализ современных математических методов исследования производительности КС КИС 34
3.2. Анализ производительности КС КИС на основе системы массового обслуживания 37
3.3. Анализ показателей производительности КС КИС при работе с распределенными вычислениями 41
3.4. Оценка эффективности и надежности работы КС КИС
с распределенными вычислениями 45
3.5. Оценка производительности КС КИС с распределенными вычислениями путем математического моделирования задержки передачи пакетов данных в ЛВС 51
3.6. Оценка производительности КС КИС при работе с хранилищами данных 60
3.7. Оценка производительности КС КИС с разной программно-аппаратной организацией комплексным методом 65
3.8. Система оценки производительности КС КИС на основе нейронной сети
с нечеткой логикой 83
3.9. Методика оценки производительности КС КИС 93
3.10. Выводы по третьей главе 96
Глава 4. Разработка и испытание программного продукта для опенки производительности КС КИС 97
4.1. Выбор среды разработки для модулей анализа производительности 97
4.1.1. Измерение базовых величин 97
4.1.2. Расчет основных параметров КС КИС 99
4.1.3. Оценка производительности КС КИС в гибридной нейронной сети с нечеткой логикой 103
4.1.4. Поддержка принятия решения по результатам анализа состояния КС КИС 105
4.2. Анализ производительности КС КИС на крупных
промышленных предприятиях 105 4.2.1. Мебельная фабрика «Ваш День» 106
4.2.2. Сеть магазинов «Дом Еды» 109
4.2.3. Компания по ИТ-разработкам ЗАО «РЕГУЛ» 111
4.3. Выводы по четвертой главе 114
Заключение 115
Литература
- Объект и предмет исследования КС КИС
- Представление функциональных моделей исследуемых компонентов КС КИС
- Оценка производительности КС КИС с распределенными вычислениями путем математического моделирования задержки передачи пакетов данных в ЛВС
- Оценка производительности КС КИС в гибридной нейронной сети с нечеткой логикой
Объект и предмет исследования КС КИС
В связи с быстрым развитием информационных технологий разработка компьютерных сетей стала значительно сложнее. Архитектура компьютерных сетей должна модернизироваться таким образом, чтобы соответствовать потребностям распределенных программно-аппаратных приложений. Новые сетевые архитектуры предполагают не только использование современных технологий и оборудования, но и серьезную профессиональную подготовку специалистов, занимающихся разработкой сетей, для наиболее правильного выбора подходящей структуры сети с учетом оценки её эффективности.
Если основательно проанализировать современные корпоративные информационные системы, то выяснится, что компьютерная сеть в настоящее время, прежде всего, является основой работы современных распределенных программных комплексов, и разработчики программного обеспечения (ПО), безусловно, не могут этого не учитывать. Связь компьютеров посредством сетевых технологий - это базис развития распределенных вычислений, определяющий стратегию проектирования сетей и работу с ними.
В современных условиях перед многими организациями стоит вопрос о необходимости решить проблему развертывания в производственной среде сетевого программного обеспечения непрерывного действия. При использовании сети необходимо, чтобы программы (и сетевая инфраструктура) могли обеспечивать большое количество операций типа «клиент-сервер» [1]. Поэтому очень важно, чтобы архитектура компьютерной сети имела возможность использовать распределенные вычисления, и многие компании сегодня применяют для этого передовые компьютерные технологии, тем самым повышая производительность собственной корпоративной информационной системы (КИС).
Задержки в компьютерной сети измеряются сотыми или даже тысячными долями секунды. Однако задержка на одну сотую долю секунды может сильно замедлить работу пользователей, если она будет повторяться тысячу раз во время каждой сетевой операции. Огромное количество таких ничтожных на первый взгляд задержек происходит и в современных клиент-серверных системах, что может существенно снизить эффективность работы сети. Небольшая разница в скорости, обеспечиваемой различными сетевыми технологиями (мостами, маршрутизаторами, коммутаторами и т.д.), приводит к серьезным различиям в важных характеристиках работы сети, в которой использованы эти технологии, существенно влияет на скорость реакции программного обеспечения и, как следствие, на возможное количество пользователей [2].
Для решения подобных проблем встает вопрос о необходимости своевременного и полномасштабного анализа эффективности работы телекоммуникационных компьютерных систем и, в первую очередь, программных приложений и компьютерных сетей. Ведь если принимать решение о внедрении той или иной информационной системы без глубокого анализа свойств и возможностей ПО, используемого в сети, то это, безусловно, скажется на результатах внедрения проекта, приведёт к большим временным и финансовым потерям.
В работах Тарасова В.Н., Вишневского В.Н и Кузнецова Н.А. [3, 4, 5, 6, 7, 8] вопросы разработки инженерных методов анализа и синтеза информационных систем являются важнейшим индикатором качества проектирования и функционирования КС КИС. Возросшие затраты на проектирование и анализ информационных систем повышают ответственность разработчиков за внедрение качественных решений. В частности, очень важна точность определения производительности серверов баз данных, производительности каналов связи, их пропускная способность, время обработки транзакций, буферный объем и т.д. Существующие подходы к оценке важнейших конструктивных показателей КИС подробно освещены в монографиях таких ученых, как Цыбаков Б. С, Велихова Е.П., Гнеденко Б.А., Шведенко В.Н., Майоров С.А. [9, 10, 11, 12] и др. Их работы посвящены моделированию КС как систем, состоящих из совокупности ресурсов, пользование которыми осуществляется в порядке очереди в соответствии с заданной дисциплиной. Однако вопрос, связанный с получением комплексного показателя производительности КС КИС и проведения сравнительной оценки вариантов её реализации, требует существенной проработки, подробного анализа и синтеза производительности программно-аппаратных компонентов исследуемой КИС. Данный момент проработан незначительно и поэтому требует проведения полномасштабной оценки возможных вариантов исполнения КИС, эксплуатируемых и внедряемых на производстве, с целью обобщения данных об их производительности и составления единого показателя качества функционирования КС КИС [14].
Представление функциональных моделей исследуемых компонентов КС КИС
Структура компьютерной сети корпоративной информационной системы (КС КИС) - совокупность узлов сети (терминалов, серверов, узлов коммутации и т.п.) и соединяющих их каналов связи. Она показывает потенциальные характеристику сети, её возможности в части доставки пакетов с данными между элементами КИС.
Для КИС характерно использование широкого диапазона классов структур с различным количеством узлов и каналов связи, которые в общем случае неоднородны и имеют значительное число разнообразных параметров. Существующие и проектируемые компьютерные сети в большинстве случаев являются многоуровневыми. Как правило, такая сеть состоит из магистральной децентрализованной распределенной сети верхнего уровня (горизонтальная сеть) и централизованных низовых сетей (вертикальные) в нижнем уровне [47, 48]. Структура сети каждого уровня может обладать своей внутренней иерархией. Сложная структура КС КИС может быть детерминирована на элементарные структуры. Простейшими структурами являются следующие: с параллельным, последовательным и радиальным (по типу «звезда») соединением элементов. Путем композиции подобных структур может быть получено бесконечное многообразие вариантов структуры КС КИС.
При анализе линий связи, характеризующихся интенсивной нагрузкой, подобной магистральным сетям (комбинированные структуры КС), возрастают и требования к надежности КС КИС. При синтезе таких структур требования к надежности задаются обычно в виде требования к-связности [46]. Число линий связи, их длина и пропускные способности в значительной мере определяют стоимость всей сети:
Наиболее надежной и живучей является полно связная структура сети, при этом она является наиболее затратной с экономической точки зрения. С увеличением размерности сети и, следовательно, с увеличением объемов передаваемой информации целесообразнее переход к иерархическим компьютерным сетям. На нижних уровнях иерархии повышение эффективности использования линий связи достигается применением концентраторов. Синтез топологической структуры больших КС КИС - достаточно трудоемкая задача, связанная с ограниченными возможностями используемой компьютерной техники, существенным объёмом передаваемой информации, в том числе координат узлов КС КИС, большим количеством вариантов решения поставленной задачи и тем, что на текущий момент не существует четких алгоритмов принятия решения по модернизации КС КИС на основе полученных результатов. Перечисленные трудности детерминируют необходимость использования декомпозиционного подхода, позволяющего свести решение сложной задачи к ряду более простых. Оценка производительности сети позволит провести многокритериальный сравнительный анализ нескольких рассмотренных топологий с учетом не только структуры сети, но и её аппаратного наполнения и программного сопровождения для распределенного вычисления в сети.
Как правило, при проектировании топологии компьютерной сети задача синтеза сводится к решению ряда подзадач: синтез магистральной сети, расчет числа и расположения коммутационных узлов (концентраторов). Решение этих задач в комплексе решается также с использованием эвристических алгоритмов. Указанные частные задачи синтеза не являются строго независимыми [49]. Поэтому решение задачи оптимизации по частям и объединение полученных вариантов в единую систему не позволяет получить точное решение всей задачи в целом. Однако вследствие перечисленных трудностей такой подход широко применяется в практике проектирования крупномасштабных компьютерных сетей. Детализация большой общей задачи на более мелкие подзадачи является условной в виду того, что общие алгоритмы синтеза решаются с помощью метода последовательных итераций, и с каждым следующим циклом осуществляется уточнение результатов решения задач. Для детального и полного анализа вариантов структуры КС КИС при их сравнении требуется выделить комплексный оценочный показатель. Положительная оценка КС КИС различной характеристики аппаратно-программного наполнения зависит от выбранного метода расчета параметра производительности КС КИС [50].
Используется два подхода к расчету критериев оценки производительности КС КИС: 1) дедуктивный способ: выбирается один наиболее важный показатель из множества существующих показателей системы, а на остальные накладываются ограничения, т.е. математическая задача сводится к нахождению условного экстремума; 2) индуктивный способ: на основе исходного множества параметров строится обобщенный показатель, комплексно характеризующий КС КИС.
При первом подходе обычно используют такие критерии, как: средняя задержка в сети, стоимость сети, степень использования ресурсов сети и т.д. При втором подходе используют различные комбинации перечисленных параметров (например, произведение стоимости и средней задержки в сети) [51, 74].
Тем не менее, накладываются определенные ограничения на важнейшие показатели КС КИС, так как если не накладывать ограничений на множество показателей, то топология полученной структуры сети будет не рациональной с позиции затрат и не оптимальной по своей функциональной принадлежности.
В виду того, что алгоритмы оценки показателей КС КИС очень сложны, а требования для подобного анализа крайне многообразны, точное решение задачи оценки производительности КС КИС большой размерности невозможно даже с использованием суперкомпьютеров. Кроме этого, на этапе разработки или модернизации структуры КС КИС характеристики элементов сети известны лишь приблизительно, поэтому нерационально использовать точные методы расчета. Когда в задаче оптимизации исходные данные недостаточны, а единого подхода к решению задачи нет, как нет и универсальных показателей качества работы сети, в таких ситуациях на практике широко применяются нечеткая логика и нечеткие вычисления. С развитием вычислительной техники и компьютерных технологий задача построения нейронных сетей на нечеткой логике реализуемо в большинстве компьютерных программ для моделирования.
Как уже отмечалось выше, расчет критериев оценки производительности мощных систем обычно использует такие показатели, как средняя задержка в сети, стоимость сети, степень использования ресурсов и т.д. Также возможен подход, использующий различные комбинации перечисленных параметров (например, произведение стоимости и средней задержки в сети) [52]. При анализе производительности КС КИС остановимся на комплексном подходе к расчету и оценке её показателей качества путем выделения наиболее критичных параметров КС КИС, влияющих на время задержки распределенных вычислений в сети. В качестве важнейших показателей производительности КС КИС выделим: степень использования ресурсов сети и её компонентов, загрузка узлов сети, производительность СУРБД с точки зрения взаимодействия клиента и сервера по сети. Проанализируем влияние каждого из параметров на производительность типовых топологий КС КИС.
Оценка производительности системы управления распределенными базами данных (СУРБД) в рамках КС КИС является сложной задачей, так как СУРБД [50]состоит из большого количества компонентов. Поэтому методы оценки ее производительности обычно ориентированы на один из ее компонентов.
Для анализа производительности КС КИС используются, в основном, такие математические модели, как системы массового обслуживания (СМО) [42, 44]. Так как основная работа в системе ведется с данными, хранимыми в БД, то задача измерения производительности СУРБД рассматривалась с точки зрения взаимодействия клиента и сервера.
Серверы в сети - типичные системы массового обслуживания, обрабатывающие поток заявок, поступающих в случайные моменты времени. Системы состоят из некоторого числа обрабатывающих единиц - каналов обслуживания. В качестве заявок выступают пользовательские запросы. Пропускная способность СМО (Р) зависит от числа каналов (N) и их производительности (Рк), а также, что особенно важно для реалистичности тестирования, от характера потока заявок (Я)[47]: где Qfyamft) - текущая производительность компонентов РИС в процессах обработки информации; интервал [?H, erP] - время от начала использования СУБД с момента tH - до того момента Гдегр, после которого СУБД становится устаревшей или неэффективной, то есть до некоторого граничного момента времени, который определяет продолжительность жизненного цикла корпоративной информационной системы.
Для оценки качества обслуживания более содержательны временные характеристики - среднее время обработки и дисперсия времени обработки. Наибольшую значимость эти характеристики приобретают в случаях, когда предельное время обработки фиксировано, как это имеет место, например, для систем резервирования билетов, электронной коммерции, разнообразных банковских приложений и т.д.
Применительно к компонентам СУРБД каждый компонент обладает некоторыми характеристиками производительности, отличающимися друг от друга. Например, показателем производительности для центрального процессора может служить количество операций, выполняемых в секунду, а для СУБД -количество выполняемых запросов в секунду.
Надежность характеризуется вероятностью отказа в обслуживании. Она определяется как свойство объекта сохранять во времени в установленных пределах значения всех параметров, характеризующих его способность выполнять требуемые функции в заданных режимах и условиях применения, технического обслуживания, хранения и транспортирования.
Оценка производительности КС КИС с распределенными вычислениями путем математического моделирования задержки передачи пакетов данных в ЛВС
Рассматриваемые варианты сети различаются не только по топологии сети, но и по характеристике СУБД, а также по ее физическому расположению. Результаты говорят о том, что при незначительном изменении (оптимизации) сетевой архитектуры производительность сети в целом может значительно измениться. Три последовательных примера мы можем рассматривать как процесс оптимизации сети, начиная от самой неоптимальной структуры и заканчивая наиболее организованным вариантом КИС. База данных во всех вариантах представляется как некая константа, для чистоты эксперимента.
Важным в этом эксперименте является и то, что при подробном анализе мы выяснили, что суточный дамп не является однородным, колебания рассматриваемых коэффициентов обусловливаются временем суток и зависят от графика работы предприятия. Мы наблюдаем незначительный скачок в районе 2 часов ночи, в это время происходит резервное копирование, также заметны изменения интенсивности транзакций в районе обеда (наблюдается снижение) и в начале рабочего дня (достаточно резкий рост). Если же мы проанализируем недельный дамп, то увидим, что наше распределение становится более выровненным, и лишь в выходные дни наблюдается существенный спад активности. Месячный дамп - как более точный срез данных характеризуется лишь колебаниями в выходные дни. Для дальнейшего анализа имеет смысл оценивать именно показатели месячного дампа. Теперь рассмотрим подробнее экспериментальные схемы.
Если сравнить схему 1 и схему 2, то можно увидеть, что были удалены подсети, тем самым сократились излишние посредники на пути транзакций от клиентских станций к серверу, а также увеличилась пропускная способность сети, так как для всех узлов стал использоваться самый производительный коммутатор. Не смотря на это, часть рабочих станций имеет сетевые интерфейсы со скоростью передачи данных до 100 Мбит. Тем не менее, при незначительно возросшей нагрузке на базу данных (связано с увеличение объема поступающих запросов), коэффициент загрузки сети сократился на 60%, и подтверждение этому - увеличение степени использования ресурсов сети более чем на 70%, как следствие - увеличение показателя производительности сети в 2 раза.
При сравнении показателей КИС 2-й и 3-й схем мы видим, что характеристика сети практически не изменилась, так как топология практически не изменилась, однако был добавлен новый выделенный сервер, который предназначен исключительно для функционирования СУБД. Он является более современным и имеет повышенную степень использования ресурсов базы данных, старый же сервер получил новую функцию - функцию терминала, благодаря этому частично можно наблюдать и сокращение трафика сети, пусть и незначительное, так как этот сервер оставил за собой функции файлового сервера. Производительность же базы данных возросла существенно благодаря сокращению времени обработки поступающих запросов. Как итог - увеличение производительности КИС. 3.8. Система оценки производительности КС КИС на основе нейронной сети с нечеткой логикой
Многослойные нейронные сети используются как универсальные нелинейные преобразователи информации, вырабатывающие функцию управления объектом в реальном времени, что дает возможность их использования в системах прогнозирования и оценки показателей качества корпоративной информационных систем, а затем и как исходную информацию для модернизации и адаптации существующих КИС под требования производства.
Использование аппарата нейросетей позволяет также проводить дополнительное обучение системы уже в процессе работы. Вероятность необходимости дополнительного обучения системы обусловлена отсутствием полноты описания всех процессов при помощи имеющихся математических моделей, а также тем, что имеющиеся математические модели получены строго для определенных значений параметров качества КС КИС. Алгоритм работы нейросетей построен на методиках аппроксимации и позволяет делать прогноз ожидаемых изменений, что дает возможность расширить диапазоны проанализированных ранее математических моделей.
Четких требований по количеству данных, которые должны войти в обучающую выборку нет, но существуют некоторые рекомендации [74, 75]. Весь рассматриваемый набор данных представляет собой всевозможный набор параметров степени использования ресурсов КС КИС, производительности БД и сети. Таким образом, область данных обучающей выборки определяется вполне определенным диапазоном свойств: по степени использования ресурсов 1 - 64, по производительности БД 0,1 -0,3 единиц, по производительности ЛВС 1-128 единиц.
Теперь рассмотрим более подробно предлагаемую структуры нейронной сети, предназначенную для оценки производительности сети и проведения сравнительного анализа разнообразных КС КИС. Структурная схема разработанной гибридной нейронной сети на нечеткой логике представлена на рисунке 3.11. Данная сеть использует алгоритм Сугэно (Sugeno) 1-го порядка, в этом случае правила описываются линейными зависимостями [76, 77].
Из рисунка 3.11 видно, что гибридная нейронная сеть состоит из 5-ти слоев, каждый из которых решает конкретную задачу. На первом слое происходит измерение входных параметров сети, в нашем случае степени использования ресурсов, производительности БД и ЛВС КС КИС. На втором слое в соответствии с функциями принадлежности входные параметры с первого слоя относятся к одному из возможных нечетких множеств по значениям степени использования ресурсов, производительности БД и ЛВС КС КИС. На третьем слое по правилу логического «И» каждой комбинации нечетких данных ставится в соответствие одна из 27 групп диапазонов выходных параметров, расположенных на четвертом слое. Четвертый слой включает в себя данные всех выборок, обработанные и уточненные сетью в соответствии с приложенными к ней рекомендациями. В итоге нейронная сеть выдает конкретное значение показателя производительности КС КИС и необходимые замечания по её узким местам, а также возможные варианты её модернизации. Первый слой сети - создание первичного набора данных для нейронной сети.
На первый слой попадают данные по степени использования ресурсов, производительности БД и ЛВС КС КИС, полученные в результате эксперимента либо моделирования параметров, в виде сводной таблицы результатов тестирования узлов и каналов КС КИС. В процессе обучения сети исходные данные берутся из обучающей выборки, а в процессе работы будут обрабатываться данные о характеристике КС КИС, полученные в режиме реального времени.
Оценка производительности КС КИС в гибридной нейронной сети с нечеткой логикой
В соответствии с группировкой входных параметров нейронной сети можно сделать следующий вывод: показатель итоговой производительности КС КИС входит в 26 группу соответствия и характеризуется умеренным запасом надежности, необходимым для масштабирования системы. Подобные сети имеют достаточную производительность для решения функций обработки данных среднего и крупного предприятия. Серьезная модернизация сети на текущий момент не требуется, но стоит обратить внимание на подсети, имеющие более высокий коэффициент загруженности ЛВС с целью уменьшения этого коэффициента.
В Приложении 2 имеется акт внедрения системы с отзывами руководства предприятия. Компания по ИТ-разработкам ЗАО «РЕГУЛ» Методика анализа производительности КС КИС и работа программного продукта «Анализатор производительности КС КИС» была протестирована в известной компании ЗАО «РЕГУЛ» (http://www.scregul.ru/), специализирующейся на разработке современных технологических решений в области информационных технологий.
Компания была основана в 1991 году. В 1997 году был основан холдинг, в состав которого вошли компании, созданные ЗАО «РЕГУЛ» за период с 1994 года по 1997 год. Основными направлениями деятельности холдинга являются: разработка ПО; НИОКР; внедрение инновационных технологий; проектирование КС КИС. Основными заказчиками ЗАО «РЕГУЛ» являются подразделения Администрации Санкт-Петербурга и Ленинградской области, Псковской области, Красноярского края и предприятия бывшего РАО «ЕЭС России».
В 2011 году ЗАО «РЕГУЛ» создал две инновационные компании: ООО «РЕГУЛ+» и ООО «Аналитические когнитивные технологии интеллектуальной визуализации» (ООО «АКТИВ»), которые также стали резидентами инновационного центра (ИЦ) «Сколково». Программа «Анализатор производительности КС КИС» была оценена и доработана в рамках проекта Сколково «Научная разработка СУБД по технологии «Cobra++», реализующей принципы объектно-ориентированной СУБД третьего поколения и создания на ее основе объектно-функциональных систем и приложений [86].
В системе градации производительности КС КИС информационные системы, базирующиеся на СУБД с технологией «Cobra++», вошли в группы третьей (высшей) категории производительности с показателями производительности КС КИС от 1000 до 10000 отн. ед. [87].
Результаты диссертационной работы «Совершенствование метода оценки производительности компьютерных сетей в корпоративных информационных системах», по заключению экспертной комиссии ЗАО «РЕГУЛ», доведены до практической реализации в виде подсистемы поддержки принятия решения, включающей информационно-аналитические модули расчета комплексного показателя производительности КС КИС и оценки их организационно-конфигурационных вариантов. В частности, решались задачи по оценке времени обработки запросов к серверам хранилищ данных, организованных по технологии слотирования информационных ресурсов КС КИС.
Расчетный экономический эффект от применения информационно-аналитических модулей оценки вариантов исполнения КС КИС в зависимости от масштабов предприятия может доходить до 250 тыс. рублей.
Результаты исследований производительности КС КИС в рамках проекта «Сколково» дали большой научный и практический опыт, позволили апробировать программный продукт «Анализатор производительности КС КИС» на самых современных аппаратных и программных продуктах для организации КС КИС уровня предприятия. Значимость системы существенно возрастает в связи с ощутимым экономическим эффектом, получаемым предприятием при создании сбалансированной КС КИС или при модернизации с минимальными затратами существующих компьютерных информационных систем крупных предприятий. Распределенный характер вычислений, широко распространенный на современном производстве, приводит к потерям времени и средств при неправильной организации компьютерных сетей массового обслуживания. Мониторинг состояния загруженности сетей, производительности БД и степени использования ресурсов КС КИС позволяет оперативно оценивать различные конфигурации сетей и путем сравнительного анализа производить градацию КС КИС, учитывающую комплексный показатель её производительности. Данный подход позволяет в комплексе оценить качественные характеристики КС КИС, а также проанализировать уровень производительности отнеся систему к одной из 3 категорий и 27 групп производительности, имеющие вполне определенные рекомендации по улучшению структуры и обновления морально устаревших компонентов.