Skip to main content
Log in

Efficient online algorithm for identifying useless states in distributed systems

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

In a distributed system, detecting whether a given logical predicate is true on the global states is fundamental for testing and debugging the program. Detecting predicates by examining all global states is intractable due to the combinatorial nature of the problem. This work designs an efficient online algorithm that identifies the consistent and useless states each time a new state is reported. This paper formulates the optimality of detecting algorithms in terms of pseudo states, which are employed to represent unknown states to the monitor process. Based on this technique, memory space of the debugger can be minimized by removing the useless states without affecting the debugging results. While minimizing memory space, the proposed algorithm requires only O(p 2 M) time in total, where p is the number of processes, and M is the number of reported states.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Chandy K.M., Lamport L.: Distributed snapshots: determining global states of distributed systems. ACM Trans. Comput. Syst. 3(1), 63–75 (1985)

    Article  Google Scholar 

  2. Chen L.B., Wu I.C.: An efficient distributed online algorithm to detect strong conjunctive predicates. IEEE Trans. Softw. Eng. 28(11), 1077–1084 (2002)

    Article  Google Scholar 

  3. Chiou H.K., Korfhage W.: Enhancing distributed event predicate detection algorithms. IEEE Trans. Parallel Distrib. Syst. 7(7), 673–676 (1996)

    Article  Google Scholar 

  4. Cooper, R., Marzullo, K.: Consistent detection of global predicates. Sigplan Notices, pp. 167–174 (1991)

  5. Garg V.K., Waldecker B.: Detection of weak unstable predicates in distributed programs. IEEE Trans. Parallel Distrib. Syst. 5(3), 299–307 (1994)

    Article  Google Scholar 

  6. Garg V.K., Waldecker B.: Detection of strong unstable predicates in distributed programs. IEEE Trans. Parallel Distrib. Syst. 7(12), 1323–1333 (1996)

    Article  Google Scholar 

  7. Helary J.M., Mostefaoui A., Netzer R.H.B., Raynal M.: Communication-based prevention of useless checkpoints in distributed computations. Distrib. Comput. 13(1), 29–43 (2000)

    Article  Google Scholar 

  8. Hurfin M., Mizuno M., Raynal M., Singhal M.: Efficient distributed detection of conjunctions of local predicates. IEEE Trans. Softw. Eng. 24(8), 664–677 (1998)

    Article  Google Scholar 

  9. Kshemkalyani A.D.: The power of logical clock abstractions. Distrib. Comput. 17(2), 131–150 (2004)

    Article  Google Scholar 

  10. Kshemkalyani A.D.: A fine-grained modality classification for global predicates. IEEE Trans. Parallel Distrib. Syst. 14(8), 807–816 (2003)

    Article  Google Scholar 

  11. Lamport L.: Time, clocks and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)

    Article  MATH  Google Scholar 

  12. Mattern, F.: Virtual time and global states of distributed systems. In: Parallel and Distributed Algorithms: Proceedings of the International Workshop on Parallel and Distributed Algorithms, pp. 215–226. Elsevier, New York (1989)

  13. Mittal N., Garg V.K.: Techniques and applications of computation slicing. Distrib. Comput. 17(3), 251–277 (2005)

    Article  Google Scholar 

  14. Manivannan D., Netzer R.H.B., Singhal M.: Finding consistent global checkpoints in a distributed computation. IEEE Trans. Parallel Distrib. Syst. 8(6), 165–169 (1997)

    Article  Google Scholar 

  15. Netzer H.B., Xu J.: Necessary and sufficient conditions for consistent global snapshots. IEEE Trans. Parallel Distrib. Syst. 6(2), 165–169 (1995)

    Article  Google Scholar 

  16. Schwarz R., Mattern F.: Detecting causal relationships in distributed computations: In search of the holy grail. Distrib. Comput. 7(3), 149–174 (1994)

    Article  MATH  Google Scholar 

  17. Wang Y.M.: Consistent global checkpoints that contain a given set of local checkpoints. IEEE Trans. Comput. 46(4), 456–468 (1997)

    Article  MathSciNet  Google Scholar 

  18. Wang Y.M., Chung P.Y., Lin I.J., Fuchs W.K.: Checkpoint space reclamation for uncoordinated checkpointing in message-passing systems. IEEE Trans. Parallel Distrib. Syst. 6(5), 546–554 (1995)

    Article  Google Scholar 

  19. Wang Y.M., Lowry A., Fuchs W.K.: Consistent global checkpoints based on direct dependency tracking. Inf. Process. Lett. 50(4), 223–230 (1994)

    Article  MATH  Google Scholar 

  20. Wu I.C., Chen L.B.: On detection of bounded global predicates. Comput. J. 41(4), 231–237 (1998)

    Article  MATH  Google Scholar 

  21. Yen L.H.: Precluding useless events for on-line global predicate detections. J. Parallel Distrib. Comput. 61(8), 1077–1095 (2001)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lung-Pin Chen.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Chen, LP., Sun, DJ. & Chu, W. Efficient online algorithm for identifying useless states in distributed systems. Distrib. Comput. 23, 359–372 (2011). https://doi.org/10.1007/s00446-010-0124-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-010-0124-2

Keywords

Navigation