Solving Consensus in True Partial Synchrony
Sathyanarayanan Srinivasan, Ramesh Kandukoori · IEEE Transactions on Parallel and Distributed Systems · 2022
The notion of partial synchrony has been introduced to circumvent the FLP impossibility result for solvability of consensus in fault tolerant distributed systems. This notion helps us to evaluate the efficiency of algorithms that needs to solve consensus in the given time interval$ T[\tau _{1} \leq T_{S} \leq \tau _{2}]$where$ T_{S}$is the stable time when the system becomes synchronous after a transient period of asynchrony. It has been shown that consensus can be solved in constant time after system enters$ T_{S}$with an upper bound of$ T_{S}+17\delta$, and this was later reduced to$ T_{S}+11\delta$, where$ \delta$is the upper bound on message delivery. The above result is not trivial as they allowed processes that failed before$ T_{S}$to recover after$ T_{S}$and participate in consensus. But these algorithms assume that the upper bound for message delivery$\delta$holds even for messages sent before$ T_{S}$(i.e.,) when the system is in asynchrony. This assumption is limiting as messages can get delayed beyond expected timings in real time distributed systems due to different reasons like network congestion, packet re-transmission, e.t.c. In this work, we overcome this limitation by assuming messages sent before$ T_{S}$has no upper bound while also allowing process restarts after$ T_{S}$and show that consensus can be solved in constant time after$ T_{S}$. Our proposed algorithm solves consensus in$ T_{S}+10\delta$time, which is more efficient than the current upper bound and without the limiting assumption of bounded message delay before$ T_{S}$.