next up previous
Next: Acknowledgements Up: PDWorks'93 Conference Previous: The Limitations of

Conclusion

We have introduced a new approach to the application of event-based abstraction to massively parallel computing. Previous methods were limited by their modeling languages: Sufficiently expressive languages required very complex matching algorithms that admitted only very limited feedback on the extent of a match. In some cases, the feedback was graphically presented in ways that did not scale to massively parallel systems. Our approach uses a simple modeling language that describes global patterns of communication in terms of parallel compositions of local patterns. This produces concise, scalable definitions and it allows for more informative feedback. We compensate for the loss of expressivity by allowing the user to interactively explore the extent to which a model matches the execution trace. We do not rely on graphical renderings and thus our techniques work well for even moderately large numbers of processes. We have implemented a prototype called Ariadne and have illustrated the effectiveness of this approach by presenting sample Ariadne debugging sessions involving actual parallel programs.

Ariadne was designed as a testbed for exploring the scalable application of event-based behavioral abstraction. We are currently evaluating the expressivity of its language and functional queries. In addition, because programmers are reluctant to learn new modeling languages for the sake of debugging, we are considering graphical languages that might make the description of patterns less onerous. We are also designing techniques for producing graphical displays of program behavior that would scale well. Finally, because Ariadne will eventually have to be intergrated into a more complete debugging system, we are investigating extensions to aspects of program behavior other than communication.



Joydip Kundu kundu@neweng.enet.dec.com