next up previous
Next: References Up: PDCS'94 Conference Previous: Sample Example from

Conclusion

The combination of the modeling approach of Ariadne [7] with the visual feedback scheme of Ave is a powerful tool to tackle the debugging issues in masssively parallel computing. Ave's approach of giving the visual feedback in terms of the match tree frees the user from the layout considerations that needed to be tackled with other visualization systems [14,]. At the same time, Ave imposes the user's view of abstraction over the primitive events which makes it more useful than the tools that only provide process time graph displays of the computation []. Ave's technique of graph collapsing (which it gets practically for free from its association with Ariadne's modeling hierarchy) alleviates the scalability problem that is often associated with visualizing massively parallel systems. Its capability to generate additional attributes from the match tree, and its display scheme of partitioning the generated attribute domain in terms of color give the user an easier way of aggregating behavior, and hence locating errors serendipitiously.

Parallel programs are best understood from different perspectives. Ave gives the user the ability to transform the match tree by a mechanism similar to set comprehension that is available in functional languages like Haskell []. This allows the user to check whether the same set of events satisfy a number of constraints, and gain more confidence about their modeling. All functions in Ariadne walks the same match tree, and so it is quite easy for the user to build new functional queries. All that is needed is the definition of the function that Ariadne should perform while it walks the tree. The user can also extend the event vocabulary of Ariadne at run time, and expresss behavior composed of the newly defined events.

Ave/Ariadne is an event-based abstraction based approach for program debugging. However as revealed in the last example, sometimes tracking an error may involve accumulating local state information as well. Currently this requires re-instrumentation of the program to collect the local state information as attributes to our events which is clearly unacceptable. We are currently investigating an integrated approach of debugging, that collects a minimal state information during execution, which will help the users to refine their event-based behavioral description in an incremental fashion by adding state attributes to track down bugs.



next up previous
Next: References Up: PDCS'94 Conference Previous: Sample Example from



Joydip Kundu kundu@neweng.enet.dec.com