Математическая модель распределения нагрузки для надежных систем
Автор: Жданов О.Н., Золотарев В.В.
Журнал: Сибирский аэрокосмический журнал @vestnik-sibsau
Рубрика: Математика, механика, информатика
Статья в выпуске: 3 (6), 2005 года.
Бесплатный доступ
Рассматривается метод распределения нагрузки на элементы локально распределенных систем, имеющих гетерогенную структуру узлов. Основной целью является повышение надежности функционирования системы, а также получение характеристик компонентов системы, являющихся важными для проектирования и реализации.
Короткий адрес: https://sciup.org/148175096
IDR: 148175096
Текст научной статьи Математическая модель распределения нагрузки для надежных систем
Распределение нагрузки на компоненты узлов локально распределенной системы базируется наряде ее характеристик. В данной статье представлена постановка задачи, приведены полученные в ходе эксперимента данные надежности и отказоустойчивости, а также классификация методов обеспечения надежности. Затем даны краткая схема технологии и описание метода распределения нагрузки между компонентами. В заключение приведены экспериментально подтвержденные показатели, характеризующие компоненты системы и пригодные для дальнейшего использования в ее проекте.
Надежность и отказоустойчивость компонентов являются показателями, существенно влияющими на внутрисистемные взаимодействия. При формировании надежных систем с гетерогенной структурой узлов перед исследователями возникает задача распределения нагрузки (внутрисистемных транзакций данных) между компонентами узлов. Решением такой задачи может стать создание специализированного компонента, отвечающего за анализ и перенаправление потоков данных [1].
Для локально распределенных систем с количеством компонентов более двух важными являются характеристики готовности. Готовность характеризует способность объекта сохранять требуемые свойства и выполнять предназначенные функции в течение заданного срока. В представленной работе готовность рассматривается как функция двух параметров. Первым параметром является доступность - вероятность корректного ответа на запрос к системе в фиксированный момент времени. Второй параметр - отказоустойчивость, т. е. отношение времени восстановления системы после отказа ко времени ее работы в целом за заданный промежуток времени.
Отсюда можно сделать важные выводы:
-
- готовность программного обеспечения является не только внутренним свойством программы;
-
- готовность программного обеспечения зависит от качества взаимодействия компонентов системы;
-
- готовность программного обеспечения (ПО) - это функция как самой системы, так и ожиданий (действий) пользователей ПО и внешних деструктивных факторов.
Следовательно, для любой системы, состоящей из иерархически организованного, функционально разделяемого набора компонентов, важной задачей является распределение между элементами потока данных, внешнего по отношению к системе. Такое распределение является функцией упомянутого выше специального компонента и реализуется в два этапа.
Первым этапом является разработка показателей, пригодных для оценки внутрисистемных взаимодействий. На втором этапе система проектируется с учетом полученных аналитических зависимостей между значимыми показателями, выбранными на первом этапе, и вносимых в проект технических, стоимостных и иных ограничений. В данной работе рассмотрен первый этап анализа.
Система, для которой разработана модель распределения нагрузки между компонентами узла, является многоузловой локально распределенной системой. Узел состоит из ряда различных программных компонентов, разбитых на блоки по функциональному признаку при декомпозиции (рис. 1 на с. 41). На практике применение систем с подобным компонентным набором ограничено достаточно широким кругом задач межсетевых взаимодействий как между кластерами локальной сети, так и между различными локально распределенными компьютерными сетями, предназначенными для управления, обработки и хранения данных.
Эксперимент над системой планировался следующим образом:
-
- на каждый компонент посылался поток внешних по
отношению к узлу запросов;
-
- анализировался процент полученных откликов;
-
- проверялась их корректность.
0.9 1 О
В результате были получены данные, характеризующие среднюю вероятность успешной транзакции для всей системы (рис. 2).
О*
0,9

Рис. 2. Область допустимых параметров системы ^ , полученная на модели, учитывающей структуру узла: D - доступность; О - отказоустойчивость
Определенной по результатам проведенных на модели тестов области соответствует эллипс Л . Отклонения от допустимых параметров, полученные после нескольких опытов, объясняются присутствием неконтролируемого внешнего фактора (сбоев программного обеспечения).

Рис. 1. Структура узла системы
Для достижения состояния системы, соответствующего высоким характеристикам ее надежности, применяется ряд методов (рис. 3) [2].

Рис. 3. Классификация методов обеспечения надежности
Среди средств, использующих временную избыточность, в качестве основных выделяются авторизация доступа пользователей к системе, анализ доступных пользователю ресурсов, выделение ресурсов согласно ролям и уровням подготовки пользователей, разграничение прав доступа пользователей к отдельным задачам, функциям управления, записям и полям баз данных.
Характерной особенностью средств, использующих информационную избыточность, является их зависимость от целостности данных. Ссылочная целостность баз данных обеспечивается за счет системы внутренних уникальных индексов для всех информационных записей системы, блочной системы шифрования на основе открытых ключей; механизмов проверки значений контрольных сумм записей системы, в том числе и сертифицированных средств контроля, которые обеспечивают выявление всех несанкционированных модификаций (ошибок, сбоев) информации; средств регистрации, которые обеспечивают хранение информации о пользователе и времени последней модификации каждой записи информационной системы. Также применяются механизмы блокировки информации для закрытых обменов данными, контроль нарушений технологических этапов обработки информации, средства автоматического резервного копирования и восстановления данных (в начале, конце сеанса работы или по запросу пользователей).
Средства, использующие программную избыточность, применяются в комплексе с иными средствами обеспечения надежности. Ими обеспечиваются распределение реализации одноименных функций по разным модулям системы, обнаружение и регистрация ошибок в сетевом и локальных протоколах, протоколирование процессов с выдачей подробной диагностики ошибок, отладка и трассировка алгоритмов пользовательских функций.
Дополнительно используются следующие средства повышения доступности системы:
-
- средства, обеспечивающие устойчивость системы к ошибкам (процедура обработки сбоев позволяет в автоматическом режиме сделать несколько попыток повторного выполнения операций);
-
- средства динамического изменения конфигурации, контролирующие доступ к сетевым ресурсам, а в случае их недоступности или конфликта обеспечивающие автоматический запуск системы по альтернативным путям доступа;
-
- средства контроля и обслуживания данных, восстанавливающие заголовки баз данных и индексные файлы, конвертирующие модифицированные структуры баз данных;
-
- средства слияния, копирования, архивирования и восстановления данных.
Ключевой задачей при обеспечении надежного функционирования системы является предотвращение ошибок. Решение этой задачи приобретает особое значение, если передаваемая информация имеет высокую ценность. Во время сетевых транзакций данных основным тестируемым элементом системы является программное обеспечение.
Угрозы надежности программного обеспечения бывают внутренние и внешние. К внутренним угрозам относятся некорректные проектирование и алгоритмизация, недостаточное качество средств защиты, неполная или несоответствующая действительности спецификация; к внешним - не соответствующие политике безопасности и проектным ограничениям системы действия пользователей, изменения конфигурации системы, сбои и отказы аппаратуры ЭВМ, искажение информации в каналах связи.
Таким образом, для обеспечения надежности системы, состоящей из нескольких компонентов, выделенных по функциональному признаку, существенным является уровень надежности ее функционирования.
Эффективность обеспечения надежности компонентов системы будет зависеть от следующих параметров:
-
- эффективности исследования внешней среды, обеспечиваемой средствами информационной избыточности и устойчивости системы;
-
- эффективности контроля функций системы, обеспечиваемой средствами программной избыточности и динамического управления конфигурацией;
-
- эффективности контроля, блокировки и коррекции сбоев, обеспечиваемой средствами временной избыточности и контроля, обслуживания и хранения данных;
-
- экономической эффективности системы.
Для технических параметров эффективность их работы рассматривается как отношение вероятного времени простоя системы к суммарному времени ее работы. Такая оценка эффективности называется оценкой со стороны пользователя и традиционно применяется в системах с использованием доставки служб пользователям по ненадежным техническим каналам [5].
Экономическая оценка эффективности предполагает оценку безубыточности, или расчет выгоды от внедрения той или иной технологии. При этом область информационных технологий, в частности область систем обеспечения надежности программных комплексов, имеет такую особенность, что подсчет выгоды является сложной задачей, связанной со сложностью оценки самой информации и ее потоков в системе.
Для предотвращения снижения надежности системы предлагается исследование ряда параметров операционной среды и внутренних характеристик системы.
Авторами в качестве такой характеристики предложено использовать коэффициент уникальности. Это показатель, характеризующий способность компонентов системы выполнять тождественные функции, аналитичес-
F ки задаваемый как отношение А = —, где F - набор Fc функций компонента; Fс - эталонный набор функций, с которым производится сравнение. Набор функций оце нивается экспериментатором исходя из конкретных условий, с применением нормированной шкалы. Применение коэффициента уникальности позволяет с большой степенью вероятности определить успешные варианты распределения нагрузки.
Для выработки механизма распределения нагрузки важными являются следующие показатели:
-
- коэффициент уникальности компонентов;
-
- веса дуг графов, отражающих критичные сетевые транзакции;
-
- результаты тестирования системных компонентов;
-
- значения вероятностной функции доступности.
Этапы распределения нагрузки, таким образом, представлены набором действий, совершаемых системой тестирования и контроля (рис. 4).
Вес дуги графа определяется как произведение коэффициента уникальности К t .., Кп на вероятность корректного оклика на запрос от проверяемого компонента системы, которая определяется в ходе эксперимента над моделью, учитывающей характеристики компонентов узла.
На первом этапе производится анализ матрицы коэффициентов уникальности, встроенной в механизм тестирования, и строится графическая модель системы, соответствующая ее структурной, функциональной и логической моделям, а также иерархии компонентов.
На втором этапе, с учетом результатов первого, «слепого» тестирования, т. е. тестирования методом опроса всех компонентов системы без учета иерархии и коэффициентов уникальности, строится график вероятностного распределения, характеризующий доступность системных компонентов. Такое тестирование принимается за исходное и не имеет обратной связи.
На третьем этапе производится второе, «интеллектуальное» тестирование, учитывающее результаты исходного и увеличивающее точность измерения вероятности отказа для компонентов с высокими коэффициентами уникальности, а также находящимися в области высоких вероятностей отказа.
Четвертый этап предполагает тестирование с учетом иерархии и функциональных особенностей компонентов. На основании этого тестирования строятся графы меж-

Рис. 4. Схема распределения нагрузки с учетом коэффициента уникальности
сетевых взаимодействий и определяется их вес для данной системы.
На пятом этапе происходит распределение нагрузки для элементов системы в соответствии с графами доступа, причем для описания системы применено распределение Парето [3].Такое распределение описывается зависимостью Pr( X > х ) ~ х - a,0 где Pr(X > х) - вероятность превышения случайной величиной заданного числа. Для подобного распределения характерно бесконечное значение дисперсии, а при а< 1 - бесконечное математическое ожидание. Кроме того, оказывается, что большая часть загрузки приходится на очень малую часть (< 1 %) длинных интервалов [4].
Выделение компонентов системы, произошедшее как результат ее декомпозиции, позволяет разделить их с точки зрения задачи распределения нагрузки. Для уровня функциональной тождественности выделяются три группы элементов:
-
- элементы, функционально тождественные, с возможностью прямой замены;
-
- элементы, имеющие сходный набор функций, с возможностью косвенной замены;
-
- элементы, функционально нетождественные, без возможности взаимной замены.
Компоненты, разделяемые согласно структурной модели, не являются атомарными, т. е. в случае введения дополнительных критериев декомпозиции возможно их разбиение на субкомпоненты [5]. Но при этом они могут быть оценены по степени уникальности выполняемой функции и, соответственно, по возможности выполнения функций одного компонента другим без введения дополнительной избыточности или в случае использования «холодной» замены. Приведенная выше аналитическая запись коэффициента уникальности показывает, что за одну условную единицу принята тождественность функций, исполняемых отдельными компонентами. Согласно расчетам, подтвер жденным проведенным анализом выходных данных модели, приведенные в таблице значения коэффициента Ку могут быть применены при проектировании локально распределенных надежных систем.
Применение расчетных данных при планировании и исполнении эксперимента на модели узла системы позволило авторам определить значения коэффициента уникальности, служащего основой для построения аналитической модели потоков данных в системе. Как результат, определены направления дальнейшего анализа системы, направленного на решение задачи обеспечения надежности.
Таким образом, приведенное решение задачи распределения нагрузки, полученное в виде матрицы коэффициентов уникальности компонентов, позволяет формировать надежную систему управления, состоящую из локально распределенных узлов с гетерогенной внутренней средой. Характеристики выделенных по функциональному признаку компонентов в совокупности с полученной оценкой готовности системы позволяет формировать базовые значения показателей при проектировании надежных систем управления.