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
- Inserts the replay_op struct passed to it in the queue
- Traverses the queue backwards starting from the tail and searches for a node which matches the tail
- When it finds such a node, it attempts to match all nodes preceding the actual tail to those preceding the matched node
- If any pair of nodes don't match it continues looking for a new matching tail node
- or else it combines all pairs of nodes
Figure 1:
Intra-node compression
|
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: Internode Compression
Up: Basic Outline of MPITrace
Previous: Basic Outline of MPITrace
Blazing Demon
2006-11-30