Combining Functional And Performance Debugging Of Parallel And Distributed Systems Based On Model-driven Monitoring
Peter Dauphin · 2005
In order to program parallel and distributed systems efficiently, a systematic way of defining and understanding the complex behavior of process interactions in concurrent programs is needed. A proven method for understanding existing programs is event-driven monitoring which abstracts the program behavior to a sequence of events. These event traces are analyzed for debugging and tuning of the program. A new method is model-driven monitoring. By building a functional model of the parallel program describing the essential properties for debugging and performance evaluation, the definition of monitoring events is automated and carried out systematically. This integration of modeling and monitoring guarantees the same set of events in monitoring and modeling. It enables validation, i.e. functional debugging, of the program behavior by checking the event trace against the behavior represented in the model. If a functional error occurs, the information contained in the model allows the loca...