next up previous
Next: References Up: Performance Prediction of Previous: Summary

Future Work

 

In this chapter, we identify the areas in which this work may be extended.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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 up previous
Next: References Up: Performance Prediction of Previous: Summary



Andy Kahn
Wed Jun 25 20:28:02 PDT 1997