Научная статья на тему 'Использование байесовских сетей для оценки надежности асинхронных распределенных систем, устойчивых к произвольным отказам'

Использование байесовских сетей для оценки надежности асинхронных распределенных систем, устойчивых к произвольным отказам Текст научной статьи по специальности «Математика»

CC BY
236
43
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Прикладная информатика
ВАК
RSCI
Область наук
Ключевые слова
АСИНХРОННЫЕ РАСПРЕДЕЛЕННЫЕ СИСТЕМЫ / ASYNCHRONOUS DISTRIBUTED SYSTEMS / ПРОИЗВОЛЬНЫЕ ОТКАЗЫ / ВИЗАНТИЙСКИЕ ОТКАЗЫ / БАЙЕСОВСКИЕ СЕТИ / BAYESIAN NETWORKS / BYZANTINE FAULTS

Аннотация научной статьи по математике, автор научной работы — Фирсов А.Н.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Estimation of byzantine fault probability in asynchronous fault-tolerant distributed systems using Bayesian networks

The article presents a method for estimation of byzantine fault probability in asynchronous faulttolerant distributed systems. Unlike its analogues the method allows to consider heterogeneous nodes and correlations between their faults.

Текст научной работы на тему «Использование байесовских сетей для оценки надежности асинхронных распределенных систем, устойчивых к произвольным отказам»

№ 6 (48) 2013

А. Н. Фирсов, старший преподаватель Пермского государственного национального исследовательского университета, a_firsov@mail.ru

использование байесовских сетей для оценки надежности асинхронных распределенных систем, устойчивых к произвольным отказам1

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

Ключевые слова: асинхронные распределенные системы, произвольные отказы, византийские отказы, байесовские сети

введение

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

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

Особый интерес представляют асинхронные распределенные системы, так как они

1 Работа выполнена при поддержке Министерства образования и науки (проект № 8.5782.2011).

не накладывают никаких временных ограничений, вследствие чего идеально подходят для работы в сети Интернет. Наиболее универсальной моделью вычислительного узла является машина с конечным числом состояний (state machine).

В данной работе рассматриваются асинхронные распределенные системы, которые, во-первых, устойчивы к произвольным отказам, во-вторых, позволяют выполнять прикладные программы, требующие сохранять свое состояние между обращениями к ним, в-третьих, обеспечивают отказоустойчивость на программном уровне без необходимости в какой-либо специальной аппаратуре и, в-четвертых, делают все это «прозрачно» для прикладных программ.

В настоящее время существует несколько таких систем, среди которых можно отметить Rampart [2], SecureRing [3] и BFT [4]. Все они реализуют единственный известный на сегодняшний день программный метод защиты от произвольных сбоев — активную репликацию. Суть этого метода заключается в том, что параллельно выполняются нескольких копий (или, как их еще называют, реплик) одной и той же программы. Наибольшая сложность заключается в обеспечении

№ 6 (48) 2013

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

Для согласованного выполнения всех копий программы отказоустойчивые системы предоставляют стек протоколов. Особо следует выделить два протокола. Протокол надежной групповой рассылки должен обеспечивать выполнение второго требования, а протокол атомарной групповой рассылки, опираясь на протокол надежной групповой рассылки, — первого. Различия между существующими системами заключаются лишь в используемых протоколах. Некоторые протоколы требуют передачи меньшего количества сообщений по сравнению с остальными, другие расходуют меньше процессорного времени и т. д. Однако все протоколы обеспечивают выполнение приведенных выше требований лишь при условии, что доля сбойных реплик меньше одной трети их общего количества. В работе [5] доказано, что не существует протоколов, обеспечивающих корректную работу отказоустойчивой программы при большей доле сбойных реплик.

Почти во всех работах, связанных с устойчивостью к произвольным отказам [1-5], фиксируется некоторое число f — максимальное количество реплик, которое может выйти из строя из имеющихся п реплик, выполняющих одну и ту же программу, и уже на его основе доказываются все утверждения. Это удобно для проектирования и доказательства корректности алгоритмов, однако в действительности не может быть никакой гарантии, что из строя не выйдет большее число реплик — такая вероятность попросту считается пренебрежимо малой и не учитывается. Ни одна из приведенных выше систем не предоставляет алгоритма

для оценки надежности полученного реше- <3 ния. Как правило, предоставляется возмож- ^ ность управлять лишь необходимым уровнем аё надежности, изменяя параметр f, увеличивая ^ его для повышения надежности или уменьшая для экономии ресурсов. Этот подход неявно предполагает, что надежность всех вычислительных узлов одинакова и их отказы не коррелированы между собой. Однако на практике это далеко не всегда так, и, когда надежность реплик различается или их отказы коррелированы, то добавление реплик может привести к уменьшению общей надежности системы, что будет продемонстрировано ниже.

В работах [6, 7] рассматриваются гетерогенные по надежности распределенные системы, приводится метод для оценки их надежности, анализируется влияние гетерогенности на надежность и предлагается метод повышения надежности гетерогенных систем. Но в этих работах не учитывается возможная корреляция отказов, игнорирование которой в случае ее наличия может значительно снизить надежность всей системы.

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

Байесовские сети

Для представления информации о надежности вычислительных узлов и корреляции их отказов было решено использовать байесовские сети [8]. Выбор в их пользу сделан по следующим причинам:

1) математический аппарат байесовских сетей в настоящее время достаточно хорошо проработан. Байесовские сети широко используются при решении диагностических задач, в машинном обучении, биоинформатике, классификации документов и т. д.;

2) байесовские сети позволяют в компактном и наглядном виде представлять

№ 6 (48) 2013

€ £

§

со

л

*

! о

I

и

£ §

¡1 и

!

и <0

¡5

и

I

§

I

о

условные зависимости между случайными величинами;

3) существуют эффективные методы обучения байесовских сетей и вывода на них;

4) байесовские сети позволяют совместить знания экспертов о предметной области с обучением на имеющихся данных.

Приведем некоторые определения. Байесовская сеть — это направленный ациклический граф (V — множество вершин), каждой вершине которого соответствует случайная переменная (которую будем обозначать V,), а дуги несут информацию об условной зависимости этих переменных.

Каждой вершине должна быть поставлена в соответствие функция локального условного распределения вероятностей, которая для каждой возможной комбинации переменных, соответствующих родительским вершинам, определяет распределение вероятности переменной, соответствующей данной вершине. Если родительских вершин нет, то распределение вероятностей будет не условным.

Если существует дуга из вершины v¡ в вершину V, то говорят, что вершина V ! является родителем вершины V, а вершина V — ребенком V. Множество всех родителей вершины V, будем обозначать РА(V,).

Если из вершины V, существует направленный путь в вершину V, то говорят, что вершина v¡ является предком вершины V, а вершина V, — потомком V. Множество всех вершин, не являющихся потомками вершины V,, будем обозначать ND(v¡).

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

W( е V:Р(1РА(у,)№(у1 )=Р(у ,1РА(у,)). (1)

Тогда совместное распределение всех переменных можно представить в компактной форме как произведение локальных распределений:

т

Р (V ) = П Р (у1РА (V,)),

(=1

где т — количество вершин в графе.

(2)

Применительно к распределенным системам каждому вычислительному узлу будет соответствовать дискретная случайная величина, принимающая значения «отказ» или «корректная работа», в зависимости от того, были ли отказы на соответствующем узле в течение определенного промежутка времени. Кроме того, возможно наличие дополнительных случайных переменных, соответствующих другим составным частям распределенной системы, например источникам питания или некой операционной системе, которые также могут принимать два значения. Множество случайных величин, соответствующих вычислительным узлам, будем обозначать CN.

Пример байесовской сети, соответствующей некоторой распределенной системе приведен на диаграмме 1. Эта сеть показывает, например, что вычислительные

I

0 *

1

со о

ч §

Рис. 1. Пример байесовской сети

104

№ 6 (48) 2013

узлы 1 и 2 имеют общий источник питания, поэтому их отказы коррелированы — при выходе из строя источника питания отключится первый вычислительный узел и повысится вероятность отказа второго, блока бесперебойного питания которого может не хватить на длительное время.

Сделаем допущение, что для описания зависимости отказов вычислительных узлов распределенной системы будет достаточно использования частного случая байесовских сетей — полидеревьев. Полидерево — байесовская сеть, в которой между любой парой вершин имеется максимум один путь. Такое ограничение сделано потому, что для полидеревьев существует детерминированный полиномиальный алгоритм вывода [9]. Байесовская сеть, приведенная на рис. 1, является полидеревом.

Байесовская сеть для конкретной распределенной системы может быть получена тремя способами:

1) составлена экспертом на основе его знаний о надежности отдельных компонентов распределенной системы и их взаимосвязи;

2) обучена на основе данных о произошедших ранее отказах;

3) вначале составлена экспертом, а затем дообучена на основе исторических данных.

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

Оценка надежности

Целью использования байесовских сетей является решение двух задач:

1) оценка вероятности выхода из строя отказоустойчивой программы в некоторый промежуток времени;

2) оценка вероятности выхода из строя отказоустойчивой программы в конкретный момент времени, когда имеется информация о том, что какие-то компоненты распределенной сети уже вышли из строя, т. е. слу-

чайные переменные, соответствующие этим Ц компонентам, получили значение «отказ». ^ Такая информация называется свидетельст- а: вами. Множество всех свидетельств будем ^ обозначать Е.

Первая задача является частным случаем второй, когда множество свидетельств пусто, поэтому в дальнейшем будем рассматривать именно вторую задачу. Зная вероятность отказа системы, можно получить оценку ее надежности, вычтя из 1 вероятность отказа, так как события «произошел отказ» и «система работает корректно» дополняют друг друга. Поэтому алгоритм, оценивающий вероятность отказа системы, можно также использовать для оценки ее надежности.

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

Можно решать задачу «в лоб» и перебрать все возможные конфигурации, удовлетворяющие имеющимся, свидетельства в которых более f переменных, соответствующих вычислительным узлам, находятся в состоянии «отказ», затем воспользоваться формулой (2) для получения вероятности возникновения каждой из комбинаций, просуммировать их и поделить на вероятность того, что некоторая комбинация удовлетворяет всем имеющимся свидетельствам. В итоге Рв — вероятность отказа распределенной системы, описанной байесовской сетью О, будет равна:

ЕГР (1РА ^))

р _ seS /_1 О

Р (Е)

(3)

где S — множество конфигураций с более чем f отказавшими репликами и удовлетво-

105

-ч ПРИКЛАДНАЯ ИНФОРМАТИКА

№ 6 (48) 2013 ' -

€ £

§ со

Л

*

! о

I §

и

§

¡1 и

!

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

и <0

¡5

и

I

§

I

о

I

0 *

1

со о

ч §

ряющими всем имеющимся свидетельствам;

s — конкретная конфигурация из множества S;

Р( I РА(()) —функция локального распределения вероятностей;

Р (Е) — вероятность, что все свидетельства будут удовлетворены.

Для того чтобы не вычислять Р (Е) напрямую, можно поступить следующим образом: искать значение РО (у / Е) — вероятность, что при имеющихся свидетельствах ровно у вычислительных узлов выйдут из строя. В дальнейшем всегда будем подразумевать, что вероятность чего-либо ищется при имеющихся свидетельствах Е, если явно не указано иное, и для сокращения записи будем опускать Е и писать РО(у). Таким образом,

£ПР (1РА (/))

Р ^ — Р (Е)-■ (4)

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

В этом случае Р (Е) можно определить

п

из условия XРО (у) = 1, которое следует

У_0

из того, что события, представляющие собой выход из строя ровно у реплик, не пересекаются и покрывают все пространство исходов.

Зная РО(у), РО можно получить следующим образом:

Ро = X РО (У).

(5)

l_f+1

Недостатками данного подхода является то, что он требует экспоненциально зависящего от количества вершин байесовской сети числа операций (необходимо перебрать (+1 + СП+2 + & + Сп" )• 2т-п конфигураций, если нет свидетельств).

Будем искать РО(у) по принципу «разделяй и властвуй». Для этого докажем следующую лемму.

Лемма 1. Пусть все вершины некоторой байесовской сети разделены на три не пересекающихся множества О, Н и 7, причем множество 7 ^-разделяет О и Н. Тогда при фиксированных значениях переменных из множества 7 выполняется следующее равенство:

Роини7 (У 17) = X Рои1 ((17) • Рн (У - (17). (6)

/_0

Доказательство:

Если расписать РОи7 (у I 7) по формуле (4), то каждый множитель Р( I РА(()) будет зависеть от переменных из О и 7, но не из Н, в силу определения ^-разделимости. Это означает, что РОи7 (у I 7) условно независимо от переменных из Н, при заданном множестве 7. Аналогичное утверждение справедливо и для Рн (у I 7). Следовательно, события, заключающиеся в том, что ровно ун реплик выйдет из строя в Н (будем ссылаться на данную группу событий как на «семейство событий 1», где конкретное событие заключается в выходе из строя конкретного числа реплик), и уОи7 реплик выйдет из строя в О (семейство событий 2), являются взаимно независимыми при заданном 7.

Рассмотрим событие, заключающееся в том, что ровно уоиНи7 реплик выйдет из строя в объединенном графе. К нему могут привести уОиНи7 + 1 разных не пересекающихся событий из семейства событий 1 (уН _ 0,п), происходящих совместно с соответствующим событием из семейства событий 2 (Уои7 = УоиНи7 - Ун). Так как эти события независимы, вероятность их одновременного возникновения равна произведению их вероятностей, а так как события ун = 0, ун = 1 и т. д. не пересекаются, то вероятность их объединения равна сумме их вероятностей, из чего следует формула (6). Лемма доказана.

Для вычисления РО( у) выберем произвольное ребро е в байесовской сети, поскольку рассматриваем только сети, яв-

№ 6 (48) 2013

ляющиеся полидеревьями, это ребро разделит сеть на две подсети. Обозначим вершину, из которой исходит выбранное ребро, через г. Подсеть, располагающуюся выше ребра е, за исключением вершины г, обозначим Ge+, а ниже — Ge-. Множество 7, состоящее из одной вершины г, будет ^-разделять множества Ge+ и Ge-. Действительно, путь из любой вершины из множества РА (г) в любую вершину в Ge- будет содержать цепочку у->г->^, где V — один из родителей г, а w — вершина, куда ведет ребро е. А путь из любой вершины из множества Ge+ \ РА (р) будет содержать цепочку u<-г->w, где и будет одним из детей г, отличным от w.

Для того чтобы применить к множествам Ge+, Ge-, 7 лемму 1, осталось только зафиксировать переменную г. В случае если она входит в множество свидетельств, она уже определена, и можно применять лемму. Иначе разобьем задачу поиска Рв(у) на несколько подзадач поиска Рв (у I г = гк),к = 1,|г| (|г| — количество

состояний, которые может принимать переменная г). По формуле полной вероятности

|г|

значение р а)=^ р (у1г=гк) • р (г=гк) •

к=1

• Рв (г = гк) можно найти с использованием любого из широко известных алгоритмов вывода на байесовских сетях, например из [9]. Рв (у I г = гк) эквивалентно Рв (( I Е и гк), т. е. по сути добавляем к множеству свидетельств еще одно свидетельство (для каждого фиксированного значения г будет свое множество свидетельств). После этого к Рв ( IЕ и гк) можно применить лемму 1.

Лемма 1 позволяет задачу подсчета Рв (¡' ) разделить на две подзадачи меньшей размерности. Каждую из получившихся подзадач можно в свою очередь рекурсивно разделить на подзадачи и так продолжать до тех пор, пока подзадача не будет состоять из одной вершины (к подзадаче с 2 вершинами можно применить лемму, если посчитать, что первое множество будет пустым).

В случае подзадачи с одной вершиной

возможны следующие варианты:

1. Вершина не входит в множество аё СЫ-вершин, соответствующих вычисли- ^ тельным узлам. Тогда Рв(¡') = 0 для всеху > 0,

и Рв ( 0) = 1.

2. Вершина принадлежит множеству СЫ. Возможны подварианты:

2.1. Вершина принадлежит множеству Е. Тогда ее значение уже определено и если оно равно значению «отказ», то Рв( 1) = 1, а для всех значений у ф 1 Рв( у ) = 0. Иначе будет так же, как в п. 1.

2.2. Если вершина не принадлежит множеству свидетельств, то вероятность состояния «отказ» и «корректная работа» будет определена локальным распределением вероятностей (все родители вершины к этому времени будут зафиксированы). В этом случае Рв( 0) = Р(корректорная работа), Рв(1) = Р(отказ), а для всех остальных значений у > 1 Рв ( ¡' ) = 0. Как говорилось выше, возможно, потребуется нормализация.

Приведенные выше рассуждения являются доказательством того, что алгоритм, приведенный в листинге 1, корректно вычисляет значение Рв.

В листинге обозначение «ЛРВ» означает локальное распределение вероятностей.

Численные эксперименты

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

Предложенный алгоритм позволяет учитывать не только зависимость отказов компонентов системы, но и их разную надежность. Однако влияние различной надежности компонентов на надежность системы в целом было рассмотрено в работе [6], поэтому для проведения численных экспери-

107

№ 6 (48) 2013

Листинг 1

ВероятностьОтказаСистемы^ - байесовская сеть, Е Результат=0

V = произвольная вершина из G По j от f + 1 до п выполнить:

Результат += ВероятностьОтказаJРеплик(G, Е, вернуть Результат

свидетельства)

j, V)

ВероятностьОтказаJРеплик(G, Е, j, V)

Если функция уже вызывалась с идентичными параметрами

Вернуть сохраненное ранее значение Если |С|=1

х = единственная вершина G Если х Е СЫ

Если j = 0 вернуть 1 Иначе вернуть 0

Иначе

Если х Е Е

Если х = "отказ"

Если j = 1 вернуть 1 Иначе вернуть 0

Иначе

Если j = 0 вернуть 1 Иначе вернуть 0

Иначе

Если j = 0 вернуть ЛРВ(Е, "корректная работа")/ЛРВ(Е) Если j = 1 вернуть ЛРВ(Е, "отказ")/ЛРВ(Е) Иначе вернуть 0 Если у вершины V есть родители

е = дуга к первому родителю вершины V

Иначе

е = дуга к первому ребенку вершины V z = вершина, откуда выходит дуга е ы = вершина, куда ведет дуга е

Ge+ = Множество вершин, расположенных выше дуги е, за исключением z. Ge- = Множество вершин, расположенных ниже дуги е. Результат = 0 Если z Е Е

В цикле по t от 0 до j выполнить:

Результат += ВероятностьОтказаJРеплик(Ge+ и z, Е, t, z)* ВероятностьОтказаJРеплик(Ge-, Е, j - t, ы)

Иначе

В цикле по к от 1 до |z| выполнить:

В цикле по t от 0 до j выполнить: Результат +=

ВероятностьОтказаJРеплик(Ge+ и z[k], Е и z[k], t, z)* ВероятностьОтказаJРеплик(Ge-, Е и z[k], j - t, ы) сохранить результат вернуть Результат

I

со

о

«

§ л

ментов выберем системы, в которых надежность отдельных компонентов одинакова, для того чтобы сосредоточится на влиянии зависимостей в отказах компонентов на надежность системы в целом.

Рассмотрим распределенную систему со следующей структурой: 10 вычислительных узлов, первые у из которых зависят от одного компонента, вероятность отказа которого равна 0,1. Вероятность отказа

108

№ 6 (48) 2013

i 0,12 S

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

ц

V

* 0,1 .û S v

£ 0,08 о

(Q M

ï 0,06

о

л

H

x 0,04

H

к о п.

m 0,02

___ ^

/ y . -

у / s s — _ —-

* r ' * —■ s s _ _ — — — ---"

- r = 0,1

--r 0,3

r = 0,5

--r = 0,7

----r = 0,9

0123456789

Количество компонентов с коррелированными отказами

Рис. 2. Зависимость вероятности отказа от количества зависимых вычислительных узлов

и степени этой зависимости

независимых вычислительных узлов также равна 0,1. Локальное распределение условных вероятностей для зависимых вычислительных узлов следующее: если общий компонент отказал, то вероятность отказа вычислительного узла равна г, если же общий компонент работает корректно, то вероятность отказа (1 - г) / 9 (подобрана таким образом, чтобы, если маргинализировать вероятности отказа зависимого вычислительного узла по общему компоненту, то будет получена вероятность отказа такая же, как у независимых вычислительных узлов — 0,1, при любом значении 0 < г < 1). Таким образом, рассматриваемая система имеет 2 параметра: } — количество зависимостей, и г — сила зависимостей.

Результаты работы алгоритма оценки надежности в зависимости от параметров } и г приведены на рис. 2. Линия при г = 0,1 показывает, какой надежности можно достичь при отсутствии зависимостей между отказами. Диаграмма показывает, что уже при 4 зависимых узлах из 10 и параметре г = 0,5, вероятность отказа повышается примерно в 2 раза. При г = 0,9 вероятность отказа будет уже в 8 раз больше.

Как видно из рис. 2, зависимости между отказами компонентов системы оказывают сильное влияние на надежность системы в целом.

Заключение

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

Список литературы

1. Lamport L., Shostak R., Pease M. The Byzantine Generals Problem // ACM Transactions on Programming Languages and Systems. July, 1982. Vol. 4. № 3. P. 382-401.

2. Reiter M. The Rampart Toolkit for Building High-Integrity Services // Theory and Practice in Distributed Systems. Springer-Verlag, 1995.

3. Kihlstrom K. P., Moser L. E, Mellar-Smith P. M. The SecureRing group communication system // ACM Transactions on Information and System Security (TISSEC). November 2001. Vol. 4, №. 4. P. 371-406.

109

«

0

1

0

№ 6 (48) 2013

§

§ 7.

§

со

3

л

*

! о

Castro M. Practical Byzantine Fault Tolerance // Massachusetts Institute of Technology, 2001. PhD thesis.

Bracha G., Toueg S. Asynchronous Consensus and Broadcast Protocols // Journal of the ACM. October, 1985. Vol. 32. № 4. P. 824-840. Фирсов А. Н. Оценка надежности асинхронных распределенных систем, устойчивых к произвольным отказам // Научно-технические ведомости СПбГПУ. 2009. № 5. С. 38-44. Фирсов А. Н. Повышение надежности гетерогенных распределенных отказоустойчивых систем за счет группировки вычислительных узлов // Научный сервис в сети интернет: суперкомпьютер-

9.

ные центры и задачи: труды Международной суперкомпьютерной конференции (20-25 сентября 2010 г., г. Новороссийск). М.: Изд-во МГУ, 2010. С. 628-634.

Pearl J. Bayesian Networks: A Model of Self-Activated Memory for Evidential Reasoning // Proceedings of the 7th Conference of the Cognitive Science Society, University of California, Irvine, CA. 1985. P. 329-334.

Kim J. H, Pearl J. A computational model for causal and diagnostic reasoning in inference systems // In proceedings of the Eighth International Joint Conference on Artificial Intelligence (IJCAI 83). 1983. P. 190-193.

I

Si

u

i §

I

u

SI

IS

i

u <0

is

u

I

§

s

о

I

0

1 I

s

CO О to

s

A. Firsov, Senior Lecturer, Perm State National Research University, a_firsov@mail.ru

Estimation of byzantine fault probability in asynchronous fault-tolerant distributed systems using Bayesian networks

The article presents a method for estimation of byzantine fault probability in asynchronous fault-tolerant distributed systems. Unlike its analogues the method allows to consider heterogeneous nodes and correlations between their faults.

Keywords: asynchronous distributed systems, byzantine faults, Bayesian networks.

110

i Надоели баннеры? Вы всегда можете отключить рекламу.