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


El gestor de trabajos paralelos (PJM)

El gestor de trabajos paralelos (PJM) proporciona un recurso y una infraestructura para someter y gestionar trabajos por lotes de transacciones que se ejecutan como una colección coordinada de subtrabajos paralelos independientes.

Operación e invocación de PJM de las SPI

Las dos imágenes siguientes representan la arquitectura de PJM y la secuencia de un trabajo paralelo. En primer lugar, se envía un trabajo de nivel superior al planificador de trabajos, que determina que es un trabajo paralelo y lo entrega al PJM. El PJM invoca el parametrizador de SPI para ayudar a dividir el trabajo en subtrabajos. Después, el PJM invoca la SPI de sincronización LogicalTX para indicar el principio de la transacción lógica. A continuación, el PJM utiliza el xJCL del subtrabajo almacenado en el repositorio para enviar los subtrabajos al planificador de trabajos. Después, el planificador de trabajos envía los subtrabajos a los puntos finales del contenedor de proceso por lotes para su ejecución. Una vez que el PJM detecta que los subtrabajos se han empezado a ejecutar, invoca la SPI del ciclo de vida. A diferencia de las otras invocaciones SPI, esta invocación no consta de información de contexto. A continuación, el contenedor de proceso por lotes ejecuta el subtrabajo. Cuando se toma un punto de control, se invoca la SPI del recopilador de subtrabajos. La SPI recopila información de estado relevante sobre el subtrabajo. Estos datos se envían a la SPI del analizador de subtrabajos para su interpretación. Cuando todos los subtrabajos llegan a un estado final, se invocan las SPI de sincronización beforeCompletion y afterCompletion. La SPI del analizador también se invoca para calcular el código de retorno del trabajo.

Arquitectura y modelo de programación de PJM

En la siguiente imagen se resume la arquitectura de PJM, que muestra donde se invocan las SPI.


Arquitectura de PJM

Secuencia de un trabajo paralelo

La siguiente imagen muestra el orden de los sucesos en un trabajo paralelo:


Secuencia de un trabajo paralelo

Trabajos paralelos y aplicación del sistema de PJM

El PJM es una aplicación Enterprise JavaBeans (EJB) que supervisa y gestiona los subtrabajos paralelos. Los subtrabajos paralelos son aplicaciones J2EE por lotes. El PJM es un trabajo J2EE (Java 2 Platform, Enterprise Edition) de proceso por lotes de un paso. El PJM no procesa secuencias de datos por lotes, sino que somete o reinicia subtrabajos que están bajo el control de las propiedades de pasos que identifican el subtrabajo en el repositorio de trabajos y la cuenta de subtrabajos para procesar.

Un trabajo paralelo está compuesto de un trabajo de nivel superior que ejecuta la aplicación ParallelJobManager y un conjunto de subtrabajos que ejecutan la lógica empresarial real. Los subtrabajos ejecutan la misma definición de trabajo, aunque cada uno con entradas potencialmente distintas. Todos los subtrabajos se gestionan juntos como un único trabajo lógico.

Son necesarias definiciones xJCL separadas tanto para el trabajo de nivel superior como para los subtrabajos. Todos los subtrabajos se ejecutan utilizando la misma definición xJCL; cada instancia de subtrabajo puede parametrizarse con distintas propiedades de sustituciones.

Una transacción lógica es una unidad de demarcación de trabajo que abarca la ejecución de un trabajo paralelo. Su ciclo de vida corresponde al ciclo de vida combinado de los subtrabajos del trabajo paralelo. Un mecanismo de extensión permite la personalización de modo que los recursos gestionados por la aplicación se pueden controlar en esta unidad de ámbito de trabajo para fines de compromiso y retrotracción.

Convenio de denominación de trabajos

El nombre de trabajo de un trabajo paralelo se especifica en el xJCL que define un trabajo de nivel superior. El xJCL de trabajo de nivel superior puede tener su origen en el sistema de archivos o en el repositorio de trabajos de Compute Grid. El nombre de trabajo se puede parametrizar utilizando la notación de propiedades de sustitución estándar: <job name=”${jobname}” >.

Un ID de trabajo se forma concatenando un nombre de trabajo con un número de secuencia generado por el sistema. Un nombre de trabajo y un número de secuencia se separan mediante dos puntos. El nombre de trabajo de un subtrabajo es el ID de trabajo del trabajo paralelo. El xJCL para un subtrabajo sólo puede tener su origen en el repositorio de trabajos de Compute Grid. El xJCL de subtrabajo debe suministrar la propiedad de sustitución de nombres de trabajo: <job name=”${jobname}” … >

Gestión de trabajos de PJM

El trabajo de nivel superior somete los subtrabajos y supervisa su finalización. El estado final del trabajo de nivel superior está influenciado por el resultado de los subtrabajos tal como se indica a continuación:
  1. Si todos los subtrabajos se completan en estado finalizado, es decir, en una conclusión satisfactoria, el trabajo de nivel superior se completará en estado finalizado.
  2. Si cualquier subtrabajo se completa en estado reiniciable y ningún subtrabajo ha finalizado en estado de anomalía, el trabajo de nivel superior se completará en estado reiniciable.
  3. Si algún subtrabajo se completa en estado de anomalía, el trabajo de nivel superior se completará en estado de anomalía.
  4. Si el trabajo de nivel superior y los subtrabajos están en el estado restartable, sólo se debe reiniciar el trabajo de nivel superior. Si se reinicia algún subtrabajo manualmente, el trabajo de nivel superior no procesará correctamente la transacción lógica.



Conceptos relacionados
Gestión de los Trabajos de Compute Grid y su entorno
Otras consideraciones al ejecutar el gestor de trabajos paralelos
Tareas relacionadas
Instalación y configuración del gestor de trabajos paralelos (PJM)
Aplicación de ejemplo para el gestor de trabajos paralelos
Referencia relacionada
Interfaces de programación del sistema (SPI) y propiedades
Script parallelJobManager.py
Tema de concepto    

Condiciones de uso | Comentarios

Última actualización: 22-sep-2009 09H47' EDT
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r1m1/index.jsp?topic=/com.ibm.websphere.gridmgr.doc/info/scheduler/ccgparallel.html