Probabilistic Adaptive Time-Aware Consensus

The consensus problem is a fundamental building block on the design of distributed systems, as it contributes to the coordination of actions in order to achieve consistent decisions. In a consensus execution, each process proposes an initial value to the others, and, despite failures, all correct processes have to agree on a common value, which has to be one of the proposed values [3]. The solution for many agreement problems, such as atomic broadcast, leader election or clock synchronization, relies on the ability to achieve some form of consensus among a set of processes. In distributed applications that require agreementbased services to be provided with certain guarantees with respect to timeliness, it may be necessary to ensure not only that consensus is solvable, but also that it is solvable within a bounded amount of time. In other words, it may be necessary to solve a timed consensus problem. However, most of the existing literature on consensus is focused on asynchronous system models [2], in which consensus terminates eventually, as soon as allowed by the environment. Moreover, distributed systems are required to operate in settings that are every day more dynamic. There is a inherent uncertainty on these environments that makes very hard (sometimes impossible) guaranteeing that consensus will always be achieved within a given static bound. If the expected execution time must be adjusted according to the environment dynamics, then applications should at least be aware of how much time the protocol execution takes under a set of specific conditions. This feature is particularly useful for real-time systems, in which tasks’ scheduling is defined a priori, in order to guarantee that the deadlines are met. In real time systems that need to execute consensus, it is fundamental to know the worstcase execution time (WCET) of the consensus protocol. These systems need to be aware of WCET changes, in order to verify if the current scheduling is still valid (deadlines remain guaranteed) or if a new one must be calculated. We will address this problem under a probabilistic perspective. Our goal is to define, implement and evaluate a probabilistic adaptive time-aware consensus service.

[1]  Andrea Bondavalli,et al.  A framework for dependable QoS adaptation in probabilistic environments , 2008, SAC '08.

[2]  Paulo Veríssimo,et al.  Distributed Systems for System Architects , 2001, Advances in Distributed Computing and Middleware.

[3]  Rachid Guerraoui,et al.  Consensus in Asynchronous Distributed Systems: A Concise Guided Tour , 1999, Advances in Distributed Systems.