next up previous
Next: Postmortem Simulation Up: Performance Modeling Previous: Performance Modeling


BigSim

Performance of parallel applications is known to be difficult to predict due to the complexity of the communication system and non-determinacy of the simulation. Messages may arrive out of order, arising from the fact that we are using multiple processors to carry out the simulation. As a result, messages with later time stamps may arrive before messages with earlier timestamps, causing causality errors and destroying the accuracy of the simulation.

Traditional methods of correcting this involve high synchronization overheads as are often found in optimistic concurrency control. These overheads include: (a) checkpointing overhead, (b) rollback overhead and (c) forward execution overhead. In BigSim, taking advantage of the parallel program's inherent determinacy, we are able to greatly improve the simulation efficiency by dramatically reducing the overheads. The details of BigSim are described in [6].

BigSim is based on direct execution of an application on the emulator described previously. Our approach for the simulation involves letting the emulated execution of the program proceed as usual, while concurrently running a parallel algorithm that corrects time-stamps of individual messages.

BigSim is a coarse simulator in that the network contention is ignored although path-dependent message latencies are modeled. This is often found adequate for major class of computation bounded applications. However, for applications that require detailed network modeling, the simulator needs to be extended to model network contention. Thus we present an extension to BigSim, the BigNetSim simulator, an ongoing effort to incorporate detailed network simulation in performance prediction.

We next describe the PDES engine POSE used in the development of BigNetSim and our progress so far.


next up previous
Next: Postmortem Simulation Up: Performance Modeling Previous: Performance Modeling
Gengbin Zheng 2004-01-21