Next: References
Up: Performance Prediction of
Previous: Summary
In this chapter, we identify the areas in which this work may be
extended.
- Prediction of Local Code Block Execution Time
As mentioned in the previous chapter, one of the sources of
error in the simulations was runtime measurement. Ideally,
it is desirable to use code profiling as a technique to
predict local code block execution time, since it is deterministic.
However, code profiling cannot account for
runtime dependent factors like the cache hit rate,
ILP and branch prediction success. Techniques need to be
devised to collect reasonably accurate estimates of these factors,
and use them at runtime without affecting determinism.
- Implementation of Compile Time Analysis
One way to improve the efficiency of the null message protocol
is to improve the lookaheads. Compile
time analysis of a target program can provide
good static lookahead estimates.
Additionally, techniques need to
be devised to improve static lookaheads at runtime.
- Recognizing Deterministic Code As shown in the
previous chapter, it is not always possible to detect deterministic
code by simply analyzing each receive statement in isolation.
Techniques need to be devised to model all the possible process interactions
implied by a piece of code containing send and receive statements,
in a way that reveals deterministic receive statements.
- Integration with Interconnection Network Simulation Models
Our simulation model assumed constant delays for the interconnection
network and communication protocol. For very accurate simulation
which takes into account hardware and software queueing delays, it
is desirable to use a communication protocol and interconnection
network simulation model. The design of the models themselves
is not expected to be complex, but the issues in the parallel
execution of these models are significant. It is important to
partition the model in such a way that the different partitions
communicate with each other infrequently, otherwise the lookaheads
would be low, resulting in frequent synchronization.
- Integration with I/O Simulation Models In the current
version of the MPI simulation library, we do not support MPI-IO function calls.
It is desirable to have a simulation model of MPI-IO calls, which
can be integrated with the MPI simulation model for a more complete
MPI simulation engine.
Next: References
Up: Performance Prediction of
Previous: Summary
Andy Kahn
Wed Jun 25 20:28:02 PDT 1997