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.
Preview
Unable to display preview. Download preview PDF.
References
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
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
Callahan, D., Subhlok, J.: Static analysis of low-level synchronization. Proc. ACM Workshop on Parallel and Distributed Debugging. (1989) 100–111
Cooper, R:, Marzullo, K.: Consistent detection of global predicates. Proc. ACMONR Workshop on Parallel and Distributed Debugging. (1991) 140–150
Chandy, K.M., Lamport, L.: Distributed snapshots: determining global states of distributed systems. ACM Transactions on Computer Systems. 3 (1985) 63–75
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
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
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.
Fowler, J., Zwaenepoal, W.: Causal Distributed Breakpoints. Proc. Tenth International Conference on Distributed Computing Systems. (1990) 134–141.
Gupta, R., Spezialetti, M.: Perturbation analysis: a static analysis approach for the non-intrusive monitoring of parallel programs. Technical Report, University of Pittsburgh. (1993)
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
Joyce, J., Lomow, G., Slind, K., Ungar, B.: Monitoring distributed systems. ACM Transactions on Computer Systems. 5(2) (1987) 121–150
Haban, D., Weigel, W.: Global events and global breakpoints in distributed systems. Proc. 21st Hawaii International Conference on Distributed Computing Systems (1988)
Hoare, C.A.R.: Communicating sequential processes. Communications of the ACM. 21(8) (1978) 666–677
Lamport, L.: Time, clocks and the ordering of events in distributed systems. Communications of the ACM. 21(7) (1978) 558–565
LeBlanc, T., Mellor-Crummey, J.M.: Debugging parallel programs with instant replay. IEEE Transactions on Computers. (1987) 471–481
Malony, A., Reed, D.: Models for performance perturbation analysis. Proc. ACM/ONR Workshop on Parallel and Distributed Debugging. (1991) 15–25
Masticola, S.P., Ryder, B.G.: Non-concurrency analysis. Proc. 4th ACM SIGPLAN Symposium on Principles and Practices of Parallel Programming. (1993) 129–138
Miller, B., Choi, J.D.: Breakpoints and halting in distributed systems. Proc. 8th International Conference on Distributed Computing Systems. (1988) 141–150
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
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
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
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
Spezialetti, M., Gupta, R.: Exploiting program semantics for the efficient detection of global events. Technical Report — University of Pittsburgh. (1992)
Tsai, J.P, Fang, K.F., Chen, H.: A noninvasive architecture to monitor real-time distributed systems. IEEE Computer. 23(3) (1990) 11–23
Mattern, F.: Virtual time and global states of distributed systems. M. Cosnard, editor, Parallel and Distributed Algorithms. (1989) 215–226
Netzer, R., Miller, B.: Optimal tracing and replay for debugging message-passing parallel programs. Proc. Supercomputing. (1992) 502–511
Author information
Authors and Affiliations
Editor information
Rights 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