Adaptive Voting for Balancing Data Integrity with Availability
Data replication is a primary means to achieve fault tolerance in distributed systems. Data integrity is one of the correctness criteria of data-centric distributed systems. If data integrity needs to be strictly maintained even in the presence of network partitions, the system becomes (partially) unavailable since no potentially conflicting updates are allowed on replicas in different partitions. Availability can be enhanced if data integrity can be temporarily relaxed during degraded situations. Thus, data integrity can be balanced with availability.
In this paper, we contribute with a new replication protocol based on traditional quorum consensus (voting) that allows the configuration of this trade-off. The key idea of our Adaptive Voting protocol is to allow non-critical operations (that cannot violate critical constraints) even if no quorum exists. Since this might impose replica conflicts and data integrity violations, different reconciliation policies are needed to re-establish correctness at repair time. An availability analysis and an experimental evaluation show that Adaptive Voting provides better availability than traditional voting if (i) some data integrity constraints of the system are relaxable and (ii) reconciliation time is shorter than degradation time.
Unable to display preview. Download preview PDF.
- 1.Thomas, R.H.: A majority consensus approach to concurrency control for multiple copy databases. ACM Trans. Database Syst. 4(2) (1979)Google Scholar
- 4.Epics - experimental physics and industrial control system, http://aps.anl.gov/epics/
- 5.Osrael, J., Froihofer, L., Goeschka, K.M., Beyer, S., Galdámez, P., Muñoz, F.: A system architecture for enhanced availability of tightly coupled distributed systems. In: Proc. of 1st Int. Conf. on Availability, Reliability, and Security. IEEE, Los Alamitos (2006)Google Scholar
- 6.Cristian, F.: Understanding fault-tolerant distributed systems. Commun. ACM 34(2) (1991)Google Scholar
- 7.Froihofer, L., Osrael, J., Goeschka, K.M.: Trading integrity for availability by means of explicit runtime constraints. In: Proc. 30th Int. Computer Software and Applications Conference. IEEE, Los Alamitos (2006)Google Scholar
- 9.Rountree, S.L.K., Gillet, B.E.: Parametric integer linear programming: A synthesis of branch and bound with cutting planes. European Journal of Operations Research (1982)Google Scholar
- 10.Osrael, J., Froihofer, L., Gladt, M., Goeschka, K.M.: Availability of the adaptive voting replication protocol. Technical Report IR3.3-TUV-03, DeDiSys Consortium (2006)Google Scholar
- 13.Pâris, J.: Voting with witnesses: A consistency scheme for replicated files. In: Proc. of the 6th Int. Conf. on Distributed Computing Systems, pp. 606–612. IEEE, Los Alamitos (1986)Google Scholar
- 17.Terry, D.B., Theimer, M.M., Petersen, K., Demers, A.J., Spreitzer, M.J., Hauser, C.H.: Managing update conflicts in bayou, a weakly connected replicated storage system. In: Proc. 15th ACM Symp. on Operating Systems Principles, pp. 172–182. ACM, New York (1995)Google Scholar
- 19.Preguica, N., Baquero, C., Moura, F., Legatheaux Martins, J., Oliveira, R., Domingos, H., Pereira, J., Duarte, S.: Mobile transaction management in mobisap. In: Masunaga, Y., Thalheim, B., Štuller, J., Pokorný, J. (eds.) ADBIS 2000 and DASFAA 2000. LNCS, vol. 1884, pp. 379–386. Springer, Heidelberg (2000)CrossRefGoogle Scholar