Протокол консенсуса в асинхронных сетях с неисправностями

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид статья
Язык русский
Дата добавления 30.05.2017
Размер файла 18,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Протокол консенсуса в асинхронных сетях с неисправностями

М.О. Кривошеев, Ю.Н. Логвинов

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

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

Ключевым моментом здесь является не то, о чем договариваются процессы, а тот факт, что они все должны прийти к одинаковому выводу. Решение задачи консенсуса сильно зависит от того, какие делаются предположения о модели вычислений и видах неисправностей, которым подвержена распределенная система. В этой статье мы будет полагать фиксированное число процессов N. Считается, что протокол t-устойчивый, если он корректно работает при отказе не более чем t процессов до или в течении своего выполнения [4].

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

Более «злокачественным» или разрушительным видом неисправности является, так называемая, Византийская неисправность, при которой не делается никаких предположений о поведении неисправного процесса. В частности, он может отправлять сообщения в неподходящее время или делать конфликтующие заявления, не выходить на связь в течение некоторого времени и затем возобновлять работу и так далее. Протокол, который может выдержать до t процессов, проявляющих Византийскую неисправность, обладает t-устойчивостью к Византийским неисправностям и иногда называется Византийским протоколом [5].

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

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

Для разработки распределенных алгоритмов широко используются две модели распределенных коммуникационных систем -- синхронная и асинхронная. Синхронная модель полагает наличие общую систему синхронизации для всех узлов и ограниченную задержку доставки сообщений. Время может быть представлено разделенным на слоты. Передача сообщений всегда происходит в фиксированной позиции в слоте. Если некий узел передает сообщение в течение слота i, то это сообщение гарантировано будет принято (и обработано) всеми соседями к началу слота i + 1. Распределенные алгоритмы, которые работают в раундах или циклах, естественным образом удовлетворяют этой модели. Синхронная природа передачи сообщений гарантирует, что вся информация предыдущего цикла доступна некому узлу до отправки сообщений в следующих циклах.

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

Синхронная модель является более сильной, чем модель асинхронная. Между этими двумя моделями существует модель асинхронной сети с ограниченной задержкой доставки сообщений (Asynchronous Bounded Delay -- ABD). Эта модель слабее, чем полностью синхронная, но сильнее, чем полностью асинхронная модель [7]. Предлагаемый нами алгоритм выполняет обработку сообщений в последовательности раундов, что позволяет отнести его к сетям типа ABD.

В предлагаемой модели вводится допущение о наличие в системе комбинации неисправностей смешанного типа - отказавших и процессов проявляющих Византийскую неисправность. Алгоритм консенсуса Брачи-Туэга t-устойчивый к Византийским процессам существует для предельной границы t < N/3 и t-устойчивый алгоритм консенсуса для отказавших процессов с предельной границей t < N/2 [8]. В предлагаемом ниже алгоритме предельное значение t-устойчивости находится в диапазоне (N/3 : N/2).

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

неисправность консенсус сеть вычислительный

var valuep : (0,1) initial xp ;

roundp : integer initial 0 ;

msgsp [0..1] : integer initial 0 ;

msgcp : integer initial 0 ; (* счет сообщений от процесса *)

crashc : integer initial 0 ; (* счет числа crash-процессов *)

echosp [P, 0..1] : integer initial 0 ;

repeat forall v, q do begin msgsp[v] := 0 ; echosp[q, v] := 0 end ;

broadcast { vote, initial, p, valuep, roundp } ;

(* Теперь принимаем N - t голосов для текущего раунда *)

while msgsp[0] + msgsp[1] < N - t do

begin receive { vote, t, r, v, rn } from q ;

(* увеличиваем счетчик числа полученных сообщений от q *)

msgcq := msgcq + 1

if { vote, t, r, *, rn } уже было принято от q

then skip (* повтор, значит q византиец*)

else if t = initial and q ? r

then skip (* q лжет, значит он - византиец*)

else if rn > roundp

then (* Обработать позже, в следующем раунде *)

send { vote, t, r, *, rn } to p

else (* Обработать или ретранслировать сообщение *)

case t of

initial : broadcast { vote, echo, r, v, rn } ;

echo : if rn = roundp then

begin echosp [r, v] := echosp [r, v] + 1 ;

if echosp [r, v] = L (N + t)/2- + 1

then msgsp [v] := msgsp [v] + 1

end

else skip (* старое сообщение *)

esac

end;

(* накопление числа crash-процессов за текущий раунд *)

repeat forall q do

begin if msgсq = 0 then crashc := crashc + 1; msgсq := 0; end;

(* Выбор значения для следующего раунда *)

if msgsp[0] > msgsp[1] then valuep := 0 else valuep := 1;

if msgsp[0] > 2(N - 2crashc)/3 then yp := valuep;

roundp := roundp + 1

until false

Представленный алгоритм выявляет в каждом раунде количество отказавших процессов равных crachc. Тогда процесс p будет учитывать бюллетень голосования после получения {vote, echo, r, v, k} от более чем 2(N -- 2crashc)/3 процессов. Следовательно, наш алгоритм консенсуса устойчив к суммарному числу Византийских и отказавших процессов большему, чем предельный случай для чисто Византийских процессов в алгоритме консенсуса Брачи-Туэга [9, 10].

Литература

1. Н.А. Бурякова А.В. Чернов. Классификация частично формализованных и формальных моделей и методов верификации программного обеспечения [Электронный ресурс] // «Инженерный вестник Дона», 2010, №4. - Режим доступа: http://ivdon.ru/magazine/archive/n4y2010/259 (доступ свободный) - Загл. с экрана. - Яз. Рус.

2. Ильичева, О.А. Технология логического моделирования и анализа сложных систем [Электронный ресурс] // «Инженерный вестник Дона», 2012, №4 (часть 2). - Режим доступа: http://ivdon.ru/magazine/archive/n4p2y2012/1234 (доступ свободный) - Загл. с экрана. - Яз. Рус.

3. И.М.Ажмухамедов А.Н. Марьенков. Поиск и оценка аномалий сетевого трафика на основе циклического анализа [Электронный ресурс] // «Инженерный вестник Дона», 2012, №2. - Режим доступа: http://ivdon.ru/magazine/archive/n2y2012/742 (доступ свободный) - Загл. с экрана. - Яз. Рус.

4. M.J. Fischer, N.A. Lynch, M.S. Paterson. Impossibility of Distributed Consensus with One Faulty Process - Journal of the Association for Computing Machinery, Vol. 32, No. 2, April 1985, pp. 374-382.

5. M.J. Fischer. The Consensus Problem in Unreliable Distributed Systems (A Brief Survey) - Foundations of Computation Theory, volume 158 of Lecture Notes in Computer Science, pp 127-140, Spring-Verlag, 1983. Reissued February 2000

6. Chou, C. T., Cidon, I., Gopal, I. S., and Zaks, S. Synchronizing asynchronous bounded delay networks. IEEE Trans. Commun. 38, 1990, pp 144-147.

7. G. Tel, E. Korach, S. Zaks. Optimal Synchronization of ABD Networks - Department of Computer Science Utrecht University Technical Report RUU-CS-88-23, May 1998, The Netherlands.

8. G. Bracha, S. Toueg. Asynchronous Consensus and Broadcast Protocols - Journal of the Association for Computing Machinery, Vol. 32, No. 4, October 1985, pp. 824-840.

9. T. Herman, G. Tel. Advanced Distributed Algorithms - Department of Computer Science Utrecht University Technical Report RUU-CS-93-37, Novemer 1993, The Netherlands.

10. Тель Ж. Введение в распределенные алгоритмы [Текст]: Монография / Жерар Тель; перевод с англ. В.А. Захарова - М.: МЦНМО, 2009 г. - 616 с.: ил.; ISBN 978-5-94057-515-3

Размещено на Allbest.ru

...

Подобные документы

  • Технология локально-вычислительных сетей (ЛВС), их топология и структура. Обзор программно-аппаратного комплекса локальной сети предприятия по разработке программного обеспечения. Анализ затрат на создание ЛВС, оценка его экономической эффективности.

    дипломная работа [831,6 K], добавлен 06.07.2010

  • Компоненты аппаратного обеспечения телекоммуникационных вычислительных сетей. Рабочие станции и коммуникационные узлы. Модули, образующие область взаимодействия прикладных процессов и физических средств. Направления методов обработки и хранения данных.

    лекция [1,1 M], добавлен 16.10.2013

  • Особенности настольных издательских систем (НИС) - сложного комплекса аппаратных устройств, программного обеспечения и "человеческого фактора". Характеристика аппаратного, программного, пользовательского уровня. Принцип работы НИС и примеры их пакетов.

    реферат [341,3 K], добавлен 31.03.2010

  • Разработка структурной функциональной схемы устройства, его аппаратного обеспечения: выбор микроконтроллера, внешней памяти программ, устройства индикации, IGBT транзистора и драйвера IGBT, стабилизатора напряжения. Разработка программного обеспечения.

    курсовая работа [495,1 K], добавлен 23.09.2011

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

    дипломная работа [1,8 M], добавлен 07.03.2011

  • Теоретические принципы разработки микропроцессорной системы охраны и сигнализации. Разработка графа и таблицы переходов состояний МПСО, его аппаратного и программного интерфейса, управляющих программ режимов и специального программного обеспечения.

    курсовая работа [37,0 K], добавлен 12.05.2012

  • Состояние рынка технологий сервисного обслуживания, структура сервисов SoC-микросхем, модули синтеза тестов и анализа неисправностей. Алгоритмическое программное обеспечение тестирования пакета кристаллов. Алгоритмизация диагностирования неисправностей.

    дипломная работа [1,7 M], добавлен 10.06.2010

  • Основные характеристики мультимедийного проектора, его назначение, функции и виды. Технологии, применяемые в проекторах. Основы диагностики неисправностей и контроля технического состояния. Порядок поиска неисправностей на примере проектора Benq.

    дипломная работа [2,2 M], добавлен 17.07.2016

  • Разработка словесного алгоритма поиска неисправности в электронной системе программного управления (ЭСПУ). Методика поиска неисправности в комплексе станок - ЭСПУ. Проведение эксплуатационных мероприятий по повышению надежности работы ЭСПУ со станком.

    курсовая работа [2,4 M], добавлен 27.06.2016

  • Основные возможности микропроцессора AT91SAM9260, проектирование на его базе программно-аппаратного комплекса (ПАК) для облегчения процесса отладки устройств. Описание функциональной схемы. Разработка топологии печатной платы и программного обеспечения.

    дипломная работа [2,1 M], добавлен 10.09.2011

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

    курсовая работа [5,5 M], добавлен 30.03.2015

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

    реферат [31,1 K], добавлен 17.12.2010

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

    курсовая работа [462,1 K], добавлен 30.11.2013

  • Описание принципиальной электрической схемы, выбор и расчет ее главных элементов, конструкция. Алгоритм функционирования программного обеспечения, описание и принципы функционирования. Технология подготовки и отладки, анализ результатов тестирования.

    реферат [1,5 M], добавлен 08.01.2015

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

    курсовая работа [552,1 K], добавлен 06.01.2013

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

    курсовая работа [2,0 M], добавлен 29.08.2013

  • Кремний как материал современной электроники. Способы получения пористых полупроводников на примере кремния. Анализ процесса формирования, методов исследования, линейных и нелинейных процессов в неоднородных средах на основе пористых полупроводников.

    дипломная работа [6,3 M], добавлен 18.07.2014

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

    дипломная работа [2,4 M], добавлен 15.03.2014

  • Основные понятия в области технического обеспечения надежности. Теоретическое, экспериментальное и эмпирическое предсказания надежности. Показатели интенсивности отказов и среднего времени испытаний. Выборочный контроль и метод последовательного анализа.

    реферат [28,4 K], добавлен 03.03.2011

  • Функции, основные характеристики и типовая структура корпоративных компьютерных сетей. Структура и функции программного обеспечения ККС. Расширяемость и масштабируемость сети, ее характеристики. Lotus Notes (простые Ноты), их основные преимущества.

    курсовая работа [45,6 K], добавлен 21.07.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.