WebSphere Extended Deployment Compute Grid, Version 6.1.1
             Sistemas Operacionais: AIX,, HP-UX, Linux, Solaris, Windows ,


O Parallel Job Manager (PJM)

O Parallel Job Manager ( PJM) fornece uma instalação e estrutura para envio e gerenciamento de tarefas transacionais em lote que são executadas como uma coleta coordenada de subtarefas paralelas independentes.

A Operação do PJM e a Chamada dos SPIs

As duas imagens a seguir descrevem a arquitetura do PJM e a sequência de uma tarefa paralelo. Primeiro, uma tarefa de nível superior é enviada ao planejador de tarefas, que determina que ela é uma tarefa paralela e despacha para o PJM. O PJM chama o SPI do parametrizador para ajudar a dividir a tarefa em sub-tarefas. O PJM em seguida chama o SPI de sincronização LogicalTX para indicar o início da transação lógica. O PJM então usa o xJCL da sub-tarefa armazenado no repositório para enviar as sub-tarefas para o Planejador de Tarefas. O planejador de tarefas então despacha as sub-tarefas para os terminais de contêineres em lote para execução. Depois que o PJM detecta que as sub-tarefas começaram a executar, ele chama o SPI de ciclo de vida. Nenhum informação de contexto está disponível como parte desta chamada, diferentemente de outras chamadas SPI. Em seguida, o contêiner em lote executa a sub-tarefa. Quando um ponto de verificação é assumido, o SPI coletor de sub-tarefas é chamado. Este SPI coleta informações de estado relevantes sobre a sub-tarefa. Estes dados são enviados ao SPI analisador de sub-tarefa para interpretação. Depois de todas as sub-tarefas atingirem um estado final, os SPIs de sincronização beforeCompletion e afterCompletion são chamados. O SPI analisador também é chamado para calcular o código de retorno da tarefa.

Arquitetura e Modelo de Programação do PJM

O seguinte imagem resume a arquitetura do PJM, que mostra onde os SPIs são chamados:


Arquitetura do PJM

Sequência de uma Tarefa Paralela

A seguinte imagem mostrou a ordem dos eventos em uma tarefa paralela:


Sequência de uma Tarefa Paralela

Aplicativo do Sistema PJM e Tarefas Paralelas

O PJM é um aplicativo Enterprise JavaBeans (EJB) que monitora e gerencia subtarefas paralelas. Sub-tarefas paralelas são aplicativos J2EE em lote. O PJM é uma tarefa do Java 2 Platform, Enterprise Edition (J2EE) em lote de uma etapa. O PJM não processa fluxos de dados em lote mas, em vez disso, envia ou reinicia sub-tarefas sob o controle de propriedades de etapa que identificam a sub-tarefa no repositório da tarefa e a quantidade de sub-tarefas a serem processadas.

Uma tarefa paralela é composta de uma tarefa de nível superior que executa o aplicativo ParallelJobManager e um conjunto e subtarefas que executam a lógica de negócios real. As subtarefas executam a mesma definição de tarefa, mas cada uma com entradas potencialmente distintas. Todas as subtarefas são gerenciadas juntas como uma única tarefa lógica.

As definições de xJCL separadas são necessárias ao o nível superior e às subtarefas. Todas as subtarefas são executadas usando a mesma definição de xJCL. Cada instância da subtarefa pode ser parametrizada com propriedades de substituições distintas.

Uma transação lógica é uma unidade de demarcação de trabalho que amplia a execução de uma tarefa paralela. Seu ciclo de vida corresponde ao ciclo de vida combinado das subtarefas da tarefa paralela. Um mecanismo de extensão possibilita a customização para que os recursos gerenciados do aplicativo sejam controlados nessa unidade de escopo do trabalho para propósitos de confirmação e retrocesso.

Convenção de Nomenclatura da Tarefa

O nome de uma tarefa paralela é especificado na xJCL que define uma tarefa de nível superior. A tarefa de nível superior de xJCL pode se originar do sistema de arquivos ou do repositório de tarefas do Compute Grid. O nome da tarefa pode ser parametrizado usando a notação da propriedade de substabelecimento padrão: <job name=”${jobname}” … >.

Um ID da tarefa é formado concatenando um nome da tarefa com um número de sequência gerado pelo sistema. Um nome da tarefa e um número de sequência são separados por dois pontos. O nome da tarefa de uma subtarefa é o ID da tarefa paralela. A xJCL para uma subtarefa pode ser originada apenas do repositório de tarefas do Compute Grid. O xJCL da sub-tarefa deve fornecer a propriedade de substabelecimento do nome da tarefa: <job name="${jobname}" … >

Gerenciamento de Tarefas do PJM

A tarefa de nível superior envia as subtarefas e monitora sua conclusão. O estado final da tarefa de nível superior é influenciado pela resultado das subtarefas da seguinte maneira:
  1. Se todas as subtarefas forem concluídas no estado terminado, isto é, em uma conclusão bem-sucedida, a tarefa de nível superior será concluída no estado terminado.
  2. Se qualquer subtarefa for concluída no estado reinicializável e nenhuma subtarefa terminou no estado falho, a tarefa de nível superior será concluída no estado reinicializável.
  3. Se qualquer subtarefa for concluída no estado falho, a tarefa de nível superior será concluída no estado falho.
  4. Se a tarefa de nível superior e as sub-tarefas estiverem no estado reinicializável, somente a tarefa de nível superior deverá ser reinicializada. Se qualquer e as sub-tarefas for reinicializada manualmente, então a tarefa de nível superior não processará a transação lógica adequadamente.



Conceitos relacionados
Gerenciando Tarefas de Compute Grid e seu Ambiente
Outras Considerações ao Executar o Parallel Job Manager
Tarefas relacionadas
Instalando e Configurando o Parallel Job Manager (PJM)
Aplicativo de Amostra do Parallel Job Manager
Referências relacionadas
System Programming Interfaces (SPI) e Propriedades
parallelJobManager.py script
Tópico de Conceito    

Termos de Uso | Feedback

Última atualização: 24/09/2009 14h24min35s EDT
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r1m1/index.jsp?topic=/com.ibm.websphere.gridmgr.doc/info/scheduler/ccgparallel.html