6. Алиев Т.И. Сети ЭВМ и телекоммуникации. СПб.: СПбГУ ИТМО, 2011. 400 с.
7. Карпов Ю. Г. Имитационное моделирование систем. Введение в моделирование с AnyLogic 5. СПб.: БХВ-Петербург, 2006. 400 с.
Коношенко Сергей Александрович, директор департамента информационной безопасности, bvi_78amail.ru, Россия, Москва, ЗАО «Практика безопасности»
ANALYSIS OF EFFICIENCY OF PROVIDING OF QUALITY OF SERVICE IN MULTISERVICE NETWORKS ON THE BASIS OF WELL-KNOWN ALGORITHMS OF
ROUTING
S.А. Konoshenko
Advantages and lacks of widespread algorithms of routing in multiservice networks are considered. The results of imitation design of multiservice network functioning are presented at the use of algorithms of routing in the conditions of self-similar traffic.
Key words: multiservice network routing.
Konoshenko Sergey Alexandrovich, director of information safety department, [email protected], Russia, Moscow, Company «Safetypractice»
УДК 62-192
МОДЕЛИРОВАНИЕ ПРОЦЕССА ПЕРЕМЕЖАЮЩИХСЯ ОТКАЗОВ КИБЕРНЕТИЧЕСКИХ СИСТЕМ
Е.В. Ларкин
Определен подход к моделированию процесса перемежающихся отказов в кибернетических системах, функционирующих по принципу конечных автоматов. Разработана модель отказов конечного автомата, основанная на математическом аппарате сетей Петри-Маркова. Получены зависимости для определения времени наработки до отказа и количество безотказных циклов.
Ключевые слова: кибернетическая структура, конечный автомат, аппаратные средства, программное обеспечение, отказ, перемежающийся отказ, восстановление, сеть Петри-Маркова, время наработки до отказа.
Одной из важных проблем, возникающих при функционировании кибернетических систем, является проблема возникновения отказов, которые могут привести к авариям и даже техногенным катастрофам. Отказы в кибернетических системах возникают по двум причинам:
вследствие ошибок в алгоритмическом и программном обеспечении, закладываемом в структуру системы;
вследствие отказов аппаратных средств, хранящих и обрабатывающих информацию.
Первый тип отказов возникает из-за ошибок программиста, который разрабатывает программный код, не соответствующий требования технического задания. Исправление отказов указанного типа сводится к корректировке программы на этапе отладки и эксплуатации [1, 2].
Для определения характеристик отказов аппаратных средств может быть проанализирована модель функционирования элемента киберструк-туры (рис. 1) [3].
На структурной схеме и ¿2 представляют собой комбинационные схемы, в которых заложена программа переключений автомата; М -элемент памяти V и Р2 - собой входные и выходные элемента.
Момент переключения физических элементов цифровых устройств сопровождается повышенным энергетическим обменом электронных элементов автомата с системой электропитания, что приводит к появлению помех, вызывающих т.н. перемежающиеся отказы (сбои) аппаратных средств. Перемежающиеся отказы (сбои), в свою очередь, выражаются в разрушении данных, хранящихся в элементе памяти М или ошибки в сигналах на выходах комбинационных схем ¿1 и ¿2. Автомат функционирует в дискретном времени, поэтому факторами, определяющими отказы автомата, являются период т между моментами выполнения микроопераций и вероятность сбоя при выполнении одной микрооперации.
Сеть Петри-Маркова (СПМ) [4], описывающая появление перемежающихся отказов при функционировании автомата, приведена на рис. 2.
В сети позиции й^,...,а;,...,aJ моделируют стохастический про-
Рис. 1. Структура автомата для выполнения последовательности микроопераций
цесс изменения состояний элементов цифрового автомата за время т [5]. В силу того, что тактирование элементов киберструктуры производится, как правило, генераторами с высокостабильными частотами, плотность распределения времени наблюдения его состояний, в течение которого может произойти сбой, определяется ¿-функцией Дирака:
/1 ... = /; ... = ^ (*)=5(*-Т) . (1)
Рис. 2. Схема появления перемежающихся отказов
Выражение (1) показывает, что эффектом соревнования между элементами в контексте рассматриваемой задачи можно пренебречь.
Ветвление в позициях а1,..., aj,..., аJ моделирует процедуру определения ситуации: имел ли место сбой в соответствующем элементе цифрового автомата? Вероятность сбоя ^го элемента определяется как р j . вероятность отсутствия сбоя - как 1 - р j. Если в ^м элементе сбой имел место, то из позиции а]- выполняется полушаг Sjl в переход г!, в противном случае - полушаг Sj2 в переход 22. Исследуются перемежающиеся отказы,
поэтому в случае отказа процесс функционирования автомата не прекращается, а СПМ моделирует только факт отказа. Позиции а ^+1 и aj+2 моделируют функционирование счетчика микроопераций. Полушаги в поглощающие переходы 23 и 24 производятся после выполнения N микроопераций.
Логическим условием выполнения полушага Sl J+1 из перехода 21 в позицию а J+1 будет дизъюнкция
¿КJ+1 )= V Sj,l. (2)
j=1
Логическим условием выполнения полушага *2 J+2 в позицию а J+2 будет конъюнкция
4*2,J+2)= А ^/д. (3)
7=1
Общее время достижения подмножества поглощающих переходов 23, 24 из стартового перехода 2§ определяется в виде [6, 7]
= ^ - №). (4)
Вероятность того, что при выполнении одной микрооперации произойдет сбой хотя бы одного элемента, определяется как
ж = 1 -П (1 -Р з). (5)
7=1
Вероятность появления п сбоев при выполнении N микроопераций подчиняется биномиальному закону:
рп = ж" (1 -ж^ -", (6)
где CN = —у——г - п-й биномиальный коэффициент. п!^ - п)!
Вероятность появления хотя бы одного сбоя за время выполнения N микроопераций определяется в виде
Рп >1 = 1 -(1 -ж^ .
Одним из возможных решений проблемы повышения отказоустойчивости цифровых устройств является периодический контроль правильности функционирования автомата. При этом необходимым требованием является наличие в автомате аппаратных и программных средств идентификации перемежающихся отказов. При наличии соответствующих аппаратных средств контроль может осуществляться параллельно с процессом обработки поступающих по входу V данных без дополнительных затрат автоматного времени. Если контроль осуществляется программно, то контрольные операции являются частью интерпретируемого алгоритма и производятся в последовательности, им определяемой. В простейшем алгоритме контроля по истечении N тактов производится контроль состояния автомата, и если указанное состояние отличается от ожидаемого, определяемого схемой или алгоритмом контроля, то производится его отключение. СПМ, моделирующая указанную ситуацию, приведена на рис. 3.
Переход 21 является стартовым и моделирует начало вычислительного процесса. Ветвление процесса в позиции а означает соответственно продолжение функционирования автомата при отсутствии сбоев в течение цикла из N тактов и прекращение его функционирования при наличии хотя бы одного сбоя (любой сбой внутри цикла считается отказом).
(1 - p
N
5(t - Nt)
1 - (1 - pN
Z3
Рис. 3. Простейший случай контроля
Анализ СПМ показывает, что плотность и функция распределения времени наработки до отказа определяются соответственнозависимостями
оо
ДО =1 -(1 -p)N I(1 -p)jNd[t-(j + l)Nt];
j=0
(7)
(8)
F(t)= 1 - (1 - p)N] I(1 - p)jNh[t - (j + 1)Nt],
j=0
где h[t - (j + 1)Nt] - единичная функция Хевисайда.
Среднее время наработки до отказа и среднее количество циклов вычислений из N тактов до отказа
T =
Nt
1 -(1 -Р)
N '
C =
1
(9)
(10)
.1 -(1
где [...[ - знак округления в меньшую сторону результатов вычислений.
Среднее время наработки до отказа является функцией, монотонно
т
возрастающей от Т = -
при N = 0 до Т = ¥ при N = ¥, однако воз-
1п(1 -р)
растание происходит за счет монотонного убывания количества циклов вычислений от С = ¥ при N = 0 до С = 1 при N = ¥ и увеличения вероятности сбоев внутри циклов.
Проведем аппроксимацию функции распределения (8) функцией распределения экспоненциального закона вида
^ ) = 1 - ехр(-т), (11)
где т - интенсивность отказов.
При аппроксимации будем исходить из предположения, что в каждый момент наблюдения по истечении очередного временного интервала Ш вероятности отказов, определяемые функциями (1) и (2), должны отличаться на малую величину (рис. 4).
Рис. 4. Аппроксимация функции распределения
Очевидно, что вероятность события отсутствия хотя бы одного цикла расчетов равна нулю (указанный цикл, с любым результатом, по условиям задачи был выполнен), и что значения функции Рк представляют собой сумму членов геометрической прогрессии:
р = 1 -(1 -р^ ] £ (1 -р)^ = 1 -(1 -р)^; (12)
]=0
к = 0, 1, 2, 3, ... .
Оценим ошибку аппроксимации как
г -2 г 2
¥ ¥
е= £[1 - ехр(-рк^)-1 -(1 -п)кн ] = £[(1 -п)кн - ехр(-рк^)] . (13) к=0 к=0
Ошибка аппроксимации является минимальной, если для любого к выполняется условие
(1 - п)кы = ехр(- рШт), (14)
Введем понятие периода наблюдения системы 6, который физически равен времени выполнения цифровым автоматом N тактов, т.е. 6 = N1. Тогда из (13) и (14) следует, что
т
N
1П(1 -Л):
1п(1 -л)
(15)
6 X
Таким образом, интенсивность наблюдаемого потока перемежающихся отказов цифровых устройств обратно пропорциональна периоду наблюдения и прямо пропорциональна количеству тактов за период наблюдения и логарифму вероятности отсутствия сбоя при выполнении микроопераций в течение одного такта. В предельном случае, при нулевой вероятности сбоя при выполнении микроопераций за такт, интенсивность потока отказов равна нулю.
Контрольный просчет является одним из способов повышения отказоустойчивости цифровых автоматов и часто применяется на практике (например, контрольным просчетом можно считать контрольный обмен
данными по цифровому каналу связи при обнаружении ошибки в приеме/передаче данных). При идентификации сбоев путем выполнения контрольного просчета в случае выявления наличия отказов производится контрольный просчет. Если в результате контрольного просчета выявляется отсутствие отказа, то отказ считается перемежающимся, а система - восстановленной. Два обнаруженных подряд отказа считаются отказом автомата (автомат признается неработоспособным).
Сеть Петри-Маркова, моделирующая указанную ситуацию, приведена на рис. 5.
Рис. 5. Идентификация сбоев с контрольным просчетом
Переход z\ является стартовым и моделирует начало вычислительного процесса. Переходы Z2, Z3, Z4 являются примитивными, а переход Z5 - поглощающим. Ветвление процесса в позиции ai означает принятие решения о продолжении функционирования автомата при отсутствии сбоев или переходе на выполнение контрольного просчета. Ветвление процесса в позиции a2 означает соответственно идентификацию отказа/сбоя и восстановление или прекращение функционирования автомата. Плотность распределения времени достижения перехода Z5 из перехода z\ моделирует наработку системы до отказа. Указанная плотность определяется зависимостью
/(t) = H1 d(t -Nt) + (l-p)N[l-(1 -p)N]p(t -2Nt)}J * S(t -2Nt), (16) j=0
где { } j - j-кратная свертка выражения, стоящего в скобках, выполняемая по правилам возведения в j-ю степень, где операция умножения членов, содержащих аргумент t, заменяется на операцию свертки; { } 0 = ô(t)).
Среднее время наработки до отказа и среднее количество циклов вычисления
Т
N1
2-(1 -л)
N
1 -(1 -л)
N
С =
2-(1 -Л)
N
(17)
(18)
1 -(1 -лГ
Анализ (5.46), показывает, что количество циклов С функционирования автомата монотонно убывает от С = ¥ до С = 2 с ростом N от 0 до ¥. Среднее время наработки до отказа обращается в бесконечность при N = 0 и N = ¥ и имеет минимум, определяемый выражением
3 - (1 - л)Г [ - N 1п(1 - л)](1 - л)Г = 2. (19)
Убывание среднего времени наработки до отказа до точки минимума V обусловлено повышением вероятности отказа внутри цикла. Возрастание среднего времени наработки до отказа после точки минимума V обусловлено увеличением времени выполнения циклов, сопровождаемое дальнейшим повышением вероятности отказа. Очевидно, что при решении практических задач синтеза отказоустойчивых автоматов следует выбирать число N в интервале 1 £ N £ V.
Список литературы
1. Ларкин Е.В. К вопросу об отказах программного обеспечения // Известия ТулГУ. Вычислительная техника. Информационные технологии. Системы управления. Вып. 2. Т. 1: Вычислительная техника. Тула: ТулГУ, 2003. С. 3 - 7.
2. Ларкин Е.В., Котов В.В., Котова Н.А. Оценка эффективности программного обеспечения робота с использованием сетей Петри-Маркова // Известия ТулГУ. Технические науки. Вып. 9. Ч. 2. Тула: Изд-во ТулГУ, 2013. С. 156 - 163.
3. Савельев А.Я. Прикладная теория цифровых автоматов. М.: Высшая школа, 1987. 272 с.
4. Игнатьев В.М., Ларкин Е.В. Сети Петри-Маркова. Тула: ТулГУ, 1997. 163 с.
5. Ларкин Е.В., Сабо Ю.И. Сети Петри-Маркова и отказоустойчивость авионики. Тула: Изд-во ТулГУ, 2004. 204 с.
6. Ларкин Е.В. К вопросу о расчете временных характеристик сетей Петри-Маркова // Известия ТулГУ. Вычислительная техника. Автоматика. Управление. Т. 1. Вып. 1. Вычислительная техника. Тула: ТулГУ, 1997. С.68 - 75.
7. Ларкин Е.В., Ивутин А.Н. Временные и вероятностные характеристики транзакций в цифровых системах управления // Известия ТулГУ.
2
Технические науки. Вып. 1. Тула: Изд-во ТулГУ, 2013. С. 252 - 258.
Ларкин Евгений Васильевич, д-р техн. наук, проф., зав. кафедрой, elarkinamail.ru, Россия, Тула, Тульский государственный университет
SIMULA TION OF INTERMITTENT-FAIL URE PROCESS IN CYBERNETIC SYSTEMS
E. V. Larkin
An approach to simulation of intermittent failure in cybernetic systems operating on finite state machine (FSM) principle is defined. Formalism of FSM failures, based on Petri-Markov nets mathematical apparatus is worked out. Dependencies for determination of mean time between failures (MTBF) and quantity offailure-free cycles are obtained.
Key words: cybernetic structure, finite state machine (FSM), hardware, software, failure, intermittent failure, Petri-Markov net (PMN), mean time between failures (MTBF)
Larkin Eugene Vasilyevich, head of chair, doctor of technical science, professor, elarkina mail. ru, Russia, Tula, Tula State University
УДК 681.5 (519.95)
АЛГОРИТМ ПОСЛЕДОВАТЕЛЬНЫХ УПРОЩЕНИЙ ПРИ ОЦЕНКЕ ВРЕМЕННОЙ СЛОЖНОСТИ АЛГОРИТМОВ С ПРИМЕНЕНИЕМ ПОЛУМАРКОВСКИХ МОДЕЛЕЙ
Е.В. Ларкин, А.Н. Привалов, А.К. Клепиков
Рассмотрен подход к оценке временной сложности программной реализации алгоритма, заключающийся в применении методов математического моделирования. Предложен алгоритм последовательных упрощений графа, отображающего структуру исследуемого алгоритма.
Работа алгоритма проиллюстрирована методическим примером. Ключевые слова: алгоритм, временная сложность алгоритма, полумарковская модель, граф состояний.
Одной из важнейших задач, возникающих при проектировании программного обеспечения (ПО) вычислительных комплексов, является оценка временной сложности программной реализации алгоритма. От