В инженерии и теории систем избыточность — это преднамеренное дублирование критических компонентов или функций системы с целью повышения надежности системы , обычно в форме резервного копирования или отказоустойчивости , или для улучшения фактической производительности системы, например, в случае приемников GNSS или многопоточной компьютерной обработки.
Во многих критически важных для безопасности системах , таких как системы управления по проводам и гидравлические системы в самолетах , некоторые части системы управления могут быть утроены, [1] что формально называется тройным модульным резервированием (TMR). Ошибка в одном компоненте может быть перекрыта двумя другими. В тройной избыточной системе система имеет три подкомпонента, все три из которых должны выйти из строя, прежде чем система выйдет из строя. Поскольку каждый из них выходит из строя редко, а подкомпоненты спроектированы так, чтобы исключить общие режимы отказа (которые затем можно смоделировать как независимый отказ), вероятность отказа всех трех рассчитывается как чрезвычайно малая; ее часто перевешивают другие факторы риска, такие как человеческая ошибка . Электрические скачки, возникающие из-за ударов молнии , являются примером режима отказа, который трудно полностью изолировать, если только компоненты не питаются от независимых шин питания и не имеют прямого электрического пути в их межсоединении (для голосования требуется связь каким-либо образом). Избыточность может также быть известна под терминами «системы большинства голосов» [2] или «логика голосования» [3] .
Избыточность иногда приводит к снижению надежности вместо повышения — она создает более сложную систему, подверженную различным проблемам, может привести к небрежному отношению со стороны человека и может привести к более высоким производственным требованиям, которые, перегружая систему, могут сделать ее менее безопасной. [4]
Избыточность — это одна из форм надежности , применяемая в информатике .
Географическая избыточность приобрела важное значение в отрасли центров обработки данных для защиты данных от стихийных бедствий и политической нестабильности (см. ниже).
В информатике существует четыре основные формы избыточности: [5]
Модифицированная форма программной избыточности, применяемая к оборудованию, может быть:
Конструкции обычно проектируются с избыточными частями, что гарантирует, что если одна часть выйдет из строя, вся конструкция не разрушится. Конструкция без избыточности называется критичной к разрушению , что означает, что один сломанный компонент может вызвать обрушение всей конструкции. К мостам, которые разрушились из-за отсутствия избыточности, относятся Серебряный мост и мост Interstate 5 через реку Скагит .
Параллельные и комбинированные системы демонстрируют разный уровень избыточности. Модели являются предметом исследований в области надежности и техники безопасности. [6]
В отличие от традиционной избыточности, которая использует более одного экземпляра одной и той же вещи, разнородная избыточность использует разные вещи. Идея заключается в том, что разные вещи вряд ли будут содержать одинаковые недостатки. Метод голосования может включать дополнительную сложность, если две вещи занимают разное количество времени. Разнородная избыточность часто используется с программным обеспечением, поскольку идентичное программное обеспечение содержит одинаковые недостатки.
Вероятность отказа снижается при использовании не менее двух различных типов каждого из следующих:
Географическая избыточность устраняет уязвимости избыточных устройств, развернутых путем географического разделения резервных устройств. Географическая избыточность снижает вероятность таких событий, как отключение электроэнергии , наводнения , отказы систем отопления , вентиляции и кондиционирования воздуха, удары молний , торнадо , пожары в зданиях, лесные пожары и массовые расстрелы, которые могут вывести из строя большую часть системы, если не всю ее.
Географические места избыточности могут быть
Следующие методы могут снизить риск ущерба от пожара :
Географическая избыточность используется Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure, Netflix, Dropbox, Salesforce, LinkedIn, PayPal, Twitter, Facebook, Apple iCloud, Cisco Meraki и многими другими для обеспечения географической избыточности, высокой доступности, отказоустойчивости и обеспечения доступности и надежности их облачных сервисов. [15]
В качестве другого примера, чтобы минимизировать риск ущерба от сильных ураганов или ущерба от воды, здания могут быть расположены на расстоянии не менее 2 миль (3,2 км) от берега, с высотой не менее 5 футов (1,5 м) над уровнем моря. Для дополнительной защиты они могут быть расположены на расстоянии не менее 100 футов (30 м) от пойменных территорий. [16] [17]
Две функции избыточности — пассивная избыточность и активная избыточность . Обе функции предотвращают снижение производительности, превышающее пределы спецификации, без вмешательства человека, используя дополнительную емкость.
Пассивное резервирование использует избыточную мощность для снижения влияния отказов компонентов. Одной из распространенных форм пассивного резервирования является дополнительная прочность кабелей и стоек, используемых в мостах. Эта дополнительная прочность позволяет некоторым структурным компонентам выходить из строя без обрушения моста. Дополнительная прочность, используемая в конструкции, называется запасом прочности.
Глаза и уши являются рабочими примерами пассивной избыточности. Потеря зрения на один глаз не приводит к слепоте, но нарушается восприятие глубины . Потеря слуха на одно ухо не приводит к глухоте, но теряется направленность. Снижение производительности обычно связано с пассивной избыточностью, когда происходит ограниченное количество сбоев.
Активное резервирование устраняет снижение производительности путем мониторинга производительности отдельных устройств, и этот мониторинг используется в логике голосования. Логика голосования связана с переключением, которое автоматически перенастраивает компоненты. Обнаружение и исправление ошибок и Глобальная система позиционирования (GPS) являются двумя примерами активного резервирования.
Распределение электроэнергии является примером активного резервирования. Несколько линий электропередач соединяют каждое генерирующее предприятие с потребителями. Каждая линия электропередач включает в себя мониторы, которые обнаруживают перегрузку. Каждая линия электропередач также включает в себя автоматические выключатели. Сочетание линий электропередач обеспечивает избыточную мощность. Автоматические выключатели отключают линию электропередач, когда мониторы обнаруживают перегрузку. Электроэнергия перераспределяется по оставшимся линиям. [ необходима цитата ] В аэропорту Торонто есть 4 резервные электрические линии. Каждая из 4 линий обеспечивает достаточное питание для всего аэропорта. Подстанция точечной сети использует реле обратного тока для размыкания выключателей на линиях, которые выходят из строя, но позволяет электроэнергии продолжать поступать в аэропорт.
Системы электропитания используют планирование мощности для перенастройки активного резервирования. Вычислительные системы корректируют выход продукции каждого генерирующего объекта, когда другие генерирующие объекты внезапно выходят из строя. Это предотвращает условия отключения электроэнергии во время крупных событий, таких как землетрясение.
Чарльз Перроу , автор книги «Обычные несчастные случаи» , сказал, что иногда избыточность приводит к обратному эффекту и снижает, а не повышает надежность. Это может произойти тремя способами: во-первых, избыточные устройства безопасности приводят к более сложной системе, более подверженной ошибкам и несчастным случаям. Во-вторых, избыточность может привести к уклонению от ответственности среди рабочих. В-третьих, избыточность может привести к увеличению производственного давления, в результате чего система работает на более высоких скоростях, но менее безопасно. [4]
Логика голосования использует мониторинг производительности для определения того, как перенастроить отдельные компоненты, чтобы работа продолжалась без нарушения ограничений спецификации всей системы. Логика голосования часто включает компьютеры, но системы, состоящие из элементов, отличных от компьютеров, могут быть перенастроены с использованием логики голосования. Автоматические выключатели являются примером формы некомпьютерной логики голосования.
Простейшая логика голосования в вычислительных системах включает два компонента: основной и альтернативный. Они оба работают на схожем программном обеспечении, но выход альтернативного компонента остается неактивным во время нормальной работы. Основной компонент контролирует себя и периодически отправляет сообщение об активности альтернативному компоненту, пока все в порядке. Все выходы основного компонента останавливаются, включая сообщение об активности, когда основной компонент обнаруживает неисправность. Альтернативный компонент активирует свой выход и берет на себя управление основным компонентом после короткой задержки, когда сообщение об активности прекращается. Ошибки в логике голосования могут привести к тому, что оба выхода будут активными или неактивными одновременно или заставят выходы мерцать и выключаться.
Более надежная форма логики голосования включает нечетное число из трех или более устройств. Все выполняют идентичные функции, а выходные данные сравниваются логикой голосования. Логика голосования устанавливает большинство, когда есть несогласие, и большинство будет действовать, чтобы деактивировать выход от других устройств, которые не согласны. Одиночная неисправность не нарушит нормальную работу. Этот метод используется с системами авионики , такими как те, которые отвечают за работу Space Shuttle .
Каждый дублирующий компонент, добавленный в систему, снижает вероятность отказа системы в соответствии с формулой:
где:
Эта формула предполагает независимость событий отказа. Это означает, что вероятность отказа компонента B при условии, что компонент A уже вышел из строя, такая же, как вероятность отказа B, когда компонент A не вышел из строя. Существуют ситуации, когда это неразумно, например, использование двух блоков питания, подключенных к одной розетке таким образом, что если один блок питания выйдет из строя, другой тоже выйдет из строя.
Также предполагается, что для поддержания работоспособности системы необходим только один компонент.
Вы можете достичь более высокой доступности за счет избыточности. Допустим, у вас есть три избыточных компонента: A, B и C. Вы можете использовать следующую формулу для расчета доступности всей системы:
Наличие избыточных компонентов = 1 - (1 - наличие компонента A) X (1 - наличие компонента B) X (1 - наличие компонента C) [18] [19]
Следовательно, если у вас есть N параллельных компонентов, каждый из которых имеет X доступностей, то:
Наличие параллельных компонентов = 1 - (1 - X)^ N
Использование избыточных компонентов может экспоненциально повысить доступность всей системы. [19] Например, если каждый из ваших хостов имеет доступность только 50%, используя 10 хостов параллельно, вы можете достичь доступности 99,9023%.
Обратите внимание, что избыточность не всегда приводит к более высокой доступности. Фактически, избыточность увеличивает сложность, что в свою очередь снижает доступность. По словам Марка Брукера, чтобы воспользоваться преимуществами избыточности, убедитесь, что: [20]