Escalonamento de aplicações paralelas: de clusters para grids - Jacinto, Daniele Santini (Universidade Federal de São Carlos, 2007)
Different algorithms provide efficient scheduling of parallel applications on distributed and heterogeneous computational platforms, such as computational grids. Most scheduling algorithms for such environments require an application model represented by a directed acyclic graph (DAG), selecting tasks for execution according to their processing and communication characteristics. The obtainment of DAGs for real applications, however, is not a simple quest. The required knowledge about the application tasks and the communication among them, considering existing transmission cycles, harden the elaboration of appropriate graphs. Particularly, MPI programs, that represent a meaningful portion of existing parallel applications, usually present a cyclic communication model among the master and the processing nodes. This behavior prevents most scheduling algorithms to be employed as they recursively traverse the graphs to prioritize the tasks. In this sense, this work presents a mechanism for the automatic creation of DAGs for real MPI application originally developed for homogeneous clusters. In order to do so, applications go through a monitored execution in a cluster and the collected data are used for the elaboration of an appropriate DAGs. Data dependencies are identified and existing cycles among the tasks are eliminated. The HEFT scheduling algorithm is used to evaluate the application model and the schedule obtained is then automatically converted into an RSL (Resource Specification Language) file for execution in a grid with Globus. Results from running real applications and simulations show using the grid can be advantageous.
Keywords: Grade computacional; Escalonamento; MPI; Cluster; MPI; Computational grids; Direct acyclic graph (DAG); application scheduler: HEFT; Globus; GridSim; CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO