This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Detection of Strong Unstable Predicates in Distributed Programs
December 1996 (vol. 7 no. 12)
pp. 1323-1333

Abstract—This paper discusses detection of global predicates in a distributed program. A run of a distributed program results in a set of sequential traces, one for each process. These traces may be combined to form many global sequences consistent with the single run of the program. A strong global predicate is true in a run if it is true for all global sequences consistent with the run. We present algorithms which detect if the given strong global predicate became true in a run of a distributed program. Our algorithms can be executed on line as well as off line. Moreover, our algorithms do not assume that underlying channels satisfy FIFO ordering.

[1] O. Babaoglu and K. Marzullo, "Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms," Distributed Systems, S. J. Mullender, ed., pp. 55-96. Addison-Wesley, 1993.
[2] P. Bates,“Distributed debugging tools for heterogeneous distributed systems,” Proc. 8th Int’l Conf. on Distributed Computing Systems,San Jose, Calif., June 1988, pp. 308-315.
[3] K. Birman and T. Joseph, "Reliable Communications in Presence of Failures," ACM Trans. Computing Systems, vol. 5, no. 1, pp. 47-76, 1987.
[4] L. Bouge, "Repeated Snapshots in Distributed Systems with Synchronous Communication and Their Implementation in CSP," Theoretical Computer Science, vol. 49, pp. 145-169, 1987.
[5] K.M. Chandy and L. Lamport, "Distributed Snapshots: Determining Global States of Distributed Systems," ACM Trans. Computer Systems, Feb. 1985.
[6] B. Chin, "An Offline Debugger for Distributed Programs," MS thesis, Electrical and Computer Eng. Dept., Univ. of Texas at Austin, Dec. 1991.
[7] R. Cooper and K. Marzullo, "Consistent Detection of Global Predicates," in Proc. Workshop Parallel and Distributed Debugging, ACM Press, New York, pp. 163-173.
[8] C. Diehl, C. Jard, and J. Rampon, "Reachability Analysis on Distributed Executions," Proc. TAPSOFT '93: Theory and Practice of Software Development, pp. 629-643,Orsay, France, Apr.13-17, 1993.
[9] C.J. Fidge, "Partial Orders for Parallel Debugging, ACM SIGPLAN Notices, Jan. 1989, pp. 183-194.
[10] V. Garg and B. Waldecker,“Detection of unstable predicates in distributed programs,”inProc. Int. Conf. Foundations of Software Technol. and Theoretical Comput. Sci.,1992, Springer-Verlag.
[11] V.K. Garg and A.I. Tomlinson, "Using Induction to Prove Properties of Distributed Programs," Proc. Symp. Parallel and Distributed Processing, pp. 478-485,Dallas, Dec. 1993.
[12] V.K. Garg and B. Waldecker, "Detection of Weak Unstable Predicates in Distributed Programs," IEEE Trans. Parallel and Distributed Systems, Mar. 1994, pp. 299-307.
[13] V.K. Garg and B. Waldecker, "Detection of Strong Unstable Predicates in Distributed Programs," technical report, Electrical and Computer Eng. Dept., Univ. of Texas at Austin, 1994.
[14] D. Haban and W. Weigel, "Global Events and Global Breakpoints in Distributed Systems," Proc. 21st Hawaii Int'l Conf. Systems Sciences, pp. 166-175, 1989.
[15] G. Hoagland, "A Debugger for Distributed Programs," MS thesis, Electrical and Computer Eng. Dept., Univ. of Texas at Austin, Aug. 1992.
[16] M. Hurfin, N. Plouzeau, and M. Raynal, "Detecting Atomic Sequences of Predicates in Distributed Computations," in Proc. Workshop Parallel and Distributed Debugging, 1993, ACM Press, pp. 32-42.
[17] L. Lamport, "Time, clocks and the ordering of events in a distributed system," Comm. ACM, vol. 21, no. 7, pp. 558-565, July 1978.
[18] F. Mattern, "Virtual Time and Global States of Distributed Systems," Parallel and Distributed Algorithms: Proc. Int'l Workshop Parallel and Distributed Algorithms, pp. 215-226, Elsevier Science Publishers B.V., 1989.
[19] C.E. McDowell and D.P. Helmbold, “Debugging Concurrent Programs,” ACM Computing Surveys, vol. 21, no. 4, pp. 593-622, Dec. 1989.
[20] B.P. Miller and J. Choi, "Breakpoints and Halting in Distributed Programs," in Proc. Int'l Conf. Distributed Computing Systems, IEEE CS Press, 1988, pp. 316-323.
[21] R. Schwartz and F. Mattern, "Detecting Causal Relationships in Distributed Computations: In Search of the Holy Grail," SFB124-15/92, Dept. of Computer Science, Univ. of Kaiserslautern, Germany, Dec. 1992.
[22] M. Spezialetti and P. Kearns, "Efficient Distributed Snapshots," Proc. Sixth Int'l Conf. Distributed Computing Systems, pp. 382-388, 1986.
[23] M. Spezialetti and P. Kearns, "Simultaneous Regions: A Framework for the Consistent Monitoring of Distributed Systems," Proc. Ninth Int'l Conf. Distributed Computing Systems, pp. 61-68, 1989.
[24] A.I. Tomlinson and V.K. Garg, “Detecting Relational Global Predicates in Distributed Systems,” Proc. Third ACM/ONR Workshop Parallel and Distributed Debugging, pp. 21-31, May 1993.
[25] S. Venkatesan and B. Dathan, "Testing and Debugging Distributed Programs Using Global Predicates," Proc. 30th Ann. Allerton Conf. Comm., Control, and Computing, pp. 137-146,Allerton, Ill., Oct. 1992.
[26] B. Waldecker and V.K. Garg, "Unstable Predicate Detection in Distributed Programs," Proc. Second ACM/ONR Workshop Parallel and Distributed Debugging, extended abstract, Santa Cruz, Calif., 1991.

Index Terms:
Unstable predicates, predicate detection, distributed algorithms, distributed debugging.
Citation:
Vijay K. Garg, Brian Waldecker, "Detection of Strong Unstable Predicates in Distributed Programs," IEEE Transactions on Parallel and Distributed Systems, vol. 7, no. 12, pp. 1323-1333, Dec. 1996, doi:10.1109/71.553309
Usage of this product signifies your acceptance of the Terms of Use.