• Nenhum resultado encontrado

4.2 Proposta do Ambiente de Processamento Distribu´ıdo em Grade Aplicado

4.2.3 M´etodos de Distribui¸c˜ao de Tarefas

S˜ao previstos trˆes m´etodos para a distribui¸c˜ao de tarefas de processamento no am- biente: a distribui¸c˜ao de tarefas independentes, a distribui¸c˜ao de lotes de tarefas sobre conjunto de dados distintos e distribui¸c˜ao de tarefas paralelas. Para abordar o funciona- mento destes processos no ambiente ser˜ao apresentados trˆes diagramas que descrevem as etapas destes processos.

Assumimos que para realizar algum dos procedimento que ser˜ao descritos a seguir, o usu´ario realizou todas as etapas relacionadas com a seguran¸ca, ou seja que tenha um certificado de usu´arios v´alido, que tenha gerado um certificado Proxy e se autenticado no ambiente.

Tarefas Independentes

A submiss˜ao de uma tarefa independente para processamento em ambiente de grade ´e o m´etodo mais simples entre os apresentados nesta proposta. O benef´ıcio de executar uma tarefa independente no ambiente de grade ao inv´es de localmente ´e visto quando uma tarefa requisita um recurso espec´ıfico para seu processamento, que n˜ao existe na institui¸c˜ao de origem. Outro fato favor´avel ´e a possibilidade de aproximar a execu¸c˜ao dos dados a serem processados.

No processo apresentado na figura 4.4, o usu´ario envia uma tarefa para execu¸c˜ao por meio de um arquivo de descri¸c˜ao de tarefa (1); o meta-escalonador GridWay consulta o sistema de informa¸c˜oes do ambiente MDS para descobrir qual recurso ser´a disponibilizado para a execu¸c˜ao da tarefa(2); ap´os receber a identifica¸c˜ao do recurso, o GridWay prepara a execu¸c˜ao da tarefa no recursos, processo que consiste em enviar o c´odigo bin´ario a ser executado e os dados caso necess´ario, por meio do GridFTP (3, 4); ap´os o preparo para a execu¸c˜ao da tarefa o GridWay solicita para o gerente de execu¸c˜ao do ambiente GRAM a coordena¸c˜ao da tarefa junto ao recurso determinado(5); o GRAM inicia a execu¸c˜ao e mant´em a comunica¸c˜ao com o recurso para possuir a informa¸c˜ao do estado de execu¸c˜ao do processo computacional (6), repassando estas informa¸c˜oes para o GridWay (5); caso seja necess´ario, o recurso pode acessar dados para processamento em outros recursos de dados por meio do GridFTP (7,8); o estado do recurso de processamento ´e sempre atualizado junto ao MDS (9); o resultado da execu¸c˜ao da tarefa ´e enviado para o usu´ario por meio do GridFTP (4, 3). ´E comum que o resultado seja um arquivo contendo os dados de sa´ıda da execu¸c˜ao, cujo o nome ´e indicado na descri¸c˜ao da tarefa.

4.2 Proposta do Ambiente de Processamento Distribu´ıdo em Grade Aplicado ao OncoGrid 69

Figura 4.4: Submiss˜ao de uma tarefa independente no OncoGrid.

No caso de todos os recursos estarem ocupados a tarefa fica em um fila, aguardando a disponibiliza¸c˜ao de algum recurso.

Lotes de Tarefas

A submiss˜ao de tarefas em lote pode ser iniciada de duas formas. A primeira ´e utili- zando um ´unico arquivo de descri¸c˜ao da tarefa, indicando para o meta-escalonador quantas instˆancias idˆenticas ele deve iniciar. Cada tarefa iniciada possui um identificador de pro- cesso que pode ser utilizado pela aplica¸c˜ao para controlar a seq¨uˆencia do processamento e os dados que ser˜ao utilizados pelo processo. Por exemplo, se iniciarmos quatro tarefas segundo este m´etodo podemos dividir o segmento de dados a ser processado em quatro partes iguais e distribuir um quarto da por¸c˜ao do processamento para cada processo.

A segunda forma ´e utilizar um conjunto de arquivos de descri¸c˜ao da tarefa, alterando apenas a entrada de dados. Por exemplo, se possu´ımos um conjunto de seq¨uˆencias gen´eti- cas Z que devemos comparar com quatro banco gen´eticos A, B, C, D, ent˜ao necessitamos

criar quatro arquivos de descri¸c˜ao de tarefas com entradas de dados distintas, sendo, Z-A, Z-B, Z-C e Z-D.

Quando abordamos o processo (1) da figura 4.5 o usu´ario poder´a estar utilizando uma destas duas estrat´egias para submeter as tarefas ao ambiente.

Figura 4.5: Submiss˜ao de um lote de tarefa no OncoGrid.

No processo apresentado na figura 4.5, 0 usu´ario submete um lote de tarefa para exe- cu¸c˜ao por meio de arquivo(s) de descri¸c˜ao(˜oes) de tarefa(s) (1); ap´os receber o conjunto de descritores das tarefas, o GridWay consulta o sistema de informa¸c˜oes do ambiente MDS para descobrir quais os recursos dispon´ıveis para a execu¸c˜ao das tarefas (2); realizada a identifica¸c˜ao do conjunto de recursos, o GridWay prepara as tarefas nos recursos por meio do GridFTP (3, 4); ap´os a prepara¸c˜ao das tarefas nos recursos, o GridWay solicita ao GRAM a coordena¸c˜ao da tarefa junto ao recurso determinado (5); o GRAM inicia a exe- cu¸c˜ao e mant´em a comunica¸c˜ao com os recursos para conhecer o estado de execu¸c˜ao das tarefas (6), sempre atualizando estas informa¸c˜oes junto ao GridWay (5); caso seja neces-

4.2 Proposta do Ambiente de Processamento Distribu´ıdo em Grade Aplicado ao OncoGrid 71

s´ario, as tarefas podem acessar dados em recursos de dados por meio do GridFTP (7,8); os estados dos recursos s˜ao atualizados junto ao MDS periodicamente (9); o conjunto de arquivos contendo os resultados das execu¸c˜oes das tarefas s˜ao retornados ao usu´ario por meio do GridFTP (4, 3).

No caso deste modelo de distribui¸c˜ao de tarefas, o emprego de parˆametros ou requisitos para a execu¸c˜ao das tarefas pode proporcionar ganho de desempenho, como selecionando arquiteturas mais apropriadas para a execu¸c˜ao das tarefas ou otimizando a estrat´egia de acesso aos dados, de modo que as esta¸c˜oes selecionadas para processamento adquiram os dados que estejam mais pr´oximos a ela. Este processo n˜ao ´e autom´atico e deve ser indicado no arquivo descritor de tarefas. Para maiores detalhes sobre os parˆametros de configura¸c˜ao consulte a apˆendice B.

Abordando os recursos de processamento apresentados na figura 4.5, devemos consi- derar que estes equipamentos s˜ao heterogˆeneos, como, conjunto de esta¸c˜oes de trabalho, aglomerados com escalonadores locais, sistemas operacionais e arquitetura de processa- dores distintas. Se torna imprescind´ıvel assim especificar os requisitos da tarefa no seu arquivo descritor, como a escolha do sistema operacional e da arquitetura do processador. Tarefas Paralelas

Uma tarefa paralela ´e executada como um ´unico processo, no instante que o pro- cesso ´e submetido a execu¸c˜ao, ´e gerado, a partir deste, um conjunto determinado de sub-processos. Cada item deste conjunto fica respons´avel por realizar uma parte determi- nada dos c´alculos. ´E uma caracter´ıstica deste modelo de distribui¸c˜ao de processamento a troca de mensagens entre os processos em execu¸c˜ao. Ap´os o t´ermino da execu¸c˜ao de todos os sub processos, o processo prim´ario que originou os demais tem a responsabilidade de agrupar os resultados em um ´unico.

Esta tarefa ´e normalmente executada por um aglomerado de computadores ou com- putador paralelo, projetados especificamente para estes fins. A comunica¸c˜ao entre os processos ´e realizada por interfaces para programa¸c˜ao paralela, como o MPI, sobre infra- estruturas de redes de alta velocidade. Em um ambiente de grade computacional podemos disponibilizar este tipo de equipamento como recurso da grade. O intercˆambio de men- sagens entre estes recursos ´e realizados por meio da infra-estrutura de comunica¸c˜ao do ambiente de grade.

Figura 4.6: Submiss˜ao de uma tarefa paralela no OncoGrid.

No processo apresentado na figura 4.6, o usu´ario submete uma tarefa paralela para execu¸c˜ao por meio de um arquivo de descri¸c˜ao de tarefa (1); o GridWay recebe a descri¸c˜ao da tarefa e realiza a consulta ao MDS descobrindo quais os recursos com as caracter´ısti- cas apropriadas est˜ao dispon´ıveis (2); ap´os identificar os recursos que ser˜ao utilizados, o GridWay prepara a execu¸c˜ao das tarefas nos recursos por meio do GridFTP (3, 4); ap´os a prepara¸c˜ao da tarefa para execu¸c˜ao o GridWay solicita para o gerente de execu¸c˜ao do ambiente GRAM a coordena¸c˜ao da tarefa junto ao recurso determinado (5); o GRAM inicia a execu¸c˜ao da tarefa nos recursos (6); a pr´oxima etapa consiste na cria¸c˜ao dos sub- processos e o envio dos mesmos aos componentes de processamento (n´os) dos aglomerados por comunica¸c˜ao MPI, esta etapa ´e realizada pela pr´opria tarefa, e mant´em a integra¸c˜ao com os outros aglomeradas que participam do processamento (10); o estado da execu¸c˜ao da tarefa principal ´e mantido pelo GRAM(6); caso seja necess´ario, a tarefa pode aces-