next up previous contents
Next: Working Scenario Up: Carnival: a Framework for Previous: Carnival: a Framework for

Carnival Features

As a performance understanding framework, Carnival supports the following four features:

Static information:

The static information in Carnival is the source code of the application and its structure. The source code is organized as a hierarchy of nested scopes, according to the semantic structure of the application. Also, each scope is assigned a processing category (e.g., local computation, parallel computation, send, receive). This static information is used in both dynamic data collection and visual interface generation.

Dynamic information:

Carnival provides a tracing library for acquisition of execution-time performance data. Each call to a library function generates an event that registers a processor identifier, scope, processing category, and time of occurrence. These events are stored in a file for further processing.

Hierarchical abstraction of performance data:

In Carnival , performance data is organized hierarchically according to the source code structure, allowing inspection at several levels of detail.

Integration of dynamic and static information:

Carnival integrates static and dynamic information by associating with each dynamic event the corresponding code segment and processing category. This integration plays a major role in the visualization and automated analysis of performance phenomena.

Although the framework as described satisfies our current needs for performance understanding, there are many enhancements that maintain the framework's characteristics and improve its support for performance understanding. Integration of additional static analysis information, more detailed dynamic data, and support for model generation are examples of possible improvements.



Wagner Meira
Wed Feb 28 15:37:47 EST 1996