Содержание к диссертации
Введение
1. Надежность отказоустойчивых вычислительных систем ... 10
1.1. Организация отказоустойчивости вычислительных систем 10
1.2. Методы анализа надежности вычислительных систем 20
Выводы 41
2. Функционально-структурный подход к созданию вероятностных моделей оценки показателей надежности отказоустойчивых микропроцессорных систем ... 43
2.1. Моделирование в задачах анализа надежности вычислительных систем 43
2.2. Функционально-структурная модель процессора 48
2.3. Функционально-структурная модель памяти 51
2.4. Функционально-структурная модель механизмов повышения отказоустойчивости 55
2.5. Модель вычислительного процесса 57
2.6. Модель отказоустойчивой микропроцессорной системы.. 63
2.7. Организация вычислительного эксперимента... 66
Выводы 70
3. Программная среда функционально-структурного моделирования ... 71
3.1. Назначение и функции программной среды функционально- структурного моделирования 71
3.2. Проектирование программной среды функционально-структурного моделирования 74
3.3. Реализация программной среды функционально-структурного моделирования 85
3.4. Верификация программной среды функционально-структурного моделирования 90
Выводы 93
4. Применение программной среды функционально-структурного моделирования в задачах анализа надежности отказоустойчивых микропроцессорных систем 95
4.1. Отказоустойчивые микропроцессорные системы с двунаправленным и однонаправленным голосованием 95
4.2. Отказоустойчивые микропроцессорные системы с различными методами повышения надежности памяти 104
Выводы 113
Заключение 115
- Организация отказоустойчивости вычислительных систем
- Моделирование в задачах анализа надежности вычислительных систем
- Проектирование программной среды функционально-структурного моделирования
- Отказоустойчивые микропроцессорные системы с двунаправленным и однонаправленным голосованием
Введение к работе
Актуальность проблемы
Широкая автоматизация практически всех сфер человеческой деятельности с использованием вычислительной техники, робототехнических комплексов и высокопроизводительного прецизионного оборудования составляет одно из главных направлений научно-технического прогресса в настоящее время. Фундаментальной базой данной отрасли являются вычислительные средства различного назначения. Многолетний опыт разработки, производства и эксплуатации средств вычислительной техники привел к необходимости рассматривать в неразрывной связи вопросы конструирования средств вычислительной техники и их надежности. В настоящее время общепризнанно, что надежность является сложным неотъемлемым свойством любого промышленного изделия, а для таких устройств, которые участвуют в управлении технологическими процессами, объектами повышенной для человека опасности, дорогостоящими объектами, наземным, водным, воздушным транспортом и космическими аппаратами, надежность является наиважнейшим показателем.
Большинство вычислительных систем, управляющих процессами в особых ситуациях, обладают той или иной избыточностью для уменьшения или избежания последствий сбоев и отказов отдельных составляющих элементов таких систем. Эта избыточность заключается в использовании дополнительных аппаратных или программных средств, помимо функционально необходимых. Такие отказоустойчивые микропроцессорные системы (ОМС) обычно строятся на базе мультипроцессорных систем, состоящих из нескольких процессоров и модулей памяти и взаимодействующих посредством специализированного программно-аппаратного комплекса, обеспечивающего отказоустойчивость.
Создание и анализ такого рода систем представляет, собой сложную задачу. В процессе проектирования должны быть отобраны те варианты архитектуры ОМС, которые наиболее полно удовлетворяют заданным критериям, зачастую противоречивым. И, несомненно, одними из наиболее важных параметров ОМС, которые обычно требуется оценить на этапе проектирования, причем с высокой степенью достоверности, являются
^ показатели надежности.
Традиционными методами оценки показателей надежности систем являются комбинаторные методы и модели на основе марковских процессов. Однако эти подходы имеют ряд ограничений, которые сужают область их применения. Имитационное моделирование устраняет эти ограничения и позволяет отразить структурные свойства системы и ряд других более полно, по сравнению с аналитическими моделями. Большинство методов, направленных на решение задач анализа надежности
^ средствами имитационного моделирования, представляют систему на
низком уровне абстрагирования и ориентированы, как правило, на верификацию свойства отказоустойчивости ОМС, а не на анализ показателей надежности верхнего уровня, таких как, вероятность безотказной работы, наработка на отказ и т.п. Это подчеркивает необходимость разработки нового подхода к созданию имитационных моделей ОМС, которые бы отражали как процесс функционирования системы, так и ее состояние в смысле работоспособности, и, при этом,
^ позволяли бы исследовать структурные и функциональные аспекты
надежности.
Цель работы
Целью работы является: разработка нового функционально-структурного подхода к решению задач анализа надежности отказоустойчивых микропроцессорных систем, учитывающего влияние
возникновения отказов и сбоев и распространения их последствий на
протекание вычислительного процесса в отказоустойчивой
микропроцессорной системе, создание моделей, отражающих
функциональные и структурные особенности отказоустойчивых
микропроцессорных систем, и разработка программной среды
функционально-структурного моделирования для решения задач создания,
,0 отладки, эксплуатации моделей отказоустойчивых микропроцессорных
систем, проведения модельных экспериментов и обработки их результатов.
Методы исследования
Для решения поставленных задач в диссертационной работе
применены методы теории моделирования, теории графов, теории
надежности, теории вероятности и математической статистики, теории
планирования экспериментов, структурного программирования, объектно-
ориентированного проектирования. Верификация имитационных моделей
отказоустойчивых микропроцессорных систем, включающих
функционально-структурные вероятностные модели процессора, памяти, механизмов повышения отказоустойчивости и модели вычислительного процесса, проводилась экспериментально, с использованием разработанных средств имитационного моделирования.
Научная новизна работы
1. Предложен новый функционально-структурный подход к решению задач
9 анализа надежности вычислительных систем, заключающийся в учете
влияния отказов и сбоев на протекание вычислительного процесса и позволяющий получать более адекватные оценки показателей надежности отказоустойчивой микропроцессорной системы на основе воспроизведения процесса функционирования системы и ее структурных и архитектурных особенностей.
Разработана оригинальная функционально-структурная имитационная вероятностная модель отказоустойчивой микропроцессорной системы, включающая функционально-структурные модели основных компонентов системы и механизмов повышения отказоустойчивости системы, интерпретация которых осуществляется в контексте модели вычислительного процесса, учитывающей характер его протекания в условиях возникновения отказов и сбоев и распространения их последствий.
Создана программная среда функционально-структурного имитационного моделирования, обеспечивающая создание, отладку, модификацию и анализ функционально-структурных моделей отказоустойчивых микропроцессорных систем с целью определения показателей надежности и позволяющая учитывать специфические факторы возникновения отказов и сбоев, распространения последствий этих неисправностей и работы механизмов повышения отказоустойчивости.
Результаты работы, выносимые на защиту
Функционально-структурный подход к решению задач анализа надежности вычислительных систем, заключающийся в учете воздействия отказов и сбоев и распространения их последствий на протекание вычислительного процесса.
Функционально-структурная имитационная вероятностная модель отказоустойчивой микропроцессорной системы, включающая функционально-структурные модели процессора, памяти и механизмов повышения отказоустойчивости, учитывающие воздействие отказов и сбоев, и модель вычислительного процесса, отражающая взаимодействие основных компонентов отказоустойчивой системы и распространение последствий неисправностей между ними.
Практическая ценность работы
Разработанные функционально-структурные имитационные вероятностные модели основных компонентов отказоустойчивой микропроцессорной системы и механизмов повышения отказоустойчивости, отражающие процесс функционирования и работоспособность системы в условиях возникновения отказов и сбоев и распространения последствий этих неисправностей с учетом их влияния на протекание вычислительного процесса.
Разработанная программная среда функционально-структурного имитационного вероятностного моделирования, реализующая основные механизмы выполнения функционально-структурных моделей в составе общей модели отказоустойчивой микропроцессорной системы под управлением базовых средств организации вычислительного эксперимента и обработки его результатов.
Реализация результатов работы
Разработанные функционально-структурные модели и программные средства моделирования используются в Научно-производственном объединении Прикладной механики (НПО ПМ) имени академика М.Ф. Решетнева, г. Железногорск, для анализа показателей надежности отказоустойчивых бортовых комплексов управления (БКУ) космических аппаратов ретрансляции и связи в процессе их проектирования и последующей эксплуатации. Основные результаты диссертационной работы изложены в отчетах по НИР, выполненных институтом «Кибернетический центр» ТПУ в рамках хозяйственных договоров с НПО ПМ г. Железногорска и используются НПО ПМ при создании БКУ космических аппаратов ретрансляции и связи.
Апробация работы
Результаты диссертационной работы докладывались и обсуждались: на
Третьем Российско-Корейском международном симпозиуме по науке и
технологии KORUS'99, г.Новосибирск, Россия, 1999г.; на Четвертом
Российско-Корейском международном симпозиуме по науке и технологии
KORUS'2000, г. Ульсан, Корея, 2000 г.; на Пятом Российско-Корейском
л международном симпозиуме по науке и технологии KORUS'2001, г. Томск,
Россия, 2001 г.; Третьей окружной конференции молодых ученых Ханты-Мансийского автономного округа «Наука и инновации Ханты-Мансийского автономного округа», г. Сургут, 2002 г.
Публикации
По теме диссертационной работы опубликовано 15 статей и тезисов докладов, отчет о НИР.
Структура и объем работы
Диссертационная работа состоит из введения, четырех глав и заключения, изложенных на 114 страницах машинописного текста, включает 27 рисунков, 15 таблиц, а также содержит список литературы из 118 наименований и 3 приложения. Общий объем работы - 145 страниц.
%
%
Организация отказоустойчивости вычислительных систем
Сложные технические системы, работающие в режиме реального времени, потеря работоспособности которых приводит к катастрофическим последствиям, большим экономическим потерям, а также системы, работающие в условиях повышенной активности внешних воздействий, интенсивность которых зачастую не удается априорно определить, для эффективного функционирования должны обладать повышенной отказоустойчивостью и живучестью. Понятие отказоустойчивости вычислительных систем, приведенное в работе [1], является неформальным, но достаточно емким. «Отказоустойчивость — это уникальное свойство цифровой системы, обеспечивающей ей как логической машине возможность продолжать выполнение заданных программой действий и после возникновения неисправностей. Можно сказать, что отказоустойчивость обеспечивает жизнеспособность логической машине, ибо ее задачей является возвращение из ошибочных состояний к заданному поведению, что обеспечивает возможность правильной обработки информации. Задача отказоустойчивости — реагировать на возникновение неисправностей и защищать логическую машину от неисправностей физической системы, являющейся ее носителем».
Эволюционное развитие технических систем привело к тому, что на новом витке развития свойство отказоустойчивости становится все более определяющим. Вычислительная система, обладающая свойством отказоустойчивости должна исключать влияние на нормальную работу неисправностей ее компонент, вызванных вредными внешними и внутренними воздействиями. ft Таким образом, отказоустойчивая вычислительная система имеет возможность [44]: обнаруживать неисправность с минимизацией области распространения ее последствий; восстанавливать вычислительный процесс (процесс программно-аппаратной реализации алгоритмов функционирования) и определять тип неисправности: сбой или отказ (первый вид неисправности, в отличие от второго, носит кратковременный характер и имеет способность самоустраняться); локализовать отказ; восстанавливать работоспособность системы после отказа устранять в системе последствия отказа и проверять правильность восстановления работоспособности. Общие принципы реализации отказоустойчивости и средства, за счет которых она достигается, приведены на рис. 1.1. Активная отказоустойчивость основывается на разграниченных процессах обнаружения неисправности, определения ее типа и, при необходимости, локализации отказа и реконфигурации системы. Отказы обнаруживаются при помощи средств контроля, локализуются при помощи средств диагностирования и устранятся средствами автоматической реконфигурации системы, которая заключатся в перестройке структуры вычислительных средств системы таким образом, чтобы ее отказавшие части были отстранены от участия в работе. Пассивная отказоустойчивость заключается в способности системы элиминировать влияние отказов отдельных элементов системы на процесс функционирования. Наиболее распространенным примером пассивно отказоустойчивых систем являются системы, использующие мажоритарные органы. Область применения пассивной отказоустойчивости - системы реального времени, в которых должны быть исключены даже кратковременные перерывы в работе вычислительной системы.
В целом, применение активной отказоустойчивости, по сравнению с пассивной, позволяет более эффективно использовать аппаратные средства и, как правило, опирается на специализированную алгоритмическую и программную поддержку. Однако, использование активной отказоустойчивости связано с некоторыми потерями времени при восстановлении системы после отказа, а также, нередко, потерями некоторой части данных. В то же время, применение пассивной отказоустойчивости, позволяет реализовать практически безостановочную работу вычислительной системы и сохранение всей информации. Эти обстоятельства и определяют области применения активной и пассивной отказоустойчивости: активная отказоустойчивость находит применение, как правило, в информационных системах, а пассивная — в системах управления.
Отказоустойчивость системы достигается введением некоторой избыточности по сравнению с минимально необходимыми ресурсами, обеспечивающими выполнение функционального предназначения системы, т.е. созданием определенных запасов или резервов в системе. В отказоустойчивых системах может быть использована избыточность параметрическая, временная, алгоритмическая и структурная.
Параметрическая избыточность выражается в облегчении режимов работы элементов и узлов аппаратуры с целью повышения их надежности. Данный вид избыточности целесообразен лишь при недостаточной точности расчета параметров системы и ее узлов.
Временная избыточность заключается в наличии дополнительного времени для решения задачи, позволяющего, в случае возникновения сбоев или других ошибок, исправлять их путем повторения вычислений. Повышение надежности за счет временной избыточности имеет определенные пределы, так как этот вид избыточности только дает возможность для реализации тех ресурсов по повышению отказоустойчивости, которые имеются в данной вычислительной системе (реконфигурация, повторение вычислений и т.д.).
Моделирование в задачах анализа надежности вычислительных систем
Однако приемлемость указанных допущений при анализе надежности микропроцессорных систем не всегда очевидна, особенно при анализе отказоустойчивых систем, т.е. систем, для которых высокая надежность является одним из необходимых и важнейших свойств.
Принципиальным отличием анализа надежности вычислительных систем является тот факт, что правильное функционирование вычислительной системы определяется адекватным течением вычислительного процесса (ВП). В свою очередь, нормальное протекание вычислительного процесса зависит, в общем случае, от состояния электронной аппаратуры, посредством которой он реализуется, в любой момент времени. Фактически, любой сбой может привести к непредсказуемым последствиям. Как уже отмечалось ранее, интенсивность сбоев элементов вычислительной техники гораздо выше интенсивности отказов. Таким образом, анализ надежности вычислительной системы без учета сбоев может давать картину, существенно отличающуюся от реальной.
Другим следствием зависимости «исправности» вычислительной системы от выполнения вычислительного процесса является его зависимость от текущего информационного содержания его основных элементов — процессоров и устройств памяти, что приводит к взаимозависимости состояния указанных элементов друг от друга. Сбои в памяти могут привести к искажению корректных данных и управляющих кодов, что, в свою очередь, может привести к возникновению исключительных ситуаций в работе процессора. Возможна и более длинная цепочка развития последствий сбоя: сбой на аппаратном уровне процессора влечет сбой в ходе вычислительного процесса, в результате чего в память заносятся (возможно, в произвольную область) некорректные данные. Последствия таких нарушений сопоставимы со сбоями в памяти на аппаратном уровне. Таким образом, состояния процессора и памяти не только взаимозависимы, но более того, последствия сбоев могут носить кумулятивный характер.
Экспоненциальный характер распределения наработки на отказ не всегда адекватно отражает реально протекающие процессы. Об этом работа свидетельствуют работы [42, 44]. По мнению этих авторов, в ряде случаев более уместным является использование распределения Вейбулла и основанных на нем многомодальных распределений, как более адекватно отражающих физическую природу возникновения отказов/сбоев электронной аппаратуры.
Отказ от указанных выше допущений и соответствующая модификация модели анализа надежности вычислительной системы приводит к тому, что существующие аналитические методы становится практически не приемлемыми. Как отмечалось в первой главе, имитационные модели, ориентированные на анализ ОМС, должны отражать не только процесс функционирования, но и модель работоспособности, которая определяется, в первую очередь, структурой информационных взаимосвязей элементов, образующих систему. Работы ряда авторов, например [77, 79, 109, 115], заключающиеся в имитационном моделировании отказоустойчивых микропроцессорных систем, были направлены на исследование некоторых частных показателей, характеризующих процессы возникновения неисправностей и распространения их последствий, таких как длительность скрытой фазы неисправности, вероятность отказа системы вследствие сбоя в отдельных ее компонентах и т.п., но полученные результаты не были обобщены в виде обобщенных вероятностных моделей соответствующих компонент микропроцессорных систем. Функционально-структурные модели, построенные в соответствии с изложенным подходом и учитывающие факторы, вытекающие из архитектуры ОМС, и характеристики ее основных информационных потоков, и, одновременно, воспроизводящие процесс возникновения и, возможно, устранения неисправностей, позволят получить более точную оценку показателей надежности ОМС.
Исходной функционально-структурной моделью процессора может служить простейшая модель, учитывающая два состояния — исправное и неисправное. И, так как ремонт процессора практически невозможен, то модель состояний учитывает только переход в одном направлении (рис. 2.2а). Закон распределения времени наработки на отказ обозначим F0)i.
Исследования, представленные в [44, 77, 79, 95, 108], показали, что после возникновения отказа, его воздействие на ход вычислительного процесса проявляется через некоторый интервал времени (рис. 1.5) . Для учета этого явления необходимо ввести в модель состояний промежуточное состояние скрытого отказа. Состояние отказа, при котором он оказывает влияние на вычислительный процесс, назовем активным отказом или просто отказом (рис. 2.2а).
Необходимость анализа состояния процессора с учетом последствий сбоев требует включения соответствующих состояний и переходов (рис. 2.26), причем, так как отказ аппаратуры может происходить независимо от возникновения сбоев, в графе состояний появляются две несвязные области, одна из которых моделирует возникновение сбоев, другая — отказов. Текущее состояние процессора в этом случае определяется парой номеров состояний, но это не противоречит общей схеме представления систем, изложенной ранее - можно считать, что процессор состоит из двух частей (элементов), одна из которых подвержена отказам, другая сбоям. Так же, как и отказы, сбои могут некоторое время находиться в скрытом состоянии и, в течение некоторого интервала времени, не оказывать влияния на протекание вычислительного процесса. Более того, сбой, после возникновения, может устраниться прежде, чем он окажет какое-либо влияние на работу вычислительной системы.
Проектирование программной среды функционально-структурного моделирования
Объектно-ориентированный подход получил широкое признание в середине 80-х и в настоящее время пользуется большой популярностью. Такая популярность объясняется тем, что объектно-ориентированное проектирование и объектно-ориентированное программирование улучшают возможности нисходящего проектирования, концентрируя больше внимание на данных системы, а не на функциональности системы [5, 83]. Этот подход позволяет создавать системы, которые легче сопровождать, они более гибки, более устойчивы и более приспособлены к многократному использованию, чем создаваемые при нисходящем структурном подходе. Таким образом, объектно-ориентированный подход помогает справиться с такими сложными проблемами, как: уменьшение сложности программного обеспечения; повышение надежности программного обеспечения; обеспечение возможности модификации отдельных компонентов программного обеспечения без изменения остальных его компонентов; обеспечение возможности повторного использования отдельных компонентов программного обеспечения.
Перечисленные факторы позволяют остановиться на применении объектно-ориентированного подхода к проектированию и реализации программной среды функционально-структурного моделирования для решения задач анализа надежности отказоустойчивых микропроцессорных систем.
Объектно-ориентированное программирование — это метод реализации, в результате применения которого программа, разрабатывается как совокупность взаимодействующих друг с другом объектов. Каждый объект является экземпляром некоторого класса, а все классы являются членами иерархии классов, объединенной отношением наследования. Объектно-ориентированное проектирование — это более общий метод, объединяющий в себе процесс объектно-ориентированной декомпозиции, визуальную нотацию для описания логических, физических, статических и динамических представлений проектируемой системы. Для визуального выражения разных аспектов модели — логического (структура классов и объектов) и физического (модульная и процессорная архитектура) — используется различная нотация. В качестве средства визуального описания принято использовать унифицированный язык моделирования — Unified Modeling Language (UML) [5].
Проектирование структуры разрабатываемой программной среды функционально-структурного моделирования представляет собой одну из наиболее важных задач, решаемых в процессе проектирования. Структура системы определяет используемые сущности и взаимосвязи между ними (например, коммуникационные взаимосвязи, отношения вложенности и т.п.). UML предоставляет два фундаментальных взаимодополняющих типа диаграмм для описания структуры систем: диаграммы классов (class diagram) и диаграммы взаимодействий (interaction diagram). Диаграммы классов описывают универсальные отношения между классами — эти отношения существуют между экземплярами классов в любом контексте. Диаграммы взаимодействий отражают отношения, которые существуют только в конкретном контексте — шаблон использования для конкретных целей, который не наследуется собственно классом. Следовательно, в диаграммах взаимодействия различаются способы использования разных экземпляров одного и того же класса.
На рис. 3.2 приведена диаграмма классов ПСФСМ. На рисунке не отображено внутреннее содержание классов для того, чтобы не загромождать диаграмму. Описанные ранее функционально-структурные модели процессора, памяти и механизмов повышения отказоустойчивости представлены классами TProcessor1, TMemory и TFTM2. Они являются потомками класса TRComplexObject, который, вместе с классами TRObject и TRSimpleObject, образует так называемый паттерн «компоновщик» [7]. Такая структура позволяет классу-клиенту (в данном случае клиентами выступают классы TSimulation и TEvent) не различать простые и составные объекты (рис. 3.3) и манипулировать ими по единым правилам, и находит применение при разработке средств моделирования в различных предметных областях [12, 13]. При этом класс TRObject объявляет интерфейс для простых и составных объектов, предоставляет реализацию операций по умолчанию, общую для всех классов потомков. Простые классы (потомки класса TRSimpleObject - TPermanentProcessor, TTransientProcessor и др.) определяют поведение примитивных объектов, при этом состояние соответствующих моделируемых подобъектов однозначно определяется единственным текущим состоянием. Класс TRComplexObject определяет поведение составных объектов, обеспечивает хранение подобъектов, входящих в его состав, и реализует относящиеся к управлению подобъектами операции интерфейса класса TRObject. Выполнение функций управления составным объектом осуществляется путем делегирования вызова каждому подобъекту (в независимости от того, является ли он простым или составным), входящему в состав сложного.
Отказоустойчивые микропроцессорные системы с двунаправленным и однонаправленным голосованием
Методы повышения отказоустойчивости и парирования сбоев основываются на тех или иных видах избыточности — структурной, временной или программной. Введение избыточности приводит к снижению эффективности в том или ином плане: например, программное резервирование приводит, в общем случае, к увеличению длительности выполнения программ и, как правило, требует дополнительных объемов памяти. С другой стороны, в ряде случаев, на разрабатываемые ОМС накладываются жесткие ограничения по массогабаритным показателям. Кроме того, несомненно, важным критерием проектируемой ОМС является ее стоимость. В таких условиях важно оптимально выбрать уровень резервирования и методы повышения отказоустойчивости ОМС. Так как современные процессоры представляют собой сложные технические устройства, для которых достаточно сложно решать задачу парирования неисправностей на внутреннем уровне, она, как правило, решается путем введения трех и более кратного внешнего резервирования. С другой стороны, принципы парирования ошибок, возникающих в памяти, лучше описываются современной теорией информации, что позволяет добиваться достаточно высокого уровня надежности при небольшой избыточности. В частности, по данным [65, 97, 100], искажения одиночных значений памяти составляют 80% от всех неисправностей, возникающих в памяти, и могут быть парированы методами, основанными на применении кодов с обнаружением и исправлением ошибок.
Троированные микропроцессорные системы обычно предполагают трехкратный резерв и процессоров, и памяти. Но, так как обеспечить повышенную устойчивость памяти к сбоям (по крайне мере одиночным) можно с использованием схем обнаружения ошибок и исправления, то для модулей памяти можно использовать меньшую кратность резервирования. В частности, можно использовать дублированную память с обнаружением ошибок и схемой сравнения или память, не имеющую внешнего резерва, с исправлением ошибок (рис. 4.2).
В первом варианте (рис. 4.2а) построения системы, мажоритарный элемент выполняет свои функции при записи значений в память, при этом записываемые значения идентичны для обоих модулей памяти. При чтении из памяти осуществляется сравнение данных, полученных от двух модулей, и, если обнаруживается расхождение значений, выбирается то значение, для которого отсутствует признак ошибки. Наличие признаков ошибки для обоих считываемых значений или несовпадение значений при одновременном отсутствии признаков ошибок свидетельствует об отказе системы, либо требует вмешательства средств парирования неисправностей и реконфигурации более высокого уровня. Коды с обнаружением одиночных ошибок, безусловно, не покрывают всех ошибок, но в совокупности со схемой сравнения позволяют добиться большей устойчивости к сбоям по сравнению с системами без резерва. Снижение производительности вследствие прохождения информации через схему сравнения аналогично тому, которое наблюдается при использовании мажоритарных элементов и связано с синхронизацией и задержками распространения сигналов.
Дальнейшего снижения уровня резервирования памяти можно добиться при использовании памяти с исправлением ошибок. В этом случае можно не использовать резервирование на внешнем уровне. Такое решение позволяет избежать дополнительных задержек при осуществлении выборки значений из памяти. избыточности, применяется достаточно давно. В качестве примеров подобного рода систем можно отметить Stratus [60, ПО], Tandem [93], SOPHO S2500 [87, 98]. Следует отметить, что такой подход применяется и в отечественных бортовых вычислительных системах. Несмотря на то, что теория информации и кодирования, теоретические и практические вопросы использования кодов с обнаружением и исправлением ошибок широко освещены в литературе (например, [26, 31]), исследования в области анализа надежности ОМС, построенных с использованием избыточного кодирования, почти не представлены. Примером подобного рода исследований можно служить [78], где рассматриваются комбинаторные модели надежности памяти с JV-кратным резервированием, но эти модели не учитывают воздействие сбоев и рассматриваются вне вычислительного процесса.