Участник:Палионная/Моделирование надежности сложных модифицируемых информационных систем

Материал из Алговики
Перейти к навигации Перейти к поиску

1 Свойства и структура алгоритма

1.1 Общее описание алгоритма

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

1.2 Математическое описание алгоритма

Для формализации понятия надежности системы, будем характеризовать ее в каждый момент времени t параметром p(t), при этом время считаем непрерывным. Так как система подвергается модификациям в случайные моменты времени : [math] 0=Y_0\le~Y_1~\le Y_2~\le\ldots [/math], параметр [math]p(t)[/math] изменяется, принимая соответственно значения [math]p(t) = p(Y_j) = p_j[/math] при [math]Y_j~\le~t\lt ~ Y_{j+1}[/math] (предполагается, что траектории процесса [math]p(t)[/math] непрерывны справа, а модификации происходят мгновенно). Причем при модификациях параметр надежности может как увеличиваться, так и уменьшаться из-за некачественных модификаций.

К числу математических моделей, описывающих изменение надежности модифицируемых информационных систем, относятся рекуррентные модели роста надежности. Рассмотрим, в частности, дискретную экспоненциальную модель, которая определяется следующим образом: [math]p_{j+1} = \eta_{j+1}p_j + \theta_{j+1}(1-p_j).[/math]

Здесь [math]\{(\theta_j, \eta_j)\}[/math], [math]j\ge1[/math], -- последовательность независимых одинаково распределенных двумерных случайных векторов таких, что [math]0 \lt \eta_1 \lt 1[/math]; [math]0 \lt \theta_1 \lt 1[/math] почти наверное. Начальная надежность [math]p_0[/math] считается заданной, случайные величины [math]\eta_j[/math] (параметры <<дефективности>>) и [math]\theta_j[/math] (параметры <<эффективности>>) описывают соответственно возможное уменьшение и повышение надежности.

Обозначим [math]\lambda = 1 - {E}\theta_j[/math], [math]\mu = {E}\eta_j[/math]. В книге [1] доказано, что при условии [math]\lambda+\mu\neq1[/math] [math] p=\lim_{j\to\infty}E p_j = \frac{\mu}{\lambda+\mu}. [/math] Величина [math]p[/math] характеризует асимптотическое значение надежности системы в рамках некоторой рекуррентной модели, задаваемой набором [math]\{(\theta_j, \eta_j)\}[/math].

В рамках байесовского подхода в постановке задач теории надежности можно рассмотреть более сложную ситуацию, где основные параметры системы [math]\lambda [/math] и [math]\mu [/math] предполагаются случайными. В таком случае наиболее естественной и удобной для изучения характеристикой является усредненное значение предельной надежности, то есть [math] p_{average} = Ep = E\frac{\mu}{\lambda+\mu}, [/math] где усреднение ведется по совместному распределению случайных величин [math]\lambda [/math] и [math]\mu [/math].

Так как случайные величины [math]\eta_1 [/math] и [math]\theta_1 [/math] удовлетворяют ограничениям [math]0 \lt \eta_1 \lt 1, 0 \lt \theta_1 \lt 1 [/math], средние значения [math]\lambda [/math] и [math]\mu [/math] величин [math]1 - E\theta_j [/math] и [math]E\eta_j [/math] соответственно также находятся на отрезке [0,1]. В частном случае, рассмотрим независимые случайные параметры [math]\lambda [/math] и [math]\mu [/math], имеющие параболические распределения на некоторых (вообще говоря, разных) отрезках, являющихся подмножествами отрезка [0,1].

Итак, пусть средний параметр <<эффективности>> [math]\lambda [/math] и средний параметр <<дефективности>> [math]\mu [/math] независимы и имеют параболическое распределение [math]P(a_\lambda, b_\lambda) [/math], [math]0\le a_\lambda\lt b_\lambda\le1 [/math], и [math]P(a_\mu, b_\mu) [/math], [math]0\le a_\mu\lt b_\mu\le1 [/math], соответственно.

Для плотности [math]f_\xi(x) [/math] некоторой случайной величины [math]\xi [/math], имеющей параболическое распределение с параметрами [math](a_\xi, b_\xi) [/math], справедливо:

[math] f_\xi(x) = \frac{6(x-a_\xi)(b_\xi-x)}{(b_\xi-a_\xi)^3},\ \ \ \ x\in[a_\xi, b_\xi].  [/math]

1.3 Вычислительное ядро алгоритма

Пусть рассматривается изменение надежности группы однотипных системы на интервале времени [0, T].

1. Для каждой системы моделируем модификации, происходящие в случайные моменты времени [math]t_j: \sum_{j}t_j \lt = T[/math], следующим образом:

  • Генерируем реализацию случайных величин [math]\lambda [/math], [math]\mu [/math] с параболическим распределением на заданных интервалах [math][a_\lambda, b_\lambda], [a_\mu, b_\mu][/math] соответственно. Задаем начальную надежность системы, как реализацию случайной величины с равномерным на [0,1] распределением.
  • Пока [math] \sum_{j}t_j \lt = T [/math], моделируем поступления модификаций в систему в момент времени [math]t_j[/math]: генерируем реализацию случайных величин [math]\theta_j [/math], [math]\eta_j [/math] таких, что [math]\lambda = 1 - {E}\theta_j[/math], [math]\mu = {E}\eta_j[/math], изменяем надежность системы по формуле [math] p_{j+1} = \eta_{j+1}p_j + \theta_{j+1}(1-p_j).[/math]

2. Вычисляем усредненную надежность группы однотипных систем после всех модификаций.

1.4 Макроструктура алгоритма

Основную часть алгоритма составляет расчет надежности модифицируемых объектов после каждой модификации. Могут быть рассмотрены другие априорные распределения параметров [math]\lambda[/math] и [math]\mu[/math] в рамках данной модели или совершенно другие математические модели, описывающие изменение надежности сложных модифицируемых систем.

1.5 Схема реализации последовательного алгоритма

Схема реализации последовательного алгоритма приведена в описании вычислительного ядра алгоритма.

1.6 Последовательная сложность алгоритма

  • [math][0;T][/math] - рассматриваемый временной интервал;
  • [math]N[/math] - количество модифицируемых систем.

Тогда для вычисления средней надежности [math]N[/math] модифицируемых объектов за время [math]T[/math] в последовательном (наиболее медленном) варианте требуется:

  • [math]N(34+6T)+1[/math] сложений (вычитаний),
  • [math]N(51+5T)[/math] умножений.

1.7 Информационный граф

Инф граф.png

Описание информационного графа:

  • Красная вершина графа обозначает начальный блок программы, в котором задаются входные данные и вычисляются общие для всех модифицируемых объектов характеристики.
  • Желтые вершины графа обозначают выполнение одной модификации для одной модифицируемой системы. Так как для разных объектов количество модификаций, вообще говоря, различно, количество желтых вершин в параллельных нитях графа различно.
  • Зеленые вершины графа обозначают заключительный этап вычислений для каждого модифицируемого объекта. На этом этапе происходит вычисление надежности объекта после последней модификации.
  • Синяя вершина графа обозначает заключительный участок выполнения программы, на котором происходит вычисление усредненной надежности по всем модифицируемым объектам.

1.8 Ресурс параллелизма алгоритма

Ресурс параллелизма алгоритма заключается в независимости модифицируемых объектов. Таким образом на разных процессах могут происходить вычисления для разных объектов независимо друг от друга.

1.9 Входные и выходные данные алгоритма

Входные параметры:

  • [math]N[/math] - количество объектов в рассматриваемой группе;
  • [math]T[/math] - временной интервал, [math]T\gt 0 ;[/math]
  • [math]a_l, b_l[/math] - интервалы параболического распределения для случайной величины [math]\lambda, a_l \gt = 0, b_l \lt =1 ;[/math]
  • [math]a_m, b_m[/math] - интервалы параболического распределения для случайной величины [math]\mu, a_m \gt = 0, b_m \lt =1 .[/math]

Выходные параметры: усредненная надежность группы однотипных объектов.

1.10 Свойства алгоритма

2 Программная реализация алгоритма

2.1 Особенности реализации последовательного алгоритма

2.2 Локальность данных и вычислений

2.3 Возможные способы и особенности параллельной реализации алгоритма

2.4 Масштабируемость алгоритма и его реализации

Дополнить

2.5 Динамические характеристики и эффективность реализации алгоритма

2.6 Выводы для классов архитектур

2.7 Существующие реализации алгоритма

Для данной постановки задачи существующих реализаций не найдено.

3 Литература

  1. Королев В. Ю., Соколов И. А. Основы математической теории надежности модифицируемых систем. --- М.: ИПИ РАН, 2006. 102~с.

2. Кудрявцев А. А. Байесовские модели массового обслуживания и надежности: априорные распределения с компактным носителем // Информатика и ее применения, 2016. Т. 10. Вып. 1.

3. Кудрявцев А. А., Палионная С.И. Байесовская рекуррентная модель роста надежности: параболическое распределение параметров // Информатика и ее применения, 2016.