Technion â Israel Institute of Technology. Abstract ... core Mi[k] of information about the past, so that the cores at
Maintaining Simultaneously Consistent Views of a Distributed System using Common Knowledge Tal Mizrahi Technion — Israel Institute of Technology Abstract In a distributed system it is often necessary for all processes to maintain a consistent view of the world. However, the existence of communication failures in a system may prevent processes from obtaining a consistent view. Continuous consensus is the problem of having each process i maintain at each time k an up-to-date core Mi [k] of information about the past, so that the cores at all processes are guaranteed to be identical. Our analysis assumes an unreliable synchronous system, with an upper bound of t failures. The notion of continuous consensus enables a new perspective on classical problems such as the consensus or the Simultaneous Byzantine Agreement (SBA) problems, and allows for simpler analysis. A simple algorithm for continuous consensus in fault-prone systems with crash and sending omission failures called C ON C ON is presented, based on a knowledge-based analysis. Continuous consensus is shown to be closely related to common knowledge. Via this connection, the characterization of common knowledge by Moses and Tuttle is used to prove that C ON C ON is optimal—it produces the largest possible core at any given time. Finally, a second algorithm is presented that provides an optimum uniform solution to continuous consensus, in which all processes (faulty and nonfaulty) maintain the same core information at any given time.
This manuscript is an abstract of “Maintaining Simultaneously Consistent Views of a Distributed System using Common Knowledge”, an MSc dissertation submitted to the Technion – Israel Institute of Technology in September 2006. This research was performed under the supervision of Prof. Yoram Moses.
Bibliography [1] T. Mizrahi and Y. Moses, “Continuous consensus via common knowledge,” in Theoretical Aspects of Rationality and Knowledge: Proc. Tenth Conference, pp. 236– 252, 2005. [2] J. Y. Halpern and Y. Moses, “Knowledge and common knowledge in a distributed environment,” Journal of the ACM, vol. 37, no. 3, pp. 549–587, 1990. [3] C. Dwork and Y. Moses, “Knowledge and common knowledge in a Byzantine environment: crash failures,” Information and Computation, vol. 88, no. 2, pp. 156– 186, 1990. [4] Y. Moses and M. R. Tuttle, “Programming simultaneous actions using common knowledge,” Algorithmica, vol. 3, pp. 121–169, 1988. [5] R. Fagin, J. Y. Halpern, Y. Moses, and M. Y. Vardi, Reasoning about Knowledge. Cambridge, Mass.: MIT Press, 1995. [6] P. A. Bernstein, V. Hadzilacos, and N. Goodman, Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987. [7] L. Lamport, “The part-time parliament,” ACM Trans. on Computer Systems, vol. 16, no. 2, pp. 133–169, 1998. [8] B. A. Coan, D. Dolev, C. Dwork, and L. J. Stockmeyer, “The distributed firing squad problem.,” SIAM J. Comput., vol. 18, no. 5, pp. 990–1012, 1989.
Bibliography [9] B. Coan, “A communication-efficient canonical form for fault-tolerant distributed protocols,” in Proc. 5th ACM Symp. on Principles of Distributed Computing, pp. 63–72, 1986. [10] G. Neiger and M. R. Tuttle, “Common knowledge and consistent simultaneous coordination,” Distributed Computing, vol. 6, no. 3, pp. 181–192, 1993. [11] T. Mizrahi and Y. Moses, “Byzantine continuous consensus,” work in progress, 2006. [12] M. Pease, R. Shostak, and L. Lamport, “Reaching agreement in the presence of faults,” Journal of the ACM, vol. 27, no. 2, pp. 228–234, 1980. [13] A. Bar-Noy, D. Dolev, C. Dwork, and H. R. Strong, “Shifting gears: Changing algorithms on the fly to expedite Byzantine agreement,” vol. 97, pp. 205–233, Apr. 1992.