Методы отказоустойчивости в компьютерной системе

Опубликовано: 28 Января, 2022

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

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

Аппаратные методы отказоустойчивости:
Обеспечить отказоустойчивость оборудования просто по сравнению с программным обеспечением. Методы отказоустойчивости обеспечивают правильную работу оборудования и дают правильный результат, даже если в аппаратной части системы происходит сбой. В основном используются два метода обеспечения отказоустойчивости оборудования:

  1. БИСТ -
    BIST расшифровывается как Build in Self Test. Система снова и снова проводит самопроверку по прошествии определенного периода времени, что является методом BIST на отказоустойчивость оборудования. Когда система обнаруживает неисправность, она отключает неисправный компонент и включает его резервный. Система в основном реконфигурирует себя в случае возникновения неисправности.
  2. TMR -
    TMR - это тройное модульное резервирование. Генерируются три резервные копии критических компонентов, и все эти три копии запускаются одновременно. Голосование результатов всех дублирующих копий проводится и выбирается результат большинства. Он может допускать возникновение единственной неисправности за раз.

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

  1. Программирование N-версии -
    При программировании N-версий N версий программного обеспечения разрабатываются N отдельными лицами или группами разработчиков. Программирование N-версии похоже на TMR в технике отказоустойчивости оборудования. При программировании N-версии все избыточные копии выполняются одновременно, и получаемый результат отличается от каждой обработки. Идея программирования n-версий состоит в том, чтобы устранить все ошибки только во время разработки.

  2. Блоки восстановления -
    Техника блоков восстановления также похожа на программирование n-версии, но в технике блоков восстановления избыточные копии генерируются только с использованием других алгоритмов. В блоке восстановления все избыточные копии не запускаются одновременно, и эти копии запускаются одна за другой. Техника блока восстановления может использоваться только в том случае, если крайние сроки выполнения задачи превышают время ее вычисления.

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

Вниманию читателя! Не переставай учиться сейчас. Получите все важные концепции теории CS для собеседований SDE с курсом теории CS по доступной для студентов цене и будьте готовы к отрасли.