An Optimized Multi-Paxos Protocol with Centralized Failover Mechanism for Cloud Storage Applications
Abstract
For typical Multi-Paxos protocol running on a cloud storage application, the failover mechanism is complex in terms of implementation. When the leader fails within a replica group, a new leader should be elected by broadcasting prepare requests over the replica group. Moreover, repairing new leader’s missing log entries requires broadcasting prepare request as well. This introduces too much network cost and increase the latency to restore normal storage service at the same time. In view of this challenge, an optimization for Multi-Paxos protocol with centralized failover mechanism for cloud storage applications is proposed in this paper. Compared with typical Multi-Paxos protocol, failover mechanism and normal client requests handling logic are split, and been handled by two clusters respectively: A coordinator cluster is dedicated to handle failover issues as a central manager; while a data cluster only takes charge of data replication and storage regarding client commands. With the centralized failover mechanism in the new design, the centralized coordinator cluster maintains real-time status information of each replica group. And a replica with largest apply index value is elected as the new leader by coordinator cluster; while repairing missing log entries can be achieved with limited replica’s bitmap information maintained by coordinator cluster as well. Comparison between two protocols is implemented and analyzed to prove the feasibility of our proposal.
Keywords
Centralized failover mechanism Multi-Paxos Replica group Leader election Leader repairNotes
Acknowledgement
This paper is supported by The National Key Research and Development Program of China (No. 2017YFB1400601), National Natural Science Foundation of China (No. 61872119), Natural Science Foundation of Zhejiang Province (No. LY12F02003).
References
- 1.Zeng, W., et al.: Research on cloud storage architecture and key technologies. In: Proceedings of the 2nd International Conference on Interaction Sciences: Information Technology, Culture and Human, pp. 1044–1048. ACM, Korea (2009)Google Scholar
- 2.Arokia, R., Shanmugapriyaa, S.: Evolution of cloud storage as cloud computing infrastructure service. IOSR J. Comput. Eng. 1(1), 38–45 (2012)CrossRefGoogle Scholar
- 3.Ousterhout, J., Agrawal, P., Erickson, D., et al.: The case for RAM cloud. Commun. ACM 54, 121–130 (2011)CrossRefGoogle Scholar
- 4.Lamport, L.: Paxos made simple. ACM SIGACT News 32(4), 18–25 (2001)Google Scholar
- 5.Ongaro, D., Ousterhout, J.: In search of an understandable consensus algorithm. In: Proceedings of the ATC 2014, Usenix Annual Technical Conference, pp. 1–18 (2014)Google Scholar
- 6.Moraru, I., Andersen, D.G., Kaminsky, M., There is more consensus in Egalitarian parliaments. In: SOSP, pp. 358–372 (2013)Google Scholar
- 7.Gray, J., Lamport, L.: Consensus on transaction commit. ACM Trans. Database Syst. 31(1), 133–160 (2006)CrossRefGoogle Scholar
- 8.David, M.: Paxos Made Simple. http://www.scs.stanford.edu/~dm/home/papers/paxos.pdf
- 9.Chandra, T., Griesemer, R., Redstone, J.: Paxos made live - an engineering perspective. In: ACM PODC, pp. 1–16 (2007)Google Scholar
- 10.Lamport, L.: Fast Paxos. https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2005-112.pdf
- 11.Rao, J., Shekita, E.J., Tata, S.: Using paxos to build a scalable, consistent, and highly available datastore. Proc. VLDB Endow. 4(4), 243–254 (2011)CrossRefGoogle Scholar
- 12.Ailijiang, A., Charapko, A., Demirbas, M.: Consensus in the cloud: paxos systems demystified. In: 2016 25th International Conference on Computer Communication and Networks, pp. 1–10 (2016)Google Scholar
- 13.Marandi, P.J., et al.: The performance of Paxos in the cloud. In: Proceedings of the 2014 IEEE 33rd International Symposium on Reliable Distributed Systems, pp. 41–50 (2014)Google Scholar
- 14.Kirsch, J., Amir, Y.: Paxos for system builders: an overview. In: Proceedings of the 2nd Workshop on Large-Scale Distributed Systems and Middleware, pp. 1–5 (2008)Google Scholar
- 15.Wang, C., Jiang, J., Chen, X., Yi, N., Cui, H.: APUS: fast and scalable Paxos on RDMA. In: Proceedings of the 2017 Symposium on Cloud Computing, pp. 94–107 (2017)Google Scholar
- 16.Lamport, L., Malkhi, D., Zhou, L.: Reconfiguring a state machine. SIGACT News 41(1), 63–73 (2010)CrossRefGoogle Scholar
- 17.Xu, X., et al.: An IoT-oriented data placement method with privacy preservation in cloud environment. J. Netw. Comput. Appl. 124, 148–157 (2018)CrossRefGoogle Scholar
- 18.Xu, X., Fu, S., et al.: Dynamic resource allocation for load balancing in fog environment. Wirel. Commun. Mob. Comput. 2018, 15 (2018)Google Scholar
- 19.GoLang. https://github.com/golang/go
- 20.