Detecting Locally Stable Predicates Without Modifying Application Messages

  • Ranganath Atreya
  • Neeraj Mittal
  • Vijay K. Garg
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3144)

Abstract

In this paper, we give an efficient algorithm to determine whether a locally stable predicate has become true in an underlying computation. Examples of locally stable predicates include termination and deadlock. Our algorithm does not require application messages to be modified to carry control information (e.g., vector timestamps), nor does it inhibit events (or actions) of the underlying computation. Once the predicate becomes true, the detection latency (or delay) of our algorithm is proportional to the time-complexity of computing a (possibly inconsistent) snapshot of the system. Moreover, only O(n) control messages are required to detect the predicate once it holds, where n is the number of processes.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Chandy, K.M., Lamport, L.: Distributed Snapshots: Determining Global States of Distributed Systems. ACM Transactions on Computer Systems 3, 63–75 (1985)CrossRefGoogle Scholar
  2. 2.
    Lai, T.H., Yang, T.H.: On Distributed Snapshots. Information Processing Letters (IPL) 25, 153–158 (1987)MATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Hélary, J.M., Jard, C., Plouzeau, N., Raynal, M.: Detection of Stable Properties in Distributed Applications. In: Proceedings of the ACM Symposium on Principles of Distributed Computing (PODC), pp. 125–136 (1987)Google Scholar
  4. 4.
    Acharya, A., Badrinath, B.R.: Recording Distributed Snapshots Based on Causal Order of Message Delivery. Information Processing Letters (IPL) 44, 317–321 (1992)MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Alagar, S., Venkatesan, S.: An Optimal Algorithm for Recording Snapshots using Casual Message Delivery. Information Processing Letters (IPL) 50, 311–316 (1994)MATHCrossRefGoogle Scholar
  6. 6.
    Ho, G.S., Ramamoorthy, C.V.: Protocols for Deadlock Detection in Distributed Database Systems. IEEE Transactions on Software Engineering 8, 554–557 (1982)CrossRefGoogle Scholar
  7. 7.
    Misra, J.: Detecting Termination of Distributed Computations Using Markers. In: Proceedings of the ACM Symposium on Principles of Distributed Computing (PODC), pp. 290–294 (1983)Google Scholar
  8. 8.
    Mattern, F.: Algorithms for Distributed Termination Detection. Distributed Computing (DC) 2, 161–175 (1987)CrossRefGoogle Scholar
  9. 9.
    Dijkstra, E.W.: Shmuel Safra’s Version of Termination Detection. EWD Manuscript 998 (1987), Available at http://www.cs.utexas.edu/users/EWD
  10. 10.
    Mattern, F., Mehl, H., Schoone, A., Tel, G.: Global Virtual Time Approximation with Distributed Termination Detection Algorithms. Technical Report RUU-CS- 91-32, University of Utrecht, The Netherlands (1991)Google Scholar
  11. 11.
    Hélary, J.M., Raynal, M.: Towards the Construction of Distributed Detection Programs, with an Application to Distributed Termination. Distributed Computing (DC) 7, 137–147 (1994)CrossRefGoogle Scholar
  12. 12.
    Brzezinski, J., Hélary, J.M., Raynal, M., Singhal, M.: Deadlock Models and a General Algorithm for Distributed Deadlock Detection. Journal of Parallel and Distributed Computing (JPDC) 31, 112–125 (1995)CrossRefGoogle Scholar
  13. 13.
    Demirbas, M., Arora, A.: An Optimal Termination Detection Algorithm for Rings. Technical Report OSU-CISRC-2/00-TR05, The Ohio State University (2000)Google Scholar
  14. 14.
    Stupp, G.: Stateless Termination Detection. In: Proceedings of the 16th Symposium on Distributed Computing (DISC), Toulouse, France, pp. 163–172 (2002)Google Scholar
  15. 15.
    Khokhar, A.A., Hambrusch, S.E., Kocalar, E.: Termination Detection in Data- Driven Parallel Computations/Applications. Journal of Parallel and Distributed Computing, JPDC (2003)Google Scholar
  16. 16.
    Mahapatra, N.R., Dutt, S.: An Efficient Delay-Optimal Distributed Termination Detection Algorithm. Submitted to IEEE Transactions on Parallel and Distributed Systems (2003)Google Scholar
  17. 17.
    Marzullo, K., Sabel, L.: Efficient Detection of a Class of Stable Properties. Distributed Computing (DC) 8, 81–91 (1994)CrossRefGoogle Scholar
  18. 18.
    Lamport, L.: Time, Clocks, and the Ordering of Events in a Distributed System. Communications of the ACM (CACM) 21, 558–565 (1978)MATHCrossRefGoogle Scholar
  19. 19.
    Tel, G.: Introduction to Distributed Algorithms, 2nd edn. Cambridge University Press, Cambridge (2000) (US Server)MATHGoogle Scholar
  20. 20.
    Fromentin, E., Raynal, M.: Inevitable Global States: A Concept to Detect Unstable Properties of Distributed Computations in an Observer Independent Way. In: Proceedings of the 6th IEEE Symposium on Parallel and Distributed Processing (SPDP), pp. 242–248 (1994)Google Scholar
  21. 21.
    Mattern, F.: Virtual Time and Global States of Distributed Systems. In: Parallel and Distributed Algorithms: Proceedings of the Workshop on Distributed Algorithms (WDAG), pp. 215–226. Elsevier Science Publishers B. V, North-Holland (1989)Google Scholar
  22. 22.
    Fidge, C.: Logical Time in Distributed Computing Systems. IEEE Computer 24, 28–33 (1991)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Ranganath Atreya
    • 1
  • Neeraj Mittal
    • 1
  • Vijay K. Garg
    • 2
  1. 1.Department of Computer ScienceThe University of Texas at DallasRichardsonUSA
  2. 2.Department of Electrical and Computer EngineeringThe University of Texas at AustinAustinUSA

Personalised recommendations