Я вставил сюда псевдокод для алгоритма paxos:
Что такое представление в алгоритме консенсуса Paxos?
и было интересно, может ли кто-нибудь указать мне в правильном направлении.
Алгоритм говорит, что каждый узел имеет «состояние», которое содержит набор информации, которую узел должен отслеживать.
Предположим, у нас есть два узла: узел №1 и узел №2. В простейшем случае Node # 2 присоединяется к Node # 1, и они оба играют в paxos. Что именно происходит с состояниями Узла №1 и Узла №2 после того, как 2 присоединяются к 1? Когда меняется структура данных "просмотров" и что она содержит? Если кто-то может объяснить мне этот простой случай, когда два узла играют в paxos, то я думаю, что смогу выяснить случай с несколькими узлами.
Мое текущее понимание (которое, я уверен, неверно) таково:
- Узел №2 отправляет сообщение о присоединении к Узлу №1.
- Узел №1 получает сообщение от узла №2 с просьбой присоединиться.
- Узел № 1 принимает лидерство и переходит в фазу 1, вычисляет my_num = max (0,0) + 1 = 1
- Узел №1 отправляет все узлы в представлениях [0] (которые пусты) prepare (1,1)
- Узел # 1 отправляет начальный контактный узел (Узел # 2) prepare (1,1)
- Узел # 1 отправляет Узлу # 1 (сам) prepare (1,1)
- Узел № 2 получает команду prepare (1,1). Он устанавливает num_h = 1 и возвращает лидеру ОБЕЩАНИЕ (0, {пустой список})
- Узел № 1 получает prepare (1,1), устанавливает значение num_h = 1 и возвращает себе PROMISE (0, {пустой список}).
теперь мы переходим к фазе 2
Вот где я совершенно запутался.
Узел №1 является лидером и получает два сообщения ОБЕЩАНИЕ (0, {пустой список}). Согласно алгоритму, если лидер получает большинство обещаний в views [0], он может установить значение для «v» и отправить сообщение ACCEPT всем респондентам.
Что меня смущает, в настоящее время представления [0] для лидера пусты, так как же вы можете вычислить большую часть пустого списка?
Кроме того, предположим, что лидер получил большинство обещаний и приступает к установке v = набор проверяемых узлов (включая себя). Что такое узлы, доступные для проверки связи? Это только Узел №1 и Узел №2?
Буду признателен за любую / любую помощь и обязательно наградит тех, кто помогает.