ABSTRACT
Parallel programs differ from sequential programs primarily in that the temporal relationships between events are only partially defined. However, for a given distributed computation, debugging utilities typically linearize the observed set of events into a total ordering, thus losing information and allowing potentially capturable temporal errors to escape detection. We explore use of the partially ordered relation “happened before” to augment both centralized and distributed parallel debuggers to ensure that such errors are always detected and that the results produced by the debugger are unaffected by the non-determinism inherent in the partial ordering. This greatly reduces the number of tests required during debugging. Assertions are based on time intervals, rather than treating events as dimensionless points.
- 1.J.F. Allen, "Maintaining Knowledge about TemporM Intervals", Communication8 of the AUM, Vol. 26, No. 11, November 1983. Google ScholarDigital Library
- 2.F. Baiardi, N. DeFYartcesco and G. VaglinJ, "Development of a Debugger for a Concurrent Language", IEEE Transactions on Sofltware Engineering, Vol. SE-12, No. 4, April 1986. Google ScholarDigital Library
- 3.CORNAFION, Distributed Computing Systems: Communication, Cooperation, Consistency, Elsevier Science Publishers, 1985. Google ScholarDigital Library
- 4.C.J. Fidge, "Reproducible Tests in CSP", Proceedings o} the 10~h Australian Computer Science Conference, Deakin University, Februea'y 1987. Repril~ted in The Australian Computer Journal, Vol. 19, No. 2, May 1987.Google Scholar
- 5.C.J. Fidge, "Timestamps in Message-Passing Systems That Preserve the Partial Ordering", Proceedings o} the 11th Australian Computer Science ConJerence, University of Queensland, Februoa-y 1988.Google Scholar
- 6.J. Gait, "A Probe Effect in Concurrent Programs", Software--Practice and Experience, Vol. 16, No. 3, March 1988. Google ScholarDigital Library
- 7.G.S. Goldszmidt, S. Kat~ and S. Yemelfi, "Interactive Blackbox Debugging for Concurrent Languages", IsraelGoogle Scholar
- 8.C.A.R. Hoare, Communicatiu9 Seqateu~ial Processes, Prentice-HaU International Series in Computer Science, 1985. Google ScholarDigital Library
- 9.J. Joyce, G. Lomow, K. Slind and B. Unger, "Mo:fitoring Distributed Systems", A CI~I Transactions on Computer Systems, Vol. 5, No. 2, May 1987. Google ScholarDigital Library
- 10.L. Laanport, "Time, Clocks and the Ordering of Events in a Distributed System", Commuuicationn o} the AGM, Vol. 21, No. 7, July 1978. Google ScholarDigital Library
- 11.L. Lamport, "Timesets: A New Method for Temporal Reasoning About Programs", in Logics o} Programs, D. Kozen (ed.}, Springer-Verlag Lecture Notes ill (~omputer Science No. 131, 1981. Google ScholarDigital Library
- 12.T.J. LeBlanc and J.M. Mellor-Crunmmy, "Debugging Parallel Progroans with Instant Replay", {EEE Transactions on Computers, Vol. C-36, No. 4, April 1987. Google ScholarDigital Library
- 13.V. Pratt, "Modelling Concurrency with Partial Orders", International Journal of Parallel Programming, Vol. 15, No. 1, 1986. Google ScholarDigital Library
- 14.P. Qtfinton and J-P. Verjus, "Distributed Synchronization of Paa'allel Programs: Why and How?", in Parallel Algorithms and Architectures, M, Cosnm-d et al (eds.), North-Holland, 1986. Google ScholarDigital Library
- 15.W. Reisig, "Partial Order Semantics Vemus Interleaving Semantics for CSP-like Languages and its Impact on Fairness*', 11~h Colloquium on Automata, Languages and Programming, Belgium, LNCS 172, July 1984. Google ScholarDigital Library
- 16.S.M. Shatz and J-P. Wang, "hatroduction to Distributed Software Engineering", IEEE Computer, Vol. 20, No. 10, October 1987. Google ScholarDigital Library
Index Terms
- Partial orders for parallel debugging
Recommendations
Partial orders for parallel debugging
Special issue: Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on parallel and distributed debuggingParallel programs differ from sequential programs primarily in that the temporal relationships between events are only partially defined. However, for a given distributed computation, debugging utilities typically linearize the observed set of events ...
Comments