- ...code
- It is also possible to analyze
hand-instrumented code using Carnival . We have implementations of
the tracing library for networks of Sun workstations and the SGI
Challenge that assume hand-instrumented PVM code.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...category
- In the current implementation of Carnival, each
dynamic basic block is assigned the same category as its enclosing
scope. This approach is restrictive, so in the future we plan to assign
different categories to basic blocks that are part of the same scope
via code annotations that are used during analysis. Note that this
solution increases the amount of static information, but the amount of
dynamic information generated remains the same.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...respectively)
- In the current version of
Carnival, we distinguish between local and distributed data by
checking if the access to the data requires calls to the run-time
library, which indicates distributed data
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...execution.
- Our waiting
time analysis does not include processor stalls due to the memory system,
since it is impractical to monitor every processor stall in software.
Thus, on shared-memory machines,
our waiting time analysis considers synchronization loss only,
and not the time lost due to remote memory accesses.
Differences in computation time caused by remote memory accesses
on one processor that are local memory accesses on another
may ultimately produce waiting time,
but this waiting time will be attributed to a difference
in the computation times of the two processors without explicitly
recognizing the role of remote accesses.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...processor
- For the purpose of characterizing waiting time,we
could use just two processor states,waiting and computing.
We distinguish the various computing states (as in
Section 3.3.1) so as to simplify the modeling process
for waiting time, it being easier to develop accurate models for
different classes of computation in isolation and then combine them.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...class.
- The representative for an equivalence class is
never changed, ensuring that the equivalence relation is independent
of the order in which paths are processed. The characterization for
a class is updated each time a new path matches the representative for that
class, reflecting the time spent in the new path.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...path.
- We
compute the relative duration to avoid relying on the exact duration
of steps or the precise number of iterations in a loop
in determining equivalence of execution paths.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...Cholesky.
- The implementations of Cholesky on
the SGI and SP2 are slightly different, and cannot be compared directly.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...detail
- A critical analysis of LCA can be found in
[Meira Jr.1995]
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...16.
- The number of experiments saved using a
reduced-factorial design depends on the number of factors, so the
savings could be much greater than in this example.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...block)
- In fact, this
summary is already done for generating the visualization interface of
Carnival.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.