Authors:
Victor G. Khoroshevsky
and
Mikhail G. Kurnosov
Affiliation:
A.V. Rzhanov Institute of Semiconductor Physics, Russian Federation
Keyword(s):
Parallel programs mapping, Task allocation, Task assignment, MPI, Graph partitioning, Distributed computer systems, Multicore computer clusters, Parallel computer systems.
Related
Ontology
Subjects/Areas/Topics:
Distributed and Mobile Software Systems
;
Grid, Peer-To-Peer, and Cluster Computing
;
Process Coordination and Synchronization
;
Software Engineering
Abstract:
In most cases modern distributed computer systems (computer clusters and MPP systems) have hierarchical organization and non-uniform communication channels between elementary machines (computer nodes, processors or processor cores). Execution time of parallel programs significantly depends on how they map to computer system (on what elementary machines parallel processes are assigned and what channels for inter-process communications are used). The general problem of mapping a parallel program into a distributed computer system is a well known NP-hard problem and several heuristics have been proposed to approximate its optimal solution. In this paper an algorithm for mapping parallel programs into hierarchical distributed computer systems based on task graph partitioning is proposed. The software tool for mapping MPI applications into multicore computer clusters is considered. The quality of this algorithm with the NAS Parallel Benchmarks is evaluated.