Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по ВС.doc
Скачиваний:
228
Добавлен:
22.03.2016
Размер:
1.1 Mб
Скачать

12.2 Системы автоматического контроля и диагностики

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

Виды отказов и статистические характеристики надежности

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

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

Решение этой проблемы связано с введением в обрабатываемую информацию избыточности. Избыточность может вводиться в двух видах – временной или пространственной. Временная избыточность связана с увеличением времени решения задачи. Например, задачу можно решать дважды на одном компьютере, используя одну или две разные программы, и сравнивать получаемые результаты. Она служит основой для программно-логического контроля. Сюда принято относить тестовые проверки, повторные просчеты и расчеты с использованием других программ и т.д. Такие методы не требуют значительных аппаратных затрат, но существенно увеличивают время решения, нередко требуя более высокого быстродействия. Повторные расчеты не требуют больших пояснений. Для сокращения затрат на повторное выполнение программы в нее включают контрольные точки, позволяющие повторять не всю, а лишь участок программы, начиная с предыдущей контрольной точки. Расстановка контрольных точек особенно сложна в мультипроцессорных и многомашинных ВС и должна предотвращать эффект «домино», т.е. распространения ошибочного результата за счет обменов между процессорами.

Один из получивших наибольшее распространение методов программно-логического контроля – тестовые проверки – основаны на выполнении специальных программ с известным результатом. Глубина проверки зависит от времени, отведенного на проверку, и частоты проверок. Характерным для таких проверок служит то обстоятельство, что они дают информацию об исправности ВС на момент проверки и, поэтому полной уверенности в правильности решения задачи быть не может. Интервал между тестовыми ∆T проверками можно найти, исходя из формулы, определяющей вероятность безотказной работы в момент (t +∆T), т.к. в момент выполнения проверки аппаратура работала безотказно: ∆T = ∆Р/λ. Тестовые проверки сегодня являются одним из самых распространенных методов, позволяющих обнаружить постоянные отказы компьютера. Изучение методов программного контроля – это задача программирования и здесь подробнее рассматриваться не будут.

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

При пространственной избыточности возможность обнаружения ошибок основывается на добавлении к n-разрядному двоичному слову дополнительныхm«контрольных» разрядов. Ошибки в двоичном слове – это появление единицы вместо нуля или нуля вместо единицы. Если некоторая кодовая комбинация (а всего их 2n) перешла в разряд запрещенных, то это служит свидетельством наличия ошибки. Если в результате появления ошибки произошла замена некоторой разрешенной комбинации другой, но также разрешенной (например, при отсутствии избыточности), то такая ошибка не обнаруживается. Совершенно очевидно, что корректирующая способность кода, т.е. способность обнаруживать и исправлять ошибки, зависит от его избыточности. Различают абсолютную и относительную избыточность кода. Абсолютная избыточность – это число контрольных разрядовm, а относительная избыточность С определяется как отношение абсолютной избыточностиmк общей длине машинного слова (n+m):

С = m/(n + m)

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

Корректирующая способность кода и функции систем контроля

Задача разработчика при выборе средств аппаратурного контроля сводится к определению такого кода, который при минимальной аппаратной избыточности обеспечивал бы нужную корректирующую способность. Естественно, что невозможно создать абсолютно надежную аппаратуру. Но для разных ВС требования к надежности могут значительно отличаться. Введем некоторые понятия. Назовем кодовым весомчисло разрядов машинного слова, содержащих единицу. Теперь сравним две кодовые комбинации одинаковой длины. Часть разрядов может содержать совпадающие двоичные цифры, а часть несовпадающие. Число разрядов с несовпадающими значениями назовемкодовым расстояниеми обозначим черезd. Кодовое расстояние можно определить, выполнив поразрядное сложение по модулю 2 этих комбинаций и определив кодовый вес полученной суммы. Иногда кодовое расстояниеdназывают хемминговым. Обычно интерес представляет минимальное кодовое расстояниеdmin, т.е. самое малое кодовое расстояние между двумя любыми используемыми комбинациями.

В обычном двоичном коде минимальное расстояние dmin= 1, т.е. такой код не является корректирующим. Чтобы код стал корректирующим, необходимо чтобы минимальное кодовое расстояние былоdmin≥ 2. Приdmin= 2 корректирующий код только обнаруживает одиночную ошибку, но не может ее исправить, так как запрещенная комбинация равно удалена от двух разрешенных. Еслиdmin= 3, то одиночная ошибка приводит к возникновению запрещенной комбинации, отстоящей от исходной на единицу; все остальные разрешенные комбинации будут отстоять от нее минимум на две единицы. Следовательно, задача исправления ошибки сводится к поиску разряда, содержащего ошибку, и добавление единицы к которому приведет к исходному безошибочному коду.