Содержание к диссертации
Введение
ГЛАВА 1. Обзор МСС, программных архитектур и механизмов распределения вычислительных ресурсов 11
1.1 Информационные системы многоэтапной обработки информации 11
1.1.1 Требования отказоустойчивости и масштабируемости в современных информационных системах 12
1.1.2 Отказоустойчивость в SCADA системах 16
1.1.3 Масштабируемость в системах потоковой обработки информации 18
1.2 Технологические аппаратные тренды в создании масштабируемых информационных систем 20
1.2.1 Мульти-ядерные системы 23
1.2.2 Мультипроцессорные системы 23
1.2.3 Кластеры 24
1.3 Обзор SCADA систем - типичных представителей ИС массового обслуживания 25
1.3.1 Функциональная структура SCADA . 28
1.3.2 Особенности SCADA как процесса управления 29
1.3.3 Основные требования к диспетчерским системам управления 30
1.3.4 Области применения SCADA-систем 30
1.4 Современные программные архитектуры для построения масштабируемых ИС 31
1.4.1 Потоковый параллелизм 32
1.4.2 Фиксированный пул потоков 33
1.4.3 Недостатки классических решений 34
1.4.4 Событийная архитектура и адаптивный механизм [9] 35
1.4.5 Проблемы существующих механизмов 43
ГЛАВА 2. Механизм распределения вычислительных ресурсов для построения отказоустойчивых, масштабируемых ИС 46
2.1 Математическая модель МСС на основе обмена сообщениями47
2.2 Схема работы предлагаемого механизма 49
2.3 Алгоритм определения числа системных потоков, назначаемых компоненте 50
2.4 Алгоритм определения временного интервала приостановки обработки сообщений компонент 52
ГЛАВА 3. Сравнительный анализ механизмов распределения вычислительных ресурсов МСС в сценариях пиковых нагрузок 54
3.1 Гипотетический сервер сбора и обработки информации 55
3.2 Особенности тестирования 56
3.3 Зависимость времени первого отказа от интенсивности потока заявок 59
3.4 Зависимость времени первого отказа при изменении вероятностей появления пакетов различных типов 61
3.5 Зависимость времени первого отказа от длины очередей компонент 63
3.6 Зависимость времени первого отказа для SCADA сервера, формирующего команды измерительному оборудованию 64
3.7 Детальный анализ поведения ИС с применением различных механизмов распределения ресурсов 67
ГЛАВА 4. SCADA система JACINTH - апробация предложенного механизма 75
4.1 Концептуальная архитектура многоэтапной событийной SCADA системы 75
4.2 Сценарии работы с иерархическим хранилищем данных 83
4.2.1 Интроспекция 83
4.2.2 Чтение данных 84
4.2.3 Обновление данных 84
4.2.4 Диаграмма классов 85
4.3 Пример реализации модуля Jacinth для контроллера
измерительного оборудования 87
4.3.1 Кристалл-2С2 87
4.3.2 Архитектура драйвера 8 9
4.4 Пример реализации SCAD А проекта с использованием Jacinth 90
4.5 Тестирование SCADA проекта на основе Jacinth 91
4.5.1 Сценарий теста 93
4.5.2 Результаты тестирования 94
Заключение 96
Список работ, опубликованных по теме диссертации 98
Цитированная литература 99
Приложение 1. Библиотека разработчика для построения отказоустойчивых многоэтапных событийных систем 112
- Требования отказоустойчивости и масштабируемости в современных информационных системах
- Алгоритм определения числа системных потоков, назначаемых компоненте
- Зависимость времени первого отказа при изменении вероятностей появления пакетов различных типов
- Концептуальная архитектура многоэтапной событийной SCADA системы
Введение к работе
Различные области человеческой деятельности требуют привлечения высокопроизводительных, отказоустойчивых и масштабируемых информационных систем (ИС) массового обслуживания, что обуславливает актуальность выбранной темы исследования. Спектр подобных систем самый широкий, от SCADA (Supervisory Control And Data Acquisition - диспетчерское управление и сбор данных) систем в жизненно-важных для человека областях (авиация, энергетика, транспорт) до web-сервисов и биржевых систем потоковой обработки информации.
Критически важным требованием для функционирования таких систем массового обслуживания как SCADA является максимально возможное время наработки на отказ (величина временного промежутка до первого отказа в обслуживании поступившего в систему запроса). Большое время работы системы до первого отказа позволяет оператору принимать более взвешенные управленческие решения при анализе возникшей в системе массового обслуживания ситуации (нередко аварийного характера).
ИС массового обслуживания также нередко внедряются в расчёте на возрастающую интенсивность потока заявок (например, рост числа посетителей с ростом популярности интернет ресурса) или с расчётом на многократное превышение штатной интенсивности заявок (биржевая паника, аварийная ситуация). Поэтому масштабируемость, способность системы линейно увеличивать производительность с увеличением аппаратных возможностей нередко выступает ещё одним важным требованием при разработке.
Одной из распространенных программных архитектур, используемых для построения масштабируемых ИС массового обслуживания, в перечисленных выше областях применения является архитектура, в которой ИС проектируется в виде событийной сети компонентов, взаимодействующих между собой при помощи обмена сообщениями. Как правило, сообщение возникает в системе благодаря внешнему событию (например, поступившей заявке), содержит необходимые данные для обработки, а сама обработка выполняется последовательно в несколько этапов компонентами системы.
Перераспределяя системные потоки между компонентами системы и назначая компонентам временные интервалы приостановки обработки сообщений, удаётся уменьшить среднее время обработки сообщений на некоторых компонентах за счёт увеличения среднего времени обработки на других компонентах сети, когда компоненты разделяют общие вычислительные ресурсы [1—4].
Анализ существующих механизмов распределения вычислительных ресурсов, применяемых при построении подобных многоэтапных событийных систем (МСС) массового обслуживания, показал, что существующие механизмы (механизм с фиксированным числом системных потоков1 у каждой из компонентов системы и адаптивный механизм [9]) не позволяют существенно увеличить время наработки системы на отказ.
Изложенные обстоятельства обуславливают актуальность разработки механизма распределения вычислительных ресурсов в МСС, ориентированного на увеличение времени первого отказа. 1 Под системными потоками подразумеваются потоки управления операционной системы (например, Windows), при помощи которых реализуется многозадачность, способность системы к параллельному исполнению программного кода.
Целью диссертационной работы является повышение отказоустойчивости многоэтапных событийных информационных систем массового обслуживания за счёт нового механизма распределения вычислительных ресурсов, способного увеличить временной промежуток до первого отказа в обслуживании поступившего в систему запроса.
Достижение цели диссертационной работы осуществляется решением следующих задач.
Исследование предметной области, связанной с проектированием, разработкой и использованием отказоустойчивых масштабируемых ИС массовой обработки информации.
Создание математической модели МСС массового обслуживания на основе обмена сообщениями в условиях разделяемых компонентами системы вычислительных ресурсов.
Разработка механизма распределения вычислительных ресурсов МСС, позволяющего повысить время наработки на отказ МСС в условиях пиковой нагрузки.
Разработка ИС, основанной на предложенном в диссертации механизме, и сравнение её времени наработки на отказ с результатами, полученными для аналогичной ИС, основанной на существующих механизмах.
Предмет и методы исследования
Предметом исследования являются механизмы распределения вычислительных ресурсов МСС и используемые в них алгоритмы. Для решения поставленных исследовательских задач использовались методы системного анализа, методы и модели теории управления, а также модели теории очередей. Научная новизна
Предложена математическая модель многоэтапной событийной системы, основанной на обмене сообщениями, в которой компоненты системы разделяют общие вычислительные ресурсы.
Предложен новый механизм распределения вычислительных ресурсов МСС, ориентированный на увеличение времени наработки системы на отказ в условиях пиковых нагрузок.
Впервые разработано специализированное программное обеспечение в виде библиотеки классов на языке программирования Java, которое может быть использовано для создания отказоустойчивых МСС в условиях пиковых нагрузок. Практическая значимость
Применение разработанного в диссертации механизма позволяет создавать МСС с большим временем наработки на отказ по сравнению с использованием существующих механизмов распределения вычислительных ресурсов, что особенно актуально для SCAD А систем.
На основе разработанного в диссертации механизма создана и зарегистрирована в Роспатенте библиотека классов, которая представляет самостоятельный практический интерес с точки зрения использования при конструировании МСС потоковой обработки информации, поскольку позволяет создавать устойчивые к .пиковым нагрузкам МСС.
Апробация результатов работы
Основные результаты диссертации были представлены в виде докладов на XII и XIII конференциях студентов, аспирантов и молодых специалистов (г. Дубна 2005, 2006), IX и X конференции молодых учёных и специалистов ОИЯИ (г. Дубна 2005, 2006)
По результатам выполненных исследований опубликовано 7 печатных работ, получено свидетельство о государственной регистрации программы для ЭВМ в Роспатенте.
Построенная с использованием разработанного автором в диссертационной работе механизма отказоустойчивая масштабируемая ИС массовой обработки информации внедрена в Лаборатории Сетевых Технологий (г. Дубна).
Публикации и личный вклад
Диссертация основана на теоретических, методических и проектных исследованиях и разработках, выполненных автором. По теме диссертации опубликовано 7 печатных работ, из них 2 статьи в журнале из перечня ведущих рецензируемых научных журналов и изданий из перечня ВАК Министерства образования и науки РФ. Также получено свидетельство о регистрации программы для ЭВМ в Роспатенте.
В работах, выполненных в соавторстве, соискатель внёс определяющий вклад в разработку представленного в диссертации механизма распределения вычислительных ресурсов МСС потоковой обработки информации для повышения отказоустойчивости в условиях пиковых нагрузок. Автором также были разработаны все алгоритмы и программы, представленные в диссертации.
Объём и структура диссертации
Диссертация состоит из введения, 4 глав, заключения, списка литературы и приложения и содержит 52 рисунка, 1 таблицу. Общий объём работы - 136 страниц. Основное содержание работы изложено на 111 страницах текста. Список литературы содержит ПО наименований.
Положения, выносимые на защиту
Математическая модель МСС позволяет описывать поведение информационной системы, исполняемой на одной рабочей станции с общими для всех компонентов вычислительными ресурсами и основанной на обмене сообщениями.
Новый механизм распределения вычислительных ресурсов МСС, основанный на перераспределении числа системных потоков и назначении времени приостановки обработки входящих сообщений на компонентах, повышает отказоустойчивость МСС в сценариях пиковых нагрузок.
Специализированное программное обеспечение в виде библиотеки классов для создания отказоустойчивых МСС обработки информации на основе авторской модели и авторского механизма распределения вычислительных ресурсов позволяет разрабатывать МСС с большим, по сравнению с существующими механизмами, временем наработки на отказ.
Требования отказоустойчивости и масштабируемости в современных информационных системах
Предметом исследования являются механизмы распределения вычислительных ресурсов МСС и используемые в них алгоритмы. Для решения поставленных исследовательских задач использовались методы системного анализа, методы и модели теории управления, а также модели теории очередей. Научная новизна Предложена математическая модель многоэтапной событийной системы, основанной на обмене сообщениями, в которой компоненты системы разделяют общие вычислительные ресурсы. Предложен новый механизм распределения вычислительных ресурсов МСС, ориентированный на увеличение времени наработки системы на отказ в условиях пиковых нагрузок. Впервые разработано специализированное программное обеспечение в виде библиотеки классов на языке программирования Java, которое может быть использовано для создания отказоустойчивых МСС в условиях пиковых нагрузок. Практическая значимость Применение разработанного в диссертации механизма позволяет создавать МСС с большим временем наработки на отказ по сравнению с использованием существующих механизмов распределения вычислительных ресурсов, что особенно актуально для SCAD А систем. На основе разработанного в диссертации механизма создана и зарегистрирована в Роспатенте библиотека классов, которая представляет самостоятельный практический интерес с точки зрения использования при конструировании МСС потоковой обработки информации, поскольку позволяет создавать устойчивые к .пиковым нагрузкам МСС. Апробация результатов работы Основные результаты диссертации были представлены в виде докладов на XII и XIII конференциях студентов, аспирантов и молодых специалистов (г. Дубна 2005, 2006), IX и X конференции молодых учёных и специалистов ОИЯИ (г. Дубна 2005, 2006) По результатам выполненных исследований опубликовано 7 печатных работ, получено свидетельство о государственной регистрации программы для ЭВМ в Роспатенте. Построенная с использованием разработанного автором в диссертационной работе механизма отказоустойчивая масштабируемая ИС массовой обработки информации внедрена в Лаборатории Сетевых Технологий (г. Дубна). Публикации и личный вклад Диссертация основана на теоретических, методических и проектных исследованиях и разработках, выполненных автором. По теме диссертации опубликовано 7 печатных работ, из них 2 статьи в журнале из перечня ведущих рецензируемых научных журналов и изданий из перечня ВАК Министерства образования и науки РФ. Также получено свидетельство о регистрации программы для ЭВМ в Роспатенте. В работах, выполненных в соавторстве, соискатель внёс определяющий вклад в разработку представленного в диссертации механизма распределения вычислительных ресурсов МСС потоковой обработки информации для повышения отказоустойчивости в условиях пиковых нагрузок. Автором также были разработаны все алгоритмы и программы, представленные в диссертации. Объём и структура диссертации Диссертация состоит из введения, 4 глав, заключения, списка литературы и приложения и содержит 52 рисунка, 1 таблицу. Общий объём работы - 136 страниц. Основное содержание работы изложено на 111 страницах текста. Список литературы содержит ПО наименований. Положения, выносимые на защиту 1. Математическая модель МСС позволяет описывать поведение информационной системы, исполняемой на одной рабочей станции с общими для всех компонентов вычислительными ресурсами и основанной на обмене сообщениями. 2. Новый механизм распределения вычислительных ресурсов МСС, основанный на перераспределении числа системных потоков и назначении времени приостановки обработки входящих сообщений на компонентах, повышает отказоустойчивость МСС в сценариях пиковых нагрузок. 3. Специализированное программное обеспечение в виде библиотеки классов для создания отказоустойчивых МСС обработки информации на основе авторской модели и авторского механизма распределения вычислительных ресурсов позволяет разрабатывать МСС с большим, по сравнению с существующими механизмами, временем наработки на отказ.
Алгоритм определения числа системных потоков, назначаемых компоненте
Предположим, система состоит из двух компонентов, где время обслуживания первой % (t) — 1 сек. в 4 раза меньше времени обслуживания второй T2(t) = 4 сек., а размер пула потоков Т - 5 (рис. 21). Рассмотрим сценарий, в котором первая компонента принимает сообщения с равным интервалом, передавая сообщения на обработку второй компоненте.
В случае, когда компонентам будет выделено по одному системному потоку (// = l2 = 1), то первая компонента будет успевать обрабатывать 4 сообщения и передавать их второй компоненте, за время, пока вторая компонента будет успевать обрабатывать лишь одно сообщение. Очередь сообщений второй компоненты начнёт увеличиваться, что приведёт к появлению отказа в системе.
Если же число системных потоков (Т— 5) распределить между компонентами пропорционально отношению времен обслуживания т}(t) к т2(0 производительность обеих компонент окажется равной - вторая компонента будет успевать обрабатывать весь поток входящих сообщений от первой компоненты. Теперь, когда число принимаемых первой компонентой сообщений превысит возможности системы к обработке, то очереди начнут увеличиваться на обеих компонентах одновременно. Сценарий переполнения с одновременным ростом двух очередей сообщений (при // = 1, l2 = 4) более предпочтителен, чем сценарий роста лишь одной из очередей (при // = l2 = 1), поскольку первый отказ системы откладывается за счёт удержания в оперативной памяти большего числа сообщений, ожидающих обработки, чем в первом сценарии {qmaxl + qmax2 qmax2);.
Обобщая рассуждения на N компонент, мы получаем правило, согласно которому число потоков 4, выделенных і-ой компоненте определяется из отношения суммарного времени обработки сообщений і-ой компоненты (т; п,) к суммарному времени обработки всех сообщений сети компонент, как Алгоритм определения временного интервала приостановки обработки сообщений компонент
В дополнение к распределению системных потоков в системе используется приостановка обработки сообщений на компонентах-отправителях, что позволяет компонентам-получателям обработать свои очереди сообщений, приближающиеся к переполнению. Длительность приостановки z-ой компоненты-отправителя определяется пропорционально её вкладу в наполнение очереди j-oro получателя (Х,у) согласно штрафной функции - (10і qjt qthJ), где q,- текущий размер очереди у -ой компоненты-получателя, q ;j - пороговое значение размера очереди у-ого получателя в диапазоне [0..qmfl j], где qmaXj - предельный размер очереди, устанавливаемый администратором системы (алгоритм обратного давления).
Вид штрафной функции / выбирается эвристически, в общем случае величина штрафа оказывается тем большей, чем ближе очередь компоненты получателя к переполнению. В качестве примера штрафной функции /-ого отправителя может быть использована пороговая функция вида: Величина силы штрафа ку выбирается эвристически. Итоговая величина штрафа, назначаемая /-ой компоненте отправителю, определяется как сумма штрафов от компонент получателей . Идея алгоритма обратного давления позаимствована из алгоритма обратного распространения нейронных сетей. С нейронными сетями вы можете ознакомиться в работах [40, 92-104], а с алгоритмом обратного распространения в [41-43].
Основным результатом второй главы является построение математической модели МСС, компоненты которой разделяют общие вычислительные ресурсы. Предложен оригинальный механизм, основанный на перераспределении вычислительных ресурсов между компонентами, направленный на повышение отказоустойчивости в условиях пиковых нагрузок.
Зависимость времени первого отказа при изменении вероятностей появления пакетов различных типов
Драйверы могут также управлять источниками данных на основе . обновлений информации в системном хранилище данных, к которому они подключены; графическая подсистема — подсистема отвечает за графическое , представление состояния объекта наблюдения на экране. При помощи предоставляемого подсистемой графического у интерфейса пользователь может изменять состояние элементов хранилища данных, отправлять команды измерительному оборудованию; подсистема математической обработки - подсистема интепретирует состояние объекта наблюдения при помощи анализа состояния хранилища данных, инкапсулирует логику обновления значений элементов иерархического хранилища на основе наблюдаемых в хранилище изменений. Подсистема реализует модель объекта наблюдения; proxy - подсистема предоставляет информацию о состоянии и структуре данных хранилища внешним клиентам. В качестве внешнего клиента может выступать процесс SCADA системы Jacinth, запущенный на другом компьютере в сети. Поскольку все подсистемы являются слабосвязанными и не подразумевают знаний о взаимном существовании (взаимная работа подсистем организована только через данные иерархического хранилища и через наблюдаемые изменения в данных) это позволяет создавать SCADA системы самого широкого спектра назначений, собирая произвольный набор подсистем в одном SCADA проекте. Так, например, возможны следующие варианты SCADA проектов Jacinth (рис. 44):
Сервер сбора информации - отвечает за централизованное хранение информации от источников данных и предоставляет к ней доступ по сети. В сервере сбора информации отсутствует графическая подсистема, но обязательно присутствует подсистема Proxy, предоставляющая доступ к данным сервера внешним клиентам. В адресное пространство сервера могут быть загружены драйверы контроллеров измерительного оборудования. В случае, когда драйвер считается ненадёжным и требуется обезопасить сервер от возможного краха (crash) драйвера, следует вынести драйвер в самостоятельный процесс и связать его с сервером сбора информации через подсистемы вида "Proxy". С серверами сбора информации, как правило, взаимодействуют полноценные клиенты.
Полноценный клиент - конфигурация SCADA системы, в которой присутствует визуализация данных и отсутствует непосредственное обращение к источникам данных через драйвера измерительного оборудования. Обработка информации, полученная от серверов сбора информации, выполняется самим клиентом. Если число клиентов и объём собираемой сервером информации возрастает, следует рассмотреть возможность обработки данных централизованно на сервере, освобождая каждого из клиентов от выполнения однотипной работы по обработке и, минимизируя тем самым, сетевой трафик.
Сервер обработки информации - конфигурация SCADA системы, полученная из сервера сбора информации добавлением подсистемы обработки полученных данных. Лёгкий клиент - содержит только графическую подсистему и драйвер SCADA системы, посредством которого он получает конечную информацию для отображения от серверов обработки информации. Объём информации для отображения, как правило, значительно меньше объёма, предоставляемого драйверами устройств, поэтому лёгкие клиенты без модулей математической обработки могут использоваться в конфигурациях SCADA проектов, в которых предполагается большой объём данных от измерительного оборудования, где используются непроизводительные клиентские станции и надёжные средства коммуникации. Возможно, в таких условиях следует рассмотреть возможность использования единственного сервера обработки информации, который помимо сбора данных от измерительного оборудования также будет заниматься обработкой данных и предоставлением клиентам конечных результатов обработки.
Выделенный драйвер — конфигурация SCADA, предоставляющая информацию источника данных по сети, без графической составляющей и модуля математической обработки.
Конечно, этим не исчерпывается список возможных конфигураций и стратегий их применения. Важно, что любая SCADA система может изменить своё предназначение через конфигурационный файл путём добавления и изъятия подсистем, загружаемых при запуске.
При запуске SCADA системы Jacinth в первую очередь проводится инициализация библиотеки JME, затем следует создание системной компоненты - иерархического хранилища данных JChannelBase. JChannelBase используется в качестве шины данных остальными, загружаемыми из внешних модулей компонентами. Компонент JChannelBase регистрируется в JME первым, после чего проходят регистрацию компоненты, загружаемые из внешних модулей (plugins).
Концептуальная архитектура многоэтапной событийной SCADA системы
В проведённых тестах механизм с заранее подобранным администратором числом системных потоков для каждой компоненты под параметры оказываемой на систему нагрузки показал себя с наилучшей стороны и не уступал по времени первого отказа адаптивному [9] и предложенному в диссертации механизму.
Результатом четвёртой главы является вывод о том, что предложенный и реализованный в библиотеке разработчика механизм распределения вычислительных ресурсов МСС может успешно применяться как в системах, функционирующих в пределах одной рабочей станции, так и в системах, компоненты которых размещены на нескольких рабочих станциях
В итоге проведённых исследований был предложен новый механизм повышения отказоустойчивости информационных систем, основанных на обмене сообщениями, предполагающий перераспределение вычислительных ресурсов рабочей станции. При этом получены следующие основные результаты: Разработана математическая модель МСС для описания поведения информационных систем, исполняемых на одной рабочей станции с общими для всех компонентов вычислительными ресурсами и основанных на обмене сообщениями. Разработан новый механизм распределения вычислительных ресурсов МСС, основанный на перераспределении числа системных потоков и назначении времени приостановки обработки входящих сообщений на компонентах, для повышения отказоустойчивости МСС в сценариях пиковых нагрузок. Реализовано специализированное программное обеспечение в виде библиотеки классов, для создания отказоустойчивых МСС обработки информации на основе авторской модели и авторского механизма распределения вычислительных ресурсов, которое позволяет разрабатывать МСС с большим, по сравнению с существующими механизмами, временем наработки на отказ. Результаты исследования могут быть эффективно использованы при построении МСС, для которых наиболее важным показателем работы является время наступления первого отказа. Разработанный в диссертации новый механизм распределения вычислительных ресурсов в МСС, нацеленный на повышение времени наработки на отказ, может применяться при разработке широкого спектра программного обеспечения в различных областях человеческой деятельности (аэрокосмические исследования, энергетика, химическая промышленность, военно-промышленный комплекс и т.д.), где время наработки на отказ ИС является одним из важнейших требований.