next up previous
Next: MPISIM: An MPI Up: Simulation of Message Previous: Summary

Related Work

  Two simulation engines which use approaches similar to ours are Parallel Proteus [LW96] and LAPSE[Dic94].

Parallel Proteus is the parallelization of the Proteus simulation engine[BDC91], which uses the quantum protocol. The synchronization overhead caused by frequent barriers is reduced using two methods: (a) Predictive barriers and (b) Local barriers. Predictive barriers is a method for safely increasing the simulation quantum beyond L, the minimum communication latency of the target machine. This method uses runtime and compile time analysis to determine, at the beginning of a simulation quantum, the earliest simulation time at which any LP will send a message to any other LP. Consequently, the simulation quantum can be extended until that time. Runtime analysis involves simply running an LP until it communicates. If it stops at the equivalent of a receive statement, analysis performed at compile time is used to predict when it would have sent a message if it were instantly resumed. The method of local barriers uses statically available communication topology information (i.e. groups of LPs that communicate only within the groups they belong to) to reduce the global synchronization at the end of a simulation quantum to local synchronizations between groups of LPs. In comparison, we use the equivalent of runtime analysis since we execute an LP until it reaches a receive statement. The benefits of compile time analysis are achieved using the conditional event protocol, which is portable and does not need target instruction set analysis. In addition, our implementation of the null message protocol adapts automatically to the dynamically changing communication topology specified by the target program. Perhaps most importantly, it automatically recognizes deterministic code and switches off all synchronization while simulating it. As seen in the next chapter, this optimization helps us eliminate almost all synchronization overhead in simulating many real applications.

LAPSE is a parallel simulation engine for programs using the message passing library of the Intel Paragon. It uses a quantum protocol called WHOA (Window-based Halting On Appointments). Like Parallel Proteus, it uses runtime analysis to determine the size of the simulation quantum, but the runtime analysis is not supplemented with compile time analysis.

The concept of using the null message and the conditional event protocols in the same simulation was first suggested in [Jha93], in the context of queuing network simulation.



next up previous
Next: MPISIM: An MPI Up: Simulation of Message Previous: Summary



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