Обеспечение надежности программ с помощью введения избыточности 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Обеспечение надежности программ с помощью введения избыточности



Отсутствие физического разрушения компонент функционирующего комплекса программ позволяет добиваться высокой автоматизации программного восстановления. Главной задачей становится восстановление за время, не превышающее порогового значения между сбоем и отказом. В результате можно преобразовать отказы в сбои и тем самым улучшить показатели надежности функционирования системы. Для решения этой задачи в программной системе должны быть средства, позволяющие:

§ проводить систематический контроль и обнаруживать аномалии процесса функционирования или состояния программ и данных;

§ диагностировать обнаруженные искажения; выбирать методы и средства оперативного восстановления (рестарта);

§ реализовывать оперативное восстановление нормальной работоспособности;

§ регистрировать каждый происшедший сбой или отказ и обобщать с данными предыдущих искажений для выявления систематических случаев, требующих доработки программ или аппаратуры.

Реализация средств с такими функциями осуществляется за счет введения избыточности в программы, данные и процесс функционирования программного комплекса:

§ программной, включающей все программные компоненты, предназначенные для контроля, обнаружения, диагностики и восстановления работоспособности;

§ информационной, заключающейся в дублированном хранении данных и средств кодовой помехозащиты информации;

§ временной, состоящей в выделении необходимых резервов процессорного времени ЭВМ на исполнение программ, обеспечивающих оперативный контроль и восстановление (рестарт) функционирования.

Перечисленные виды избыточности используются совместно и требуют некоторых ресурсов ЭВМ по объему оперативной памяти, памяти команд и производительности. Доля этих ресурсов обычно находится в пределах 3-10 % от максимального значения, однако при таких даже относительно небольших затратах надежность функционирования (наработка на отказ) программ возрастает на один-два порядка.

Критерии, используемые в теории надежности, являются статистическими и в том или ином виде учитывают временные показатели. В зависимости от целевого назначения систем для анализа показателей надежности их целесообразно разделить на два класса: невосстанавливаемые и восстанавливаемые. Для оценки надежности восстанавливаемых систем (программ) необходимо знать характеристики многократных отказов и восстановлений в процессе их функционирования. Процесс восстановления достаточно полно описывается показателями: вероятностью восстановления за некоторое время, плотностью распределения времени восстановления и средним временем восстановления.

Объединение характеристик отказов и восстановлений производится в следующих критериях: наработка на отказ и коэффициент готовности. Значение коэффициента готовности соответствует доле времени полезной работы программ на достаточно большом интервале, содержащем отказы и восстановления. Для оценки стареющей и разрушающейся аппаратуры в теории надежности вводится ряд показателей, которые неприменимы к сложным КП.

При искажении вычислительного процесса или данных задача состоит в максимально быстром обнаружении искажения, возможно точной классификации типа уже имеющихся и возможных последствий искажения, а также в проведении мероприятий, обеспечивающих быстрое восстановление нормального функционирования КП. Неизбежность ошибок в сложных программных системах, искажений исходных данных и аппаратных сбоев приводит к необходимости регулярной проверки процесса исполнения программ и сохранности данных. В процессе проектирования недостаточно создать правильные программы, выдающие верные результаты при идеальных исходных данных и абсолютном отсутствии любых возмущений. Требуется разрабатывать надежные программы, устойчивые к различным возмущениям и способные сохранять достаточное качество выходных результатов в реальных условиях функционирования. В любых ситуациях, прежде всего, должны исключаться катастрофические последствия и длительные отказы или в максимальной степени смягчаться их влияние на результаты, выдаваемые пользователю.

Избыточность для обеспечения надежности функционирования КП используется, прежде всего, для контроля и селекции искажений вычислительного процесса или данных и для выработки мер по снижению последствий этих аномалий. Основная задача состоит в ограничении или исключении возможности аварийных последствий, соответствующих отказу системы в процессе функционирования.

Под временной избыточностью понимается использование некоторой части производительности ЭВМ для контроля исполнения программ и восстановления вычислительного процесса. Для этого при проектировании программ должен предусматриваться запас производительности, который затем используется для контроля и повышения надежности функционирования. Диагностика искажений и операций восстановления требует в общем случае небольшой интервал времени, который выделяется либо за счет резерва, либо за счет сокращения времени решения функциональных задач.

Информационная избыточность состоит в дублировании накопленных исходных и промежуточных данных, обрабатываемых КП. Избыточность используется для сохранения достоверности данных, которые в наибольшей степени влияют на нормальное функционирование программ или требуют значительного времени для восстановления. Информационная избыточность может способствовать не только обнаружению искажений данных, но и устранению ошибок. Для этого данные защищают двух-, трехкратным дублированием с соответствующей дисциплиной контроля сохранности и периодического обновления.

Программная избыточность используется для контроля и обеспечения достоверности наиболее важных результатов обработки информации. Она заключается в применении в КП нескольких вариантов программ, различающихся методами решения некоторой задачи или программной реализации одного и того же метода. Программная избыточность необходима также для реализации программ контроля и оперативного восстановления данных с использованием информационной избыточности и для функционирования всех средств защиты, использующих временную избыточность.

Последовательный характер исполнения программ процессором ЭВМ приводит к тому, что средства программного контроля включаются после исполнения рабочих программ. Поэтому средства программного контроля не могут обнаруживать непосредственное возникновение искажения вычислительного процесса или данных и фиксируют, как правило, только последствия первичного искажения. Последствия такого первичного искажения в ряде случаев могут развиваться во времени и принимать катастрофический характер отказа при увеличении запаздывания в обнаружении первичного искажения. Факт наличия любого искажения желательно обнаруживать при минимальных затратах ресурсов ЭВМ и с минимальным запаздыванием. Это приводит к использованию иерархических схем контроля, при которых несколько методов используется последовательно в порядке углубления контроля и увеличения затрат до достоверного выявления искажения. С точки зрения построения средств защиты и распределения ресурсов ЭВМ можно выделить искажения результатов трех типов:

§ приводящие к прекращению выполнения основных функций КП на длительное или неопределенное время;

§ кратковременно, но значительно искажающие отдельные результаты по их смысловому содержанию или величине;

§ мало и кратковременно влияющие на результаты, выдаваемые программами.

Такое качественное деление искажений предопределяет распределение ресурсов по защите. Наибольшие ресурсы целесообразно выделять и в максимальной степени следует принимать меры защиты от искажений информации и вычислительного процесса первого типа, последствия которых могут проявляться в следующем виде:

§ зацикливание, то есть последовательная повторяющаяся реализация определенной группы команд, не прекращающаяся без внешнего вмешательства;

§ останов и прекращение решения функциональных задач; искажение процессов взаимного прерывания программ, приводящее к блокировке возможности некоторых типов прерываний; прекращение или значительное снижение темпа решения некоторых задач вследствие перегрузки ЭВМ по пропускной способности;

§ значительное искажение или потеря накопленной информации о текущем состоянии внешней среды.

Искажения информации и вычислительного процесса второго типа также весьма опасны, и для защиты от них следует применять эффективные меры. Эти искажения могут проявляться в следующем виде:

§ пропуск модуля или группы программ;

§ выход на программы или их части, резко искажающие результаты;

§ обработка ложных или сильно искаженных сообщений.

Искажения третьего типа характерны в основном для квазинепрерывных величин, вследствие чего возможны небольшие отклонения результатов. Эти ошибки в среднем мало искажают общие результаты, однако отдельные выбросы могут сильно влиять на функционирование КП и требуется эффективная защита от редких значительных отклонений результатов.

Перечисленные типы искажений существенно различаются не только по степени изменения результатов, но и по длительности проявления их последствий. В зависимости от степени проявления и причин обнаруженных искажений применяются различные оперативные меры для ликвидации их последствий, восстановления информации и сохранения устойчивости процессов вычислений и управления. Выбор метода оперативного восстановления происходит в условиях значительной неопределенности сведений о характере предотказовой ситуации и ее возможного влияния на работоспособность КП. Кроме того, восстановление работоспособности желательно производить настолько быстро, чтобы отказовую ситуацию можно было свести до уровня сбоя.

Введение средств контроля и помехозащиты в программы позволяет скомпенсировать их неполную отлаженность и снизить влияние возмущений различных типов. Однако одними средствами контроля и обеспечения программной помехозащиты невозможно достигнуть высокой надежности функционирования КП. Возникает оптимизационная задача распределения ресурсов на отладку и на помехозащиту, обеспечивающих заданную надежность функционирования программ при минимальных суммарных затратах. Таким образом, так же как в аппаратурных комплексах, заданной надежности можно достигнуть либо путем повышения надежности компонент (отладкой программ), либо путем введения избыточности для контроля и резервирования (контроль и помехозащита программ), либо совместным сбалансированным применением этих методов повышения надежности.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-21; просмотров: 520; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.93.221 (0.006 с.)