Task Layout Optimizer for Blue Gene

A tool for efficient mapping of Message Passing Interface (MPI) tasks to the IBM Blue Gene/L Supercomputer. Blue Gene is a supercomputing solution from IBM. Blue Gene/L is a massively parallel computer, consisting of 65,536 computation nodes configured in a 64 x 32 x 32 torus. A parallel program consists of a collection of processes that communicate by sending messages. The execution time of a parallel program is the time spent in computation and communication. Since communication cost increases with distance between communicating nodes, it is important to obtain an efficient layout of processes for a large supercomputer such as Blue Gene. Message Passing Interface (MPI) is the de facto standard for message passing. The purpose of Task Layout Optimizer for Blue Gene is to provide efficient means for mapping MPI tasks to nodes in a Blue Gene Supercomputer. Task Layout Optimizer for Blue Gene takes as input an N x N communication matrix (for a target program with N processes) representing the communication traffic between MPI tasks. The communication matrix can be obtained by running the target program on Blue Gene after linking with the trace library provided for downloading. The Mapping Service takes an application's communication pattern as input and executes a layout optimizer program in order to obtain an efficient map. The user downloads the map file and runs the target program on his Blue Gene system with the new mapping. The map file has N lines in the format (X, Y, Z, t) where X, Y, Z are grid coordinates identifying the computation node to which the process with rank corresponding to that line number (0 to N-1) should be mapped. The last coordinate, t, is used to identify one of the two processors on the computation node (for the virtual node mode of operation). The algorithms used for mapping are based on the paper Optimizing Task Layout on the Blue Gene/L supercomputer.