Skip to main content

Towards a non-intrusive approach for monitoring distributed computations through perturbation analysis

  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1993)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 768))

Abstract

Programs representing distributed computations are often non-deterministic in nature and hence the execution of such programs is not only dependent upon the program input, but also on the timing of execution. Thus, an attempt to monitor the run-time behavior of a distributed program through code instrumentation can potentially alter the program's behavior. In this paper we develop static perturbation analysis techniques to identify the situations in which the run-time monitoring activities can be performed non-intrusively, that is, without affecting the outcomes of non-deterministic events.

This work is supported in part by the National Science Foundation through a Presidential Young Investigator Award CCR-9157371 to the University of Pittsburgh and NSF Grant CCR-9212020 to Lehigh University.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aral, Z., Gertner, I., Schaffer, G.: Efficient debugging primitives for multiprocessors. Proc. Third International Conference on Architectural Support for Programming Languages and Operating Systems. (1989) 87–95

    Google Scholar 

  2. Bates, P.C., Wileden, J.C.: High-Level debugging of distributed systems: the behavioral abstraction approach. J. Systems and Software. 3(4) (1983) 225–264

    Article  Google Scholar 

  3. Callahan, D., Subhlok, J.: Static analysis of low-level synchronization. Proc. ACM Workshop on Parallel and Distributed Debugging. (1989) 100–111

    Google Scholar 

  4. Cooper, R:, Marzullo, K.: Consistent detection of global predicates. Proc. ACMONR Workshop on Parallel and Distributed Debugging. (1991) 140–150

    Google Scholar 

  5. Chandy, K.M., Lamport, L.: Distributed snapshots: determining global states of distributed systems. ACM Transactions on Computer Systems. 3 (1985) 63–75

    Article  Google Scholar 

  6. Dinning, A., Schonberg, E.: An empirical comparison of monitoring algorithms for access anomaly detection. Proc. Second ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. (1990) 1–10

    Google Scholar 

  7. Duesterwald, E., Gupta, R., Soffa, M.L.: Distributed slicing and partial re-execution for distributed programs. Fifth Workshop on Languages and Compilers for Parallel Computing. (1992) 329–337

    Google Scholar 

  8. Duesterwald, E., Soffa, M.L.: Static concurrency analysis in the presence of procedures using a data-flow framework. Proc. ACM Symposium on Testing, Analysis and Verification. (1991) 36–48.

    Google Scholar 

  9. Fowler, J., Zwaenepoal, W.: Causal Distributed Breakpoints. Proc. Tenth International Conference on Distributed Computing Systems. (1990) 134–141.

    Google Scholar 

  10. Gupta, R., Spezialetti, M.: Perturbation analysis: a static analysis approach for the non-intrusive monitoring of parallel programs. Technical Report, University of Pittsburgh. (1993)

    Google Scholar 

  11. Gupta, R., Spezialetti, M.: Loop monotonic computations: an approach for the efficient run-time detection of races. Proc. SIGSOFT Symposium on Testing, Analysis, and Verification. (1991) 98–111

    Google Scholar 

  12. Joyce, J., Lomow, G., Slind, K., Ungar, B.: Monitoring distributed systems. ACM Transactions on Computer Systems. 5(2) (1987) 121–150

    Article  Google Scholar 

  13. Haban, D., Weigel, W.: Global events and global breakpoints in distributed systems. Proc. 21st Hawaii International Conference on Distributed Computing Systems (1988)

    Google Scholar 

  14. Hoare, C.A.R.: Communicating sequential processes. Communications of the ACM. 21(8) (1978) 666–677

    Article  Google Scholar 

  15. Lamport, L.: Time, clocks and the ordering of events in distributed systems. Communications of the ACM. 21(7) (1978) 558–565

    Article  Google Scholar 

  16. LeBlanc, T., Mellor-Crummey, J.M.: Debugging parallel programs with instant replay. IEEE Transactions on Computers. (1987) 471–481

    Google Scholar 

  17. Malony, A., Reed, D.: Models for performance perturbation analysis. Proc. ACM/ONR Workshop on Parallel and Distributed Debugging. (1991) 15–25

    Google Scholar 

  18. Masticola, S.P., Ryder, B.G.: Non-concurrency analysis. Proc. 4th ACM SIGPLAN Symposium on Principles and Practices of Parallel Programming. (1993) 129–138

    Google Scholar 

  19. Miller, B., Choi, J.D.: Breakpoints and halting in distributed systems. Proc. 8th International Conference on Distributed Computing Systems. (1988) 141–150

    Google Scholar 

  20. Sarukkai, S.R., Malony, A.: Perturbation analysis of high level instrumentation for SPMD programs. Proc. 4th ACM SIGPLAN Symposium on Principles and Practices of Parallel Programming. (1993) 44–53

    Google Scholar 

  21. Spezialetti, M., Kearns, J.P.: A general approach to recognizing event occurrences in distributed computations. Proc. 8th International Conference on Distributed Computing Systems. (1988) 300–307

    Google Scholar 

  22. Spezialetti, M., Kearns, J.P.: Simultaneous regions: a framework for the consistent monitoring of distributed systems. Proc. 9th International Conference on Distributed Computing Systems. (1989) 61–68

    Google Scholar 

  23. Spezialetti, M., Kearns, J.P.: A general methodology for the system state characterization of event recognitions. Proc. 9th Symposium on Reliable Distributed Systems. (1990) 175–184

    Google Scholar 

  24. Spezialetti, M., Gupta, R.: Exploiting program semantics for the efficient detection of global events. Technical Report — University of Pittsburgh. (1992)

    Google Scholar 

  25. Tsai, J.P, Fang, K.F., Chen, H.: A noninvasive architecture to monitor real-time distributed systems. IEEE Computer. 23(3) (1990) 11–23

    Google Scholar 

  26. Mattern, F.: Virtual time and global states of distributed systems. M. Cosnard, editor, Parallel and Distributed Algorithms. (1989) 215–226

    Google Scholar 

  27. Netzer, R., Miller, B.: Optimal tracing and replay for debugging message-passing parallel programs. Proc. Supercomputing. (1992) 502–511

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gupta, R., Spezialetti, M. (1994). Towards a non-intrusive approach for monitoring distributed computations through perturbation analysis. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1993. Lecture Notes in Computer Science, vol 768. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57659-2_33

Download citation

  • DOI: https://doi.org/10.1007/3-540-57659-2_33

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57659-4

  • Online ISBN: 978-3-540-48308-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics