1 |
Escalonamento de aplicações paralelas: de clusters para gridsJacinto, Daniele Santini 24 August 2007 (has links)
Made available in DSpace on 2016-06-02T19:05:26Z (GMT). No. of bitstreams: 1
1631.pdf: 1988300 bytes, checksum: e305adb917a8fdf720897942982390b7 (MD5)
Previous issue date: 2007-08-24 / 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. / Algoritmos diferentes possibilitam o escalonamento eficiente de aplicações paralelas em
plataformas computacionais heterogêneas e distribuídas, tais como grids computacionais. Vários
algoritmos de escalonamento para esses ambientes necessitam de um modelo de aplicação
representado por um grafo acíclico direcionado (GAD), selecionando tarefas para execução de
acordo com suas características de comunicação e de processamento.
A obtenção de um GAD para uma aplicação real, contudo, não é uma questão simples.
O conhecimento necessário sobre as tarefas da aplicação e as comunicações entre elas, considerando
ciclos de transmissão, dificulta a elaboração de um grafo apropriado.
Particularmente, programas MPI, os quais representam uma parcela significativa das aplicações
paralelas, apresentam um modelo de comunicação cíclico entre o nó master e os nós
de processamento. Esse comportamento impede a utilização de muitos algoritmos de escalonamento
devido ao fato de eles percorrerem o grafo recursivamente para priorizar as tarefas. Nesse sentido, esse trabalho apresenta um mecanismo para a criação automática de GADs
para aplicações MPI reais originalmente desenvolvidas para clusters homogêneos. Para essa
implementação, aplicações são monitoradas durante a execução em um cluster e os dados coletados
são usados para a elaboração de um GADs apropriados. Dependências de dados são
identificadas e ciclos existentes entre as tarefas são eliminados. O algoritmo de escalonamento HEFT é usado para avaliar o modelo de aplicação e o
escalonamento obtido é então automaticamente convertido em um arquivo RSL (Resource Specification
Language) para execução em um grid com Globus.
Resultados de execuções de aplicações reais e simulações demonstram que o uso de grid
pode ser vantajoso.
|
Page generated in 0.057 seconds