TOPPER: A Tool for Optimizing the Performance of Parallel Applications

In this paper we present an autonomous and complete tool for optimizing the performance parallel programs on multiprocessor architectures. The concern of TOPPER's users is bound to the construction of two separate graphs, describing the overall application's task partitioning and interprocess communication requirements, as well as the architecture of the available multiprocessor system. TOPPER proceeds with the elaboration of these two graphs and proposes an efficient task mapping, aiming to minimize the application's overall execution time. When the communication between the various tasks is carried out with the use of MPI routines, the tool not only proposes an optimal task allocation but also can execute automatically the parallel application on the target multiprocessing machine.