The design of most distributed consensus protocols does not take into account the fact that, over time, the different processes running the protocol are subject to a varying availability of processing and communication resources. Because of that, performance bottlenecks are possible to arise in those executions on which a process that plays a key role in the protocol is executing on a slower processor, or experiences long delays in the communication with other processes. In a previous work we have proposed the abstraction of a slowness oracle that allows a class of consensus protocols, designed for the asynchronous distributed system augmented with unreliable failure detectors, to adapt themselves to this varying availability of resources, minimizing performance bottlenecks. We analyse the performance of several implementations of such adaptive consensus protocols. Their performance is compared against that of a nonadaptive protocol via both simulated scenarios as well as experiments conducted at our laboratory. From the results attained, we conclude that the more accurate is the slowness oracle the better is the performance of the adaptive protocols that uses it. Nevertheless, even very naive implementations of a slowness oracle are sufficient to yield better performance when system load is not homogeneous.
Published in:
Distributed Computing Systems Workshops, 2004. Proceedings. 24th International Conference on
Date of Conference: 23-24 March 2004