3 research outputs found
Stabilization, Safety, and Security of Distributed Systems, 8th International Symposium, SSS 2006, Dallas, TX, USA, November 17-19, 2006, Proceedings
International audienc
Dynamic FTSS in Asynchronous Systems: the Case of Unison
Distributed fault-tolerance can mask the effect of a limited number of
permanent faults, while self-stabilization provides forward recovery after an
arbitrary number of transient fault hit the system. FTSS protocols combine the
best of both worlds since they are simultaneously fault-tolerant and
self-stabilizing. To date, FTSS solutions either consider static (i.e. fixed
point) tasks, or assume synchronous scheduling of the system components. In
this paper, we present the first study of dynamic tasks in asynchronous
systems, considering the unison problem as a benchmark. Unison can be seen as a
local clock synchronization problem as neighbors must maintain digital clocks
at most one time unit away from each other, and increment their own clock value
infinitely often. We present many impossibility results for this difficult
problem and propose a FTSS solution when the problem is solvable that exhibits
optimal fault containment
Formalização da reconfiguração de protocolos de consenso usando Alloy
Dissertação de mestrado integrado em Informatics EngineeringO protocolo de máquinas de estado replicadas (MER) é uma peça fundamental dos sistemas distribuídos. No
centro deste protocolo estão os algoritmos de consenso, como o Paxos, usados para manter a consistência das
MER. Todavia, os sistemas modernos não podem depender estritamente das técnicas de MER, estes devem
também implementar estratégias de reconfiguração. Estas estratégias consistem em alterar a configuração do
sistema, adicionando, removendo ou substituindo os processos que o compõem. Dada a sua complexidade, a
implementação de protocolos de reconfiguração é muito suscetível a erros, daí que seja aconselhável a especificação,
validação e verificação dos mesmos.
No presente trabalho apresentamos uma especificação em linguagem Alloy do protocolo de reconfiguração
Vertical Paxos e do protocolo de consenso Paxos. Além destes, modelamos o protocolo Multi-Paxos, o qual
implementa uma MER. Estes protocolos estão intrinsecamente relacionados e a compreensão do primeiro é
facilitada com o conhecimento dos demais. Atualmente, o Alloy é uma das linguagens de especificação mais
populares, mas pouco explorada na modelação de algoritmos distribuídos e, tanto quanto sabemos, não existe
ainda nenhuma especificação dos referidos protocolos em Alloy.
O presente trabalho visa modelar e validar os referidos protocolos, bem como verificar as suas propriedades
de safety, de modo a obtermos confiança nas especificações. Ademais, realizamos uma avaliação de desempenho
de diferentes solvers e estratégias de decomposição nativas do Alloy, bem como uma breve análise
comparativa com o TLA+.State machine replication (SMR) protocols have a crucial role in distributed systems. At the heart of these protocols
are the consensus algorithm, such as Paxos, responsible for SMR’s consistency. However, modern systems
cannot only rely on SMR thecniques, they must implement reconfiguration strategies, which consist in changing
their configurations by adding, removing or replacing their processes. Due to its complexity, implementing a
reconfiguration algorithm is error-prone, therefore its specification, validation and verification is advisable.
In this work, we present a specification, in Alloy, of the reconfiguration protocol Vertical Paxos and the consensus
protocol Paxos. Besides, we model the Multi-Paxos protocol which implements a SMR. These three
protocols are intrinsically related and, once we are familiar with Paxos and Multi-Paxos, understanding Vertical
Paxos becomes straigthfoward. Nowadays, Alloy is one of the most popular specification languages, but littleexplored
in modeling and analyzing distributed algorithms. As far as we know, there is still no specification of
these protocols in Alloy.
The aim of this work is to model and validate these protocols, as well as to verify their safety properties, in
order to obtain confidence in our specifications. Furthermore, we evaluate the performance of different solvers
and decomposition strategies. Finally, we carry out a brief comparative analysis with TLA+