Алгоритмы консенсуса Mencius и AllConcur - PullRequest
0 голосов
/ 07 августа 2020

Просто хотел спросить, есть ли у кого-нибудь мысли о сходствах и различиях между протоколами консенсуса Mencius и AllConcur?

На первый взгляд эти алгоритмы представлены очень по-разному, но у меня есть внутреннее ощущение, что есть много связей между ними. Я так думаю, что они оба, похоже, используют механизм для уменьшения количества сообщений, обрабатываемых каждым процессом, а также другой механизм для быстрого завершения экземпляров на основе обнаружения сбоя. For Mencius достигается за счет того, что значения для экземпляров консенсуса могут быть изучены без кворума (большинства), а также путем предоставления каждому процессу права собственности на некоторое подмножество экземпляров, для которых только они могут предлагать значения, не требующие выполнения. Другие процессы могут предлагать запретить выполнение операций только экземплярам, ​​которые им не принадлежат, если они подозревают, что владелец потерпел неудачу. Между тем, в AllConcur каждый процесс пытается поддерживать график пути, по которому проходит каждое сообщение. Насколько я понимаю, когда известно, что на достаточном количестве серверов есть сообщение, процесс может считать, что есть консенсус по этому сообщению. В противном случае, если получено достаточно подозрений на сбой, процесс может игнорировать определенные сообщения от этого предполагаемого сбойного процесса.

Спасибо

...