Differences
This shows you the differences between the selected revision and the current version of the page.
ipar:modelo 2007/12/24 17:43 | ipar:modelo 2007/12/24 17:45 current | ||
---|---|---|---|
Line 6: | Line 6: | ||
- | ==== O framework ==== | + | ===== O framework ===== |
O **ipar** gerencia a chamada de tarefas em nodos do cluster segundo uma lista criada pela aplicação a ser paralelizada (esta será chamada de apenas de aplicação no decorrer do texto). A aplicação consiste de um programa escrito em Java que deve seguir uma estrutura bem definida. Quando o ipar é iniciado, este executa um shell script que deve conter a chamada do clall da aplicação que tiver a função main. Esta estrutura será descrita na seção //Aplicação a ser paralelizada//. | O **ipar** gerencia a chamada de tarefas em nodos do cluster segundo uma lista criada pela aplicação a ser paralelizada (esta será chamada de apenas de aplicação no decorrer do texto). A aplicação consiste de um programa escrito em Java que deve seguir uma estrutura bem definida. Quando o ipar é iniciado, este executa um shell script que deve conter a chamada do clall da aplicação que tiver a função main. Esta estrutura será descrita na seção //Aplicação a ser paralelizada//. | ||
- | === Estrutura Básica === | + | ==== Estrutura Básica ==== |
Tem uma estrutura básica organizada da seguinte forma: | Tem uma estrutura básica organizada da seguinte forma: | ||
Line 42: | Line 42: | ||
De tempos em tempos este vector com as tarefas deve ser gravado em arquivo para que se possa monitorar o status do processamento | De tempos em tempos este vector com as tarefas deve ser gravado em arquivo para que se possa monitorar o status do processamento | ||
- | === Algorítmo: === | + | ==== Algorítmo: ==== |
início | início | ||
Line 57: | Line 57: | ||
- | ==== Aplicação a ser paralelizada ==== | + | ===== Aplicação a ser paralelizada ===== |
Deve ter no mínimo 3 métodos: //inicia(); finaliza(); executa(parametros)// | Deve ter no mínimo 3 métodos: //inicia(); finaliza(); executa(parametros)// | ||
Line 67: | Line 67: | ||
Qualquer um dos métodos acima, após concluir sua computação, deve fazer uma conexão rmi retornando os resultados de suas computações para o gerente. Apenas uma conexão rmi deve ser realizada por cada computação, e após ela ser feita o programa deve ser finalizado. | Qualquer um dos métodos acima, após concluir sua computação, deve fazer uma conexão rmi retornando os resultados de suas computações para o gerente. Apenas uma conexão rmi deve ser realizada por cada computação, e após ela ser feita o programa deve ser finalizado. | ||
- | === Descrição dos métodos === | + | ==== Descrição dos métodos ==== |
**Método //inicia()//** | **Método //inicia()//** | ||
Line 105: | Line 105: | ||
No caso de redistribuíção de tarefas será subentendido que a tarefa foi concluída com exito e foi quebrada em outras subtarefas. | No caso de redistribuíção de tarefas será subentendido que a tarefa foi concluída com exito e foi quebrada em outras subtarefas. | ||
- | === O que pode ser uma tarefa === | + | ==== O que pode ser uma tarefa ==== |
Um exemplo de tarefa seria uma figura ao qual deve ser aplicado um algorítmo. Portanto o método "inicia" pode particionar uma determinada imagem em várias subimagens para poder computar cada uma em um nodo diferente. Desta maneira o nome de cada subimagem pode ser a tarefa, logo quando o "gerente" distribuir as tarefas ele vai passar o seu nome para o método executa. depois de todas as tarefas terem sido executadas, o método "finaliza" é chamado para computar os resultados parciais que devem obrigatoriamente estarem armazenados em arquivos. | Um exemplo de tarefa seria uma figura ao qual deve ser aplicado um algorítmo. Portanto o método "inicia" pode particionar uma determinada imagem em várias subimagens para poder computar cada uma em um nodo diferente. Desta maneira o nome de cada subimagem pode ser a tarefa, logo quando o "gerente" distribuir as tarefas ele vai passar o seu nome para o método executa. depois de todas as tarefas terem sido executadas, o método "finaliza" é chamado para computar os resultados parciais que devem obrigatoriamente estarem armazenados em arquivos. | ||
- | === Modelo de implementação do Programa a ser paralelizado === | + | ==== Modelo de implementação do Programa a ser paralelizado ==== |