The Carnival implementation comprises about 15,000 lines of Tcl/Tk and C source code. It has been installed at the Cornell Theory Center and we plan to make it more widely available soon. We are currently porting the instrumentation library (the only machine-dependent portion of the tool) to clusters of DEC Alphas connected by the DEC Memory Channel.
We are also investigating other cause-and-effect inference techniques for performance phenomena in both message-passing and shared-memory systems, and the use of these techniques in performance modeling. We are using user-defined (with compiler assistance) analytical models for steps in a characterization to build analytical models for waiting time based on lost cycles analysis [6]. These models will allow us to quantify the impact on waiting time of a change in the number of processors or problem size, and ultimately to predict accurately the running time of a program under varying conditions.