Похожие презентации:
5. Оперативные методы повышения надежности - временная, информационная, программная избыточность
1. Оперативные методы повышения надежности: временная, информационная, программная избыточность
2. Оперативные методы повышения надёжности
Оперативные методы повышения надёжности — это совокупностьинженерных и программных решений, применяемых непосредственно в
процессе функционирования компьютерных систем для предотвращения,
обнаружения и устранения отказов.
В отличие от проектных методов, которые закладываются на этапе
разработки, оперативные методы реализуются в ходе эксплуатации и
позволяют повысить устойчивость системы к сбоям и ошибкам.
К основным оперативным методам
повышения надёжности относятся:
• временная избыточность,
• информационная избыточность,
• программная избыточность.
3. Временная избыточность
Временная избыточность — это введение дополнительных временныхзатрат на выполнение операций с целью повышения вероятности их
корректного выполнения.
Суть метода заключается в том, что система выполняет одну и ту же
операцию несколько раз или с задержкой, чтобы выявить и устранить
возможные ошибки.
Примеры временной избыточности
• Повторное выполнение операций:
Если результат вычисления вызывает сомнение, операция повторяется.
Если результаты совпадают, они считаются достоверными.
Задержка исполнения:
Между этапами обработки данных вводится пауза, чтобы дождаться
стабилизации сигналов или завершения переходных процессов.
Контрольные интервалы:
Система периодически проверяет своё состояние или состояние
отдельных узлов.
4. Временная избыточность
Преимущества
Простота реализации.
Эффективность при борьбе с кратковременными сбоями (например,
импульсными помехами).
Недостатки
Снижение производительности системы.
Неэффективность при систематических ошибках.
5. Информационная избыточность
Информационная избыточность — это добавление к исходным даннымдополнительных сведений, позволяющих обнаруживать и исправлять ошибки,
возникшие при передаче, хранении или обработке информации.
Наиболее распространённые способы реализации — коды обнаружения и
исправления ошибок.
Основные методы
• Контрольные суммы:
К блоку данных добавляется значение, вычисляемое по определённому
алгоритму. При получении данных контрольная сумма пересчитывается и
сравнивается с исходной.
• Коды Хэмминга:
Позволяют не только обнаруживать, но и исправлять одиночные ошибки в
данных.
• Циклические избыточные коды (CRC):
Широко используются для проверки целостности данных при передаче по
каналам связи.
6. Информационная избыточность
ПреимуществаВысокая эффективность при обнаружении и исправлении ошибок.
Возможность применения как на аппаратном, так и на программном
уровне.
Недостатки
Увеличение объёма передаваемых или хранимых данных.
Дополнительные вычислительные затраты.
7. Программная избыточность
Программная избыточность — это использование несколькихнезависимых программных реализаций одной и той же функции или
алгоритма.
Основная идея — сравнение результатов работы разных программных
модулей для выявления и устранения ошибок.
Основные подходы:
• N-вариантное программирование:
Несколько независимых групп разработчиков пишут разные версии одной
программы. В процессе работы результаты сравниваются, и при расхождении
выбирается правильный или выполняется повторное вычисление.
• Контрольные точки и восстановление:
Система периодически сохраняет своё состояние (контрольные точки),
чтобы в случае сбоя вернуться к последней стабильной версии.
• Самопроверяющиеся программы:
В код встраиваются дополнительные проверки, позволяющие выявлять
внутренние ошибки.
8. Программная избыточность
Преимущества• Высокая надёжность за счёт дублирования логики.
• Возможность обнаружения сложных программных ошибок.
Недостатки
• Значительное увеличение затрат на разработку и сопровождение.
• Рост требований к вычислительным ресурсам.
9. Практическое задание
Вам предложены три типовых сценария сбоев в работе компьютернойсистемы. Для каждого случая необходимо:
Определить наиболее подходящий оперативный метод повышения
надёжности (временная, информационная или программная избыточность).
Указать преимущества и недостатки выбранного метода в данном
контексте.
• Сценарий 1
В сервере базы данных периодически возникают кратковременные сбои
при записи данных на диск из-за нестабильной работы контроллера. Ошибки
проявляются как случайные искажения отдельных байтов в файлах.
• Сценарий 2
В системе управления промышленным роботом критически важно, чтобы
команды управления не искажались при передаче по сети. Даже одна неверная
команда может привести к аварии.
• Сценарий 3
В программном обеспечении для расчёта траектории полёта самолёта
используется сложный математический алгоритм. Существует риск, что из-за
ошибки в коде или переполнения памяти результат вычисления будет
неверным, что приведёт к потере управления.
10. Практическое задание
Разбор сценариев:Сценарий 1. Искажение данных на диске
Рекомендуемый метод: информационная избыточность.
Реализация: при записи данных на диск к каждому блоку добавляется
контрольная сумма (например, CRC32). При чтении блока система
пересчитывает контрольную сумму и сравнивает её с записанной. Если
значения не совпадают, блок считается повреждённым. В зависимости от
архитектуры, система может либо попытаться восстановить данные (если
используется код с исправлением ошибок, например, Рида-Соломона), либо
запросить повторную запись/копию из резервного источника.
Преимущества:
• Позволяет обнаруживать и иногда исправлять ошибки без участия
пользователя.
• Эффективно борется со случайными искажениями данных.
Недостатки:
Требует дополнительного места для хранения контрольных сумм.
Вносит небольшие вычислительные и временные задержки.
11. Практическое задание
Разбор сценариев:Сценарий 2. Передача команд по сети
Рекомендуемый метод: информационная избыточность (с обязательным
подтверждением).
Реализация: каждая команда управления перед отправкой снабжается
контрольной суммой или кодом CRC. Получатель проверяет целостность
пакета. Если контрольная сумма не совпадает, пакет отбрасывается. Для
гарантии доставки и правильности используется механизм квитирования
(acknowledgement): отправитель ждёт подтверждения получения, и если оно не
приходит или сообщает об ошибке, команда отправляется повторно.
Преимущества:
Гарантирует, что исполняется только корректная команда.
Высокая надёжность передачи данных.
Недостатки:
• Увеличивает сетевой трафик из-за служебной информации и повторных
передач.
• Вносит задержки в управление (важно для систем реального времени).
12. Практическое задание
Разбор сценариев:Сценарий 3. Ошибка в математическом алгоритме ПО
Рекомендуемый метод: программная избыточность (N-вариантное
программирование).
Реализация: критически важный алгоритм реализуется двумя (или более)
независимыми командами программистов на разных языках или с
использованием разных подходов. Система запускает оба модуля
одновременно. Если их результаты совпадают в пределах допустимой
погрешности, результат принимается. Если результаты различаются, система
сигнализирует об ошибке и может перейти в безопасный режим или
использовать третий, контрольный алгоритм.
Преимущества:
• Позволяет обнаруживать сложные логические ошибки и ошибки
реализации, которые не выявляются тестированием.
• Максимально высокая надёжность для критических функций.
Недостатки:
Очень высокая стоимость разработки и поддержки.
Значительное увеличение нагрузки на процессор и память.
13. Практическое задание
Задание 1. Временная избыточностьСитуация: при отправке сообщения в чате иногда возникает ошибка
«Сообщение не доставлено» из-за кратковременного сбоя интернета.
Задача: опишите, как можно реализовать временную избыточность для
решения этой проблемы. Предложите простой алгоритм действий для
программы.
Задание 2. Информационная избыточность
Ситуация: вы скачиваете файл из интернета, и из-за помех в сети
некоторые данные могут быть переданы неверно.
Задача: объясните, как информационная избыточность помогает
проверить, что файл скачался без ошибок. Приведите простой пример
(например, с контрольной суммой).
Задание 3. Программная избыточность
Ситуация: на космическом корабле есть два независимых компьютера,
которые должны рассчитать траекторию посадки.
Задача: опишите, как работает программная избыточность в этом случае.
Что должна делать система, если результаты расчётов двух компьютеров не
совпали?