Abstract
The behaviour of parallel and distributed programs can be modeled as the occurrence of events and their interrelationship. Event data collected according to the event model is stored within a partial-order data structure, where it can be reasoned about, enabling debugging, program steering, and autonomic feedback control of the application. Reasoning over event data, a critical requirement for autonomic computing, is typically in the form of predicate detection, a search mechanism able to detect and locate arbitrary predicates within the event data.
To enable hierarchical predicate detection, compound events are formed by computing the convex closure of the matching primitive events. In particular, the Xie and Taylor convex-closure algorithm forms the basis for such an approach to predicate detection. Unfortunately, their algorithm can be quite slow, especially for hierarchical compound events.
In this paper, we study the cause of the problems in the Xie and Taylor algorithm. We then develop an efficient extension to their algorithm, based on a simple caching scheme. We prove our algorithm correct. We also provide experimental results that demonstrate that our approach reduces the execution time of the Xie and Taylor algorithm by up to 98 percent.
Chapter PDF
References
Basten, A.A.: Hierarchical event-based behavioural abstraction in interactive distributed debugging: A theoretical approach. Master’s thesis, Eindhoven University of Technology, Eindhoven (1993)
Bedassé, D.S.:An efficient computation of convex closure on abstract events. Master’s thesis, University of Waterloo, Waterloo, Ontario (2005), Available at: http://etheses.-uwaterloo.ca/display.cfm?ethesisid=498
P. A. Buhr, Glen Ditchfield, R. A. Stroobosscher, B. M. Younger, and C. R. Zarnke. μC++: Concurrency in the Object-Oriented Language C++. Software — Practice and Experience, 22(2):137–172, February 1992.
Chase, C.M., Garg, V.K.: Detection of global predicates: Techniques and their limitations. Distributed Computing 11, 191–201 (1998)
Eclipse Foundation. The eclipse platform. Online documentation available at: http://www.-eclipse.org/
Open Software Foundation. Introduction to OSF/DCE. Prentice-Hall, Englewood Cliffs (1993)
Fox, M.: Event-predicate detection in the monitoring of distributed applications. Master’s thesis, University of Waterloo, Waterloo, Ontario (1998)
Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman and Company, San Francisco (1979)
Geist, A., Begulin, A., Dongarra, J., Jiang, W., Manchek, R., Sunderam, V.: PVM: Parallel Virtual Machine. MIT Press, Cambridge (1994)
Gosling, J., Joy, B., Steele, G.: The Java Language Specification. Addison-Wesley, Reading (1996), http://java.sun.com/docs/books/jls/
Han, J.Z.: Automatic comparison of execution histories in the debugging of distributed applications. Master’s thesis, University of Waterloo, Waterloo, Ontario (1998)
IBM Corporation. Log and trace analyzer for autonomic computing. Online documentation available at: http://www.alphaworks.ibm.com/tech/logandtrace
IBM Corporation. Object level trace. Online documentation,available at: http://www-106.-ibm.com/developerworks/websphere/WASInfoCenter/infocenter/oltcontent/olt/index.htm
Jaekl, C.E.: Event-predicate detection in the debugging of distributed applications. Master’s thesis, University of Waterloo, Waterloo, Ontario (1997)
Kephart, J.O., Chess, D.M.: The vision of autonomic computing. IEEE Computer 36(1), 41–50 (2003)
Kranzlmüller, D., Grabner, S., Schall, R., Volkert, J.: ATEMPT — A Tool for Event ManiPulaTion. Technical report, Institute for Computer Science, Johannes Kepler University Linz (May 1995)
Kranzlmüller, D.: Event Graph Analysis for Debugging Massively Parallel Programs. PhD thesis, GUP Linz, Linz, Austria (2000)
Kunz, T.: Abstract Behaviour of Distributed Executions with Applications to Visualization. PhD thesis, Technische Hochschule Darmstadt, Darmstadt, Germany (1994)
Kunz, T.: Automatic support for understanding complex behaviour. In: Proceedings of the International Workshop on Network and Systems Management, August 1995, pp. 125–132 (1995)
Kunz, T., Black, J.P., Taylor, D.J., Basten, T.: POET: Target-system independent visualisations of complex distributed-application executions. The Computer Journal 40(8), 499–512 (1997)
Lamport, L.: Time, clocks and the ordering of events in distributed systems. Communications of the ACM 21(7), 558–565 (1978)
Sen, A., Garg, V.K.: On checking whether a predicate definitely holds. In: Petrenko, A., Ulrich, A. (eds.) FATES 2003. LNCS, vol. 2931, pp. 15–29. Springer, Heidelberg (2004)
Sen, A., Garg, V.K.: Partial order trace analyzer (POTA) for distributed programs. In: Proc. Workshop on Runtime Verification (2003)
Xie, P., Taylor, D.: Specifying and locating hierarchical patterns in event data. In: Proceedings of the 2004 CAS Conference, pp. 66–80 (October 2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ward, P.A.S., Bedassé, D.S. (2005). Fast Convex Closure for Efficient Predicate Detection. In: Cunha, J.C., Medeiros, P.D. (eds) Euro-Par 2005 Parallel Processing. Euro-Par 2005. Lecture Notes in Computer Science, vol 3648. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11549468_7
Download citation
DOI: https://doi.org/10.1007/11549468_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-28700-1
Online ISBN: 978-3-540-31925-2
eBook Packages: Computer ScienceComputer Science (R0)