Методы создания компьютерной системы с высокой надежностью
Современные технические системы, в том числе компьютерные системы (КС) различного назначения, должны удовлетворять требованиям высокой надежности функционирования, что является гарантией выполнения качественной поддержки прикладного процесса (бизнес – процесса).
КС должна удовлетворять множеству различных требований к качеству функционирования, при этом удовлетворять требования клиентов, персонал, владельца и администрации. Причем выполнение различных требований взаимозависимы. Анализ показывает, что для обеспечения надежности важное значение имеют функциональные (производственно-технические) характеристики КС. Например, для достижения надежности и отказоустойчивости важны скоростные характеристики системы. Если скорость позволяет выполнить операцию в течение времени 1, для выполнения которой требуется длительность 2, то появится разница времени =
2 - 1, которая для системы является ресурсом для решения задачи надежности. Использование позволяет повторное выполнение операции для подверждения надежности (правильности) результата данной операции и восстановления после сбоя, в случае его возникновения. В последнем случае система успеет восстановиться до момента потребности в результатах данной операции при решении прикладной (или бизнес) задачи.
Таким образом, при создании КС необходимо учитывать множество разнообразных и противоречивых требований.
- Структура задачи обеспечения надежности КС. Надежность КС достигается при одновременном решении следующих задач:
- отказостойкость элементной базы;
- монтаж узлов из элементов с перестраиваемой структурой;
- организация корпоративных принципов работы узлов.
- ввод пространственной и временной избыточности функционирования.
- резервирование узлов КС на основе однородной системы c восстановлением;
- репликация ресурсов;
- распределение функций по управлению состоянием аппаратуры между разными системами с перекрытием функций (в частности между бортовой и наземной системой управления повторить основные функции по контролю и управлению бортовых систем и оборудования);
- обеспечение катастрофоустойчивости системы.
- защита ресурсов системы;
- безопасность функционирования. Обеспечивая отказоустойчивость КС, следует еще обеспечить безопасность КС для внешних систем, т.е. безвредность для среды. Для контроля безвредности действия КС для окружающих и для бизнеса необходима надсистема, состоящая из метамодели;
- помехозащищенность передаваемых данных;
- эффективность реализации и организации совместного выполнения всех представленных задач (требований);
- достичь эффективного администрирования - менеджмента (Help dick, open vawe, Service disc и т.д.) как для наземной, так и бортовой системы;
- ситуационное управление всей компьютерной системы.
Результаты исследования различных вариантов организации отказо-устойчивости показывают, что ни одна технология надежности, взятая в отдельности, не обеспечит высокий уровень отказоустоичивости и надежности.
Отсюда вытекает, что для достижения более высоких результатов в надежности, необходимо использовать все имеющиеся технологии надежности, которые требуют системного рассмотрения и решения. Однако, это приведет к возрастанию сложности системы и процессов управления ею. Поэтому необходима методика, объединяющая все эти технологии, приводящие к единой системе, но в то же время, позволяющая ограничение сложности КС.
Таким образом, на основе результатов предложена иерархическая технология достижения отказоустойчивости и надежности, которая является системной.
- Иерархическая технология достижения надежности. Состав иерархической технологии обеспечения надежности из следующих отдельных технологии, которые между собой взаимосвязаны иерархической структурой:
- удаленное резервирование КС.
- защита системы от инцидетов и безопасность для окружения
- местное резервирование узлов
- архитектура (структура) узлов КС с перестраиваемой логикой
- отказостойкость элементов: аппаратные и программные
- Организация реализации иерархической технологии надежности. Данная иерархическая организация технологии обеспечения надежности обеспечивается путем создания аппаратно-программной платформы.
Здесь остановимся на одном из методов программной реализации на основе агентной технологии.
Процесс обеспечения отказоустойчивости ВС можно организовать двояко: на основе жесткой централизации и на основе децентрализации процессов управления ВС. Второй подход базируется на агентную технологию. Согласно данной технологии каждый узел оформляется в виде агента. Тогда, каждый агент, выполняя свою основную функцию, одновременно выполняет функцию контроля за состоянием другого узла и по результатам принимает решения по управлению его состояния.
Таким образом, каждый узел выступает и как управляющий - Master, так и управляемый – Slave. В режиме Master узел осуществляет контроль за работой Slave, сохраняет через определённые интервалы времени состояния выполняемого на Slave-узле фрагмента параллельной программы и в случае отказа Slave-узла восстанавливает вычисления с последней точки сохранения на другом узле ВС в соответствии с заданной схемой распределения ролей.
Возможен и другой вариант, когда восстановление состояния (вычислений) узла происходит не по заранее заданной схеме распределения ролей, а в динамике, в зависимости, например, от загруженности компьютерной системы. Если на узле происходит сбой, то производится попытка перезапуска программы на этом узле. Если сбой продолжает повторяться, и причина сбоя также, тогда вычисления переносятся на другой узел. Данный подход позволяет реализовать достаточно гибкую схему обеспечения отказоустойчивости вычислений. Надежность системы еще достигается надежным кодированием транспортируемых данных.
Для отказоустойчивости важна и скорость работы КС. Если КС работает быстрее, чем требует бизнес, то операцию можно повторить или восстановить после сбоя и снова попытаться решить задачу. Поэтому организация процесса отказоустойчивости и надежности базируется на основе временного ресурса.
ЛИТЕРАТУРА
- . Надежность в технике. Термины и определения // ГОСТ 27002-89
- . Надежность технических систем. Справочник. Под ред. И.А. Ушакова // М.: Радио и связь, 1985.
- . Гнеденко Б.В., Беляев Ю. К., Соловьев А.Д. Математические методы в теории надежности // М.: Наука, 4 . Дружинин Г.В. Надежность автоматизированных производственных систем // М.: Энергоатомиздат, 1986.