Для улучшения этой статьи по информационным технологиям желательно: |
Паксос (англ. Paxos) — семейство протоколов для решения задачи консенсуса в сети ненадёжных вычислителей. Консенсус — процесс получения согласованного результата группой участников, основная проблема — наличие помех в среде передачи данных[1]. Данная задача используется, например, для утверждения транзакций в распределённых системах.
Протоколы решения задачи консенсуса — базовый элемент автоматного подхода в распределённых вычислениях, предложенного Лесли Лампортом[2] и исследованного далее Ф. Шнайдером[3].
Автоматный подход — метод реализации алгоритма на распределённой системе, сохраняющий устойчивость к отказам. Это системный подход, не допускающий неосознанного внесения ошибок. Принципиальный подход Лампорта рассматривает все возможные случаи.
Семейство протоколов Паксос было создано и описано в 1990 г., но не было опубликовано в научной литературе до 1998 г. Однако, исследования на данную тематику начались задолго до реализации протокола. Например, автоматная репликация, подход к программированию на основе модели виртуальной синхронизации, предложенной в 1985 г.
Семейство протоколов Паксос рассматривает варианты решения задачи консенсуса в зависимости от количества вычислителей, количества задержек для получения результата, активности участников, количества отправленных сообщений и типов отказов. Результат отказоустойчивого консенсуса не определён (то есть, при определённых условиях вычислители не смогут прийти к согласию), однако, гарантируется безопасность (консистентность), а условия, при которых консенсус невозможен, очень редки.
Алгоритм назван в честь вымышленной системы права греческого острова Паксос.
Алгоритмы данного семейства гарантируют 3 следующих показателя:
Для того чтобы упростить представление алгоритма Паксос, опишем следующие определения и предусловия.
Как правило, алгоритм консенсуса может добиться прогресса используя 2F+1 процессоров, несмотря на одновременный сбой любых F процессоров. Однако, используя перенастройку, можно использовать протокол, который выдерживает любое количество полных сбоев до тех пор, пока не произойдет сбой не более F процессоров одновременно.
Паксос описывает действия процессоров по их ролям в протоколе: клиент, приемник (акцептор), заявитель (предлагающий), ученик и лидер. В типичных реализациях один процессор может играть одновременно одну или несколько ролей. Это не влияет на правильность протокола — обычно объединяются роли для уменьшения задержки и/или количества сообщений в протоколе.
Кворумом является большинство из всех членов кластера.
Q = N/2 + 1
К примеру, если в кластере имеется 6 участников, кворумом будет 4.
Кворумы выражают свойства безопасности алгоритма, обеспечивая сохранение информации о результатах по крайней мере в некоторых выживших процессорах.
Кворумы определяются как подмножества множества акцепторов таким образом, чтобы любые два подмножества (то есть любые два кворума) имели по крайней мере один общий элемент. Как правило, кворум является любым большинством участвующих акцепторов. Например, рассмотрим множество акцепторов {А,B,С,D}, кворум большинства для которого будут три любых акцептора: {А,B,С}, {А,С,D}, {А,В,D} или {B,С,D}. В более общем плане акцепторам и кворуму могут быть присвоены произвольные положительные веса, определяемым как любое подмножество акцепторов с суммарным весом, превышающим половину общего веса всех акцепторов.
Каждая попытка определения согласованного значения v осуществляется с помощью предложений, которые могут быть приняты или не приняты акцепторами. Каждое предложение уникально пронумеровано для данного заявителя. Значение, соответствующее пронумерованному предложению может быть вычислено в рамках выполнения протокола Паксос, но не обязательно.
Остановимый конечный автомат — тот, который может остановить работу по определённой команде. Такие автоматы используются, например, для реализации изменения конфигурации в реплицированном автомате: реконфигурируемый автомат реализуется как последовательность остановимых автоматов, каждый работает в своей конфигурации. Остановимый паксос реализует реплицируемый остановимый конечный автомат.
|curly=
(справка); Используется устаревший параметр |month=
(справка)|curly=
(справка); Используется устаревший параметр |month=
(справка)
|curly=
(справка); Используется устаревший параметр |deadlink=
(справка); Некорректное значение |dead-url=404
(справка)Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .