Введение к работе
Актуальность работы
Распределенные вычислительные системы играют значительную роль в современном мире. Распределенные вычисления используются в науке, на производстве, в энергетике, в военном деле, в корпоративном программном обеспечении и во множестве других областей. Область применения распределенных систем быстро расширяется с развитием интернета.
В силу высокой сложности распределенных систем практически невозможно спроектировать и разработать надежную систему, не содержащую ошибок. Вероятность возникновения программного или аппаратного сбоя при эксплуатации распределенной системы довольно высока и может иметь очень серьезные негативные последствия. Таким образом, актуальной является задача повышения надежности эксплуатации или задача построения отказоустойчивых распределенных систем, которые могут самостоятельно устранять последствия сбоев без прекращения работы системы. Неотъемлемой частью отказоустойчивой системы является система мониторинга, обнаруживающая сбои в целевой системе и передающая сведения о сбоях системе восстановления.
Существует значительное количество методик построения отказоустойчивых систем. Одним из наиболее перспективных направлений является возвратное восстановление, заключающееся в восстановлении системы к некоторому ранее сохраненному стабильному состоянию в случае сбоя. Стоит отметить, что в некоторых случаях применение системы возвратного восстановления может быть более дешевым решением, чем устранение причин отказа.
Построение модели отказоустойчивой системы с применением методики возвратного восстановления является достаточно сложной задачей, имеющей значительное количество особенностей. Создание модели восстановления требует решения следующих проблем: обеспечение целостности взаимодействия элементов системы, обеспечение целостности взаимодействия системы и внешних устройств, обеспечение надежного сохранения и восстановления информации о состояниях системы, обеспечение высокой производительности процесса восстановления.
Для многих современных работ в области возвратного восстановления характерны следующие недостатки:
-
Сильные предположения относительно характера возможных сбоев. В частности, в большинстве работ рассматриваются только фатальные (например, аппаратные) сбои, приводящие к немедленной остановке процессов, хотя для многих реальных систем более характерны распространяющиеся программные сбои.
-
Сильные предположения относительно возможностей детектирования сбоев. Как правило, считается, что система мониторинга является централизованной, обладает полными сведениями об ошибках и минимальным временем реакции.
В настоящей работе рассматривается построение модели возвратного восстановления с учетом следующих предположений относительно целевой системы и системы мониторинга:
-
возможность программных распространяющихся сбоев;
-
невозможность определения истинных причин сбоя;
-
возможность распределенного характера системы мониторинга;
-
максимальная прозрачность системы восстановления для разработчика и конечного пользователя.
Актуальность данных предположений обусловлена тем, что одной из важнейших проблем современных распределенных систем являются ошибки синхронизации процессов, приводящие к распространяющимся сбоям. В случае ошибок синхронизации или ошибок, связанных с переполнением буфера, как правило, сложно установить истинную причину ошибки. Использование централизованной системы мониторинга в высоко распределенных системах, состоящих из большого количества узлов, может быть крайне неэффективным. Важной особенностью распределенной системы мониторинга является вероятностный характер сообщений об ошибках в связи с конечным временем синхронизации сведений, получаемых из разных узлов системы.
Для практической реализации построенной модели и исследования особенностей ее поведения был выбран класс многоагентных систем. Направление многоагентных систем является актуальным и быстро развивающимся, так как парадигма агентного программирования предлагает новые возможности для построения распределенных программных комплексов и интернет-ориентированных приложений. Основная идея парадигмы многоагентного программирования – использование автономных мобильных программных объектов, называемых агентами. Агенты взаимодействуют между собой и с внешней средой посредством отправки и получения сообщений.
Цели диссертационной работы
-
Построение адаптивной математической модели восстановления распределенной вычислительной системы в условиях распространяющихся ошибок.
-
Построение адаптивной модели восстановления распределенной вычислительной системы в условиях вероятностного характера информации о детектируемых ошибках.
-
Реализация модели восстановления распределенных систем на классе многоагентных систем с использованием многоагентной платформы JADE.
Методы исследования
В процессе научных исследований в работе использовались методы теории алгоритмов, математического моделирования, теории графов, теории множеств и теории конечных автоматов. Предложенные модели реализованы в виде комплекса программ, на основе которых проведён ряд вычислительных экспериментов.
Научная новизна работы
В работе предлагается модель возвратного восстановления распределенной системы в условиях распространяющихся сбоев. Впервые для повышения эффективности процесса восстановления в условиях недостатка знаний о целевой системе применяются адаптивные методики, а также предложенная методика определения консистентных состояний системы. Формулируется и реализуется требование наблюдаемой консистентности для расширения области применимости модели. Строится модель взаимодействия системы восстановления с распределенной системой мониторинга.
Практическая значимость работы
Основным практическим результатом работы является построение модели восстановления распределенных систем в условиях распространяющихся сбоев. Данная модель может быть использована для повышения надежности широкого класса распределенных систем.
В работе приведено описание реализации предложенной модели на классе многоагентных систем в рамках многоагентной платформы JADE. Предложенная реализация может быть использована для создания отказоустойчивых многоагентных приложений.
Апробация и реализация результатов работы
По теме диссертации опубликовано 9 работ, в том числе одна [9] – в издании из списка, рекомендованного ВАК РФ.
Результаты работы докладывались на XLVIII научной конференция МФТИ (Долгопрудный-Москва, 2005 г.), международной научной конференции «Технологии Microsoft в теории и практике программирования» (Москва, 2006 г.), XVI международном научно-техническом семинаре «Современные технологии в задачах управления, автоматики и обработки информации» (Алушта, 2007 г.), международной конференции AIS/CAD (Дивноморск, 2007 г.), международной конференции «Компьютерные науки и технологии» (Белгород, 2009 г).
Предложенная модель восстановления используется в программном комплексе автоматизированного абонентского обслуживания Mangoss.
Положения, выносимые на защиту
На защиту выносятся следующие основные положения:
-
Адаптивная математическая модель восстановления распределенной вычислительной системы в условиях распространяющихся сбоев.
-
Адаптивная математическая модель восстановления распределенной вычислительной системы в условиях вероятностного характера информации о детектируемых ошибках.
-
Методика реализации адаптивной модели восстановления на классе многоагентных систем.
Структура и объем работы