Контроль повторным счетом
Сущность метода контроля повторным счетом состоит в том, что отдельные действия по передаче данных, переработке информации и т. д. многократно повторяются, и полученные при этом результаты сравниваются между собой. Правильным результатом считается тот, который дает наибольшее число совпадений. Контроль повторным счетом является частным случаем логического контроля и обладает примерно такими же свойствами.
Вследствие того, что организация контроля проста и практически не зависит от существа и особенностей выполняемых действий, он нашел
применение в тех случаях, когда другие способы контроля применить трудно.
Контроль повторным счетом обнаруживает ошибки, возникающие в результате сбоев, с вероятностью, равной единице, и практически не обнаруживает ошибки, возникающие в результате отказов аппаратуры. Коэффициент снижения производительности при использовании этого контроля 𝛈 < 0,5.
Наибольшее распространение па практике получила разновидность данного метода контроля, в соответствии с которой повторения работы по одной и той же программе прекращаются, как только результаты двух из них совпадут.
Кроме данной разновидности метода контроля повторным счетом широкое распространение получила также другая разновидность, согласно которой работа но контролируемой программе прекращается лишь после совпадения результатов, полученных при выполнении двух последних циклов.
Обычно для реальных объектов контроля будет выдаваться правильный результат, как правило, не более, чем за три, а иногда четыре цикла. Поэтому максимальное число циклов работы по одной программе целесообразно ограничить тремя-четырьмя.
На практике в ряде случаев ограничиваются максимальным числом повторений, равным трем. Для этого случая вероятность неисправления последствий сбоя
Вероятность же исправления ошибки в выдаваемой программой информации при малых q определяется выражением
Покажем в общем виде, как можно рационально выбрать длину контролируемого участка. Будем полагать, что процесс повторного счета на каждом шаге состоит из следующих этапов: подготовки исходных данных, собственно просчета и сравнения результатов. В случае несовпадения очередного результата с предыдущими проводится очередной просчет, и новый результат последовательно сравнивается со всеми предыдущими. Если он совпал хотя бы с одним из них, то его считают верным и запоминают либо выдают потребителю. Максимальное число просчетов, как правило, бывает невелико (не более 5-6), так как несовпадение результатов при большем числе просчетов говорит о систематических сбоях в аппаратуре.
Если длина контролируемого участка выбрана очень большой, а интенсивность сбоев велика, то число просчетов также будет велико.
Если же участки выбрать малыми, а интенсивность сбоев при этом будет невелика, то производительность устройства упадет за счет многократной подготовки исходных данных и большого расхода времени на
сравнение результатов. Следовательно, существует оптимальная величина длины участка контроля, обеспечивающая максимальное значение коэффициента снижения производительности.
Рис- 7.7. Блок - схема участка программы, контролируемого
методом двойного - тройного счета
Контроль двойным - тройным счетом состоит в том, что контролируемой участок программы повторяется дважды. Если результаты просчетов совпали, переходят к следующему участку программы. Если совпадение не произошло, то расчеты для данного участка выполняют в третий
раз.
Результат третьего просчета поочередно сравнивается с первыми двумя, и если совпадает с одним из них, считается верным. Если же все три результата будут различны, то можно сделать заключение о том, что в аппаратуре имеют место систематические сбои.
Укрупненная блок-схема программы, реализующей контроль двойным - тройным счетом, представлена на рис. 6.7.
Метод двойного - тройного счета позволяет эффективно обнаруживать ошибки, возникающие в результате сбоев в работе аппаратуры, но практически не обнаруживает ошибки, вызванные отказами аппаратуры.
Так же как и в случае многократных просчетов, для метода двойного
-тройного счета существует оптимальная длина контролируемого участка.
Преимуществом данного метода контроля является его простота. Однако он имеет ряд существенных недостатков.
Во-первых, время выполнения необходимых действий (выполнение программы, передача данных) увеличивается по крайней мере в 2 раза.
Во-вторых, повторное выполнение программы или вторичная передача данных возможны лишь в тех случаях, когда исходные данные не разрушаются либо могут быть легко восстановлены.
В-третьих, систематические ошибки практически не обнаруживаются, так как результаты всех просчетов при этом совпадают.
Учитывая сказанное, приходим к выводу, что метод двойного -тройного счета целесообразно использовать в том случае, когда другие способы контроля применить невозможно.
Контроль двойным счетом по различным программам состоит в том, что одна и та же задача решается дважды. Первый раз решение происходит по программе основного алгоритма, а во второй раз - по программе упрощенного алгоритма. Если результаты просчетов совпали с заданной точностью, то первый результат считается верным, и переходят к следующему участку программы. Если совпадение не произошло, вновь дважды повторяют контролируемый участок, после чего все полученные результаты сравнивают между собой и принимают решение.
В качестве простого примера применения этого метода контроля можно указать задачи вычисления определенных интегралов. В основном алгоритме возможно, например, интегрирование методом Симпсона, а в упрошенном - методом прямоугольников. Можно также провести вычисление интеграла дважды с различным шагом.
Поскольку программа упрощенного алгоритма реализуется быстрее основной, а сбои появляются относительно редко, то коэффициент снижения производительности в данном случае будет выше, чем в предыдущем. Второе преимущество метода состоит в том, что применение различных алгоритмов позволяет обнаруживать ошибки, возникающие не только в результате сбоев, но и в результате отказов аппаратуры.
Недостатком метода является необходимость разработки и хранения в памяти дополнительной программы. Кроме того, не для всех задач могут быть разработаны упрощенные алгоритмы их решения.
Оценка качества программно-логического контроля, состоящего в сравнении результатов работы устройства по двум различным программам, осуществляется по значениям вероятностей обнаружения сбоев при реализации каждой из программ.
Контроль двойным счетом на различных устройствах осуществляется в системах, которые имеют несколько однотипных устройств переработки информации (например, многопроцессорные ЭВМ). Одна и та же программа реализуется одновременно на двух различных устройствах, и полученные результаты сравниваются между собой. В случае их совпадения результат считается верным и происходит переход к следующему участку программы. При несовпадении результатов можно повторить выполнение программ либо на тех же устройствах, либо на одном из других устройств. Затем полученные результаты сравниваются и принимается решение о их правильности.
Ясно, что данный метод имеет коэффициент производительности близкий к единице, но требует для своей реализации не менее двух однотипных устройств. Он может найти практическое применение для контроля работы нескольких устройств, реализующих весьма ответственные программы, особенно в тех случаях, когда они работают с недогрузкой. На основании всего сказанного приходим к выводу, что организация программного контроля методами повторного счета относительно проста, однако эффективность его невелика. Применять эти методы целесообразно для ответственных программ в тех случаях, когда другие методы контроля применить невозможно.
Дата добавления: 2017-03-29; просмотров: 838;