Вопросы о реализации Paxos

Я реализую Paxos в приложении симулятора кластера, используя документацию, доступную в Википедии . К сожалению, он оставляет некоторые двери открытыми для интерпретации и не дает много информации по ключевым вопросам реализации. Это неясно и неполно.

  • Предположим, что кластер разделен на 3 области, каждая из которых содержит 3 узла (всего = 9 узлов). Что будет, если связь между регионами прервется? Ни один лидер не может достичь кворума (а это 5).

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

  • На этапе 1b: ' Если номер предложения N больше, чем любое предыдущее предложение, то каждый Акцептант обещает не принимать предложения меньше N, и отправляет последнее принятое значение для этого экземпляра Предлагающему '.

Что такое «последнее принятое значение»? Это какой-либо предыдущий номер предложения от предлагающего? Что будет, если связь между регионами прервется? Ни один лидер не может достичь кворума (а это 5).

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

  • На этапе 1b: ' Если номер предложения N больше, чем любое предыдущее предложение, то каждый Акцептант обещает не принимать предложения меньше N, и отправляет последнее принятое значение для этого экземпляра Предлагающему '.

Что такое «последнее принятое значение»? Это какой-либо предыдущий номер предложения от предлагающего? Что будет, если связь между регионами прервется? Ни один лидер не может достичь кворума (а это 5).

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

  • На этапе 1b: ' Если номер предложения N больше, чем любое предыдущее предложение, то каждый Акцептант обещает не принимать предложения меньше N, и отправляет последнее принятое значение для этого экземпляра Предлагающему '.

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

  • На этапе 1b: ' Если номер предложения N больше, чем любое предыдущее предложение, то каждый Акцептант обещает не принимать предложения меньше N, и отправляет последнее принятое значение для этого экземпляра Предлагающему '.

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

  • На этапе 1b: ' Если номер предложения N больше, чем любое предыдущее предложение, то каждый Акцептант обещает не принимать предложения меньше N, и отправляет последнее принятое значение для этого экземпляра Предлагающему '.

Что такое «последнее принятое значение»? Это какой-либо предыдущий номер предложения от предлагающего?

Что такое «последнее принятое значение»? Это какой-либо предыдущий номер предложения от предлагающего?

Что такое «последнее принятое значение»? Это какой-либо предыдущий номер предложения от предлагающего? Что именно означает «экземпляр» в этом случае?

  • На этапе 1a: Включает ли одно значение для согласования с сообщением Prepare, или оно отложено до Accept! сообщение? Или это имеет значение?

  • В Фазе 2a: « Если кто-либо из Акцепторов уже принял значение, лидер должен Выбрать значение с максимальным номером предложения N ».

В чем здесь ценность? Это номер предложения? Я не верю, но эта фраза непонятна.

  • На этапе 2а: «В противном случае предлагающий волен выбрать любое значение». Что это значит? Ценность для чего? По номеру предложения?

  • Paxos, кажется, полагается на увеличивающееся значение N (номер предложения), чтобы работать? Это правильно?

  • В википедии не обсуждаются начальные значения, которые узел должен установить перед началом участия в Paxos.

    ClassArguments:

     класс (ArgumentList)
    
    учебный класс ( )
    
    учебный класс
    

    Что именно представляют собой эти ClassArguments и DeclDefs ? Есть ли где-нибудь пример, демонстрирующий их использование?

5
задан Mehrdad 1 May 2011 в 18:45
поделиться