next up previous
Next: Recording Time Up: Changes to functions Previous: Changes to functions

Initializing Global Time

Since time was going to be stored relative to the start of the nodes MPI program, it made sense for us to have the global start time computed at the start of the program. This was done in the pre-wrapper of the MPI_Init program. The function used to retrieving time value is gettimeofday. This function gives us microsecond level resolution. However due to the semantics of this call and our use of it, the trace compression may not run through the change of a physical day. So an MPI program starting on 16th October and ending on 17th October would give invalid results. The global time datum was declared in the umpi_internal.h file and defined in the umpi_internal.c file.

It must be noted that start times for the different nodes are not the same, and there cannot be a perfect synchronization mechanism to correct for this. Hence timing deltas measured relative to the start of the node's start time are inaccurate when internode compression occurs. An easy way to get around these is to send a node's start time right before it sends its flat rsd_queue. Then the difference between the master node's start time and slave node's start time can be used to correctly adjust the timing deltas to store relative values. This issue may be taken care of soon.


next up previous
Next: Recording Time Up: Changes to functions Previous: Changes to functions
Blazing Demon 2006-11-30