Почему Paxos Acceptor должен отправить обратно любое значение, которое они уже приняли

Я учусь в классе MIT 6.824, и у меня есть вопрос о paxos. Когда proposer отправит подготовителю акцептор, акцептор вернет prepare_ok с n и v, которые видят самые высокие акцепты. Интересно, почему акцептор нужно вернуть n и v?

1 ответ

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

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

Другие вопросы по тегам