Algorithms for solving distributed systems problems often use timeouts as a means to achieve progress. They are designed in a way that safety is always preserved despite timeouts being too small or too large. A conservatively large static timeout value is usually selected, such that the overall system performance is acceptable in the normal case. This approach is good enough in stable environments, but it may compromise performance in more dynamic settings, such as in wireless networks. In this case, a better approach is to dynamically adjusting timeouts according to the observed network conditions.   This paper clearly illustrates the achievable improvements and thus justifies the importance of using adaptive protocols in dynamic environments. We describe our pragmatic approach to transform a static timeout-based consensus protocol for ad hoc wireless networks into a fully autonomic and adaptive solution. Our comparative experiments, performed in a wireless environment, show that in contrast with the original static protocol, the adaptive solution leads to an almost constant bandwidth utilization despite increasing the number of consensus participants, and the overall consensus execution time increases linearly instead of exponentially.
['Mônica Dixit', 'Henrique Moniz', 'António Casimiro']
Timeout-based adaptive consensus: improving performance through adaptation