next up previous
Next: Internode Compression Up: Basic Outline of MPITrace Previous: Basic Outline of MPITrace


Intranode Compression

As was mentioned earlier, the compress_node function basically does the job of intranode compression. The compress_node function's operation is described in [1]. Briefly it does the following
  1. Inserts the replay_op struct passed to it in the queue
  2. Traverses the queue backwards starting from the tail and searches for a node which matches the tail
  3. When it finds such a node, it attempts to match all nodes preceding the actual tail to those preceding the matched node
  4. If any pair of nodes don't match it continues looking for a new matching tail node
  5. or else it combines all pairs of nodes

Figure 1: Intra-node compression
Image intra-nodecompression

This is a very simplistic view, and the function performs several other checks, and combination involves various other operations including carrying forward some parameters required for replay. At the core of it this function is where the intra-node compression occurs, and it involves only three basic operations, matching, passing over relevant information and removing the matched nodes.


next up previous
Next: Internode Compression Up: Basic Outline of MPITrace Previous: Basic Outline of MPITrace
Blazing Demon 2006-11-30