Compartir a través de


Descripción de los trabajos informáticos paralelos

Los tipos más comunes de trabajos informáticos paralelos que se pueden ejecutar en un clúster de HPC Pack son: trabajos de MPI, trabajos de barrido paramétricos, trabajos de flujo de tareas , trabajos de arquitectura orientada a servicios (SOA)y cálculo de Microsoft Excel descargando trabajos. HPC Pack proporciona propiedades, herramientas y API de trabajo y tareas que le ayudan a definir y enviar varios tipos de trabajos informáticos paralelos.

En este tema:

Trabajo de MPI

MS-MPI, una implementación de Microsoft de la interfaz de paso de mensajes (MPI) desarrollada para Windows, permite que las aplicaciones de MPI se ejecuten como tareas en un clúster de HPC.

Una tarea de MPI es intrínsecamente paralela. Una tarea paralela puede adoptar varias formas, dependiendo de la aplicación y del software que lo admita. Para una aplicación MPI, una tarea paralela normalmente consta de un único ejecutable que se ejecuta simultáneamente en varios núcleos, con la comunicación que se produce entre los procesos.

En el diagrama siguiente se muestra una tarea paralela:

tres procesos, de comunicación bidireccional

Para una tarea que ejecuta una aplicación MPI, el comando de tarea debe ir precedido por mpiexec: por lo tanto, los comandos para tareas paralelas deben tener el siguiente formato: mpiexec [mpi_options] <myapp.exe> [arguments], donde myapp.exe es el nombre de la aplicación que se va a ejecutar. El comando mpiexec toma una serie de argumentos que permiten controlar la selección de ubicación del proceso de MPI, la afinidad de red y otros parámetros en tiempo de ejecución. Para obtener más información sobre estos parámetros, consulte Referencia de línea de comandos de Microsoft HPC Pack.

Nota

Para tareas paralelas, Windows HPC Server 2008 incluye un paquete MPI basado en el estándar MPICH2 del Laboratorio Nacional de Argonne. La implementación de Microsoft de MPI, denominada MS-MPI, incluye el iniciador mpiexec, un servicio MPI para cada nodo y un Kit de desarrollo de software (SDK) para el desarrollo de aplicaciones de usuario. Windows HPC Server 2008 también admite aplicaciones que proporcionan sus propios mecanismos de procesamiento paralelo.

Para obtener más información sobre el SDK, consulte Microsoft HPC Pack.

Para obtener información sobre cómo crear un trabajo de una sola tarea o MPI, vea Definir una tarea básica o MPI : administrador de trabajos.

Trabajo de barrido paramétrico

Un trabajo de barrido paramétrico consta de varias instancias de la misma aplicación, normalmente una aplicación serie, que se ejecuta simultáneamente y con la entrada proporcionada por un archivo de entrada y la salida dirigidas a un archivo de salida. La entrada y la salida suelen ser un conjunto de archivos indexados (por ejemplo, input1, input2, input3..., output1, output2, output3...) configurados para residir en una sola carpeta común o en carpetas comunes independientes. No hay ninguna comunicación o interdependencia entre las tareas. Las tareas pueden ejecutarse o no en paralelo, en función de los recursos que estén disponibles en un clúster cuando se ejecute el trabajo.

En el diagrama siguiente se muestra un trabajo de barrido paramétrico:

cuatro tareas en serie, archivos de entrada y salida independientes

Para obtener información sobre cómo crear un trabajo de barrido paramétrico, vea Definir una tarea de barrido paramétrico: Administrador de trabajos.

Trabajo de flujo de tareas

En un trabajo de flujo de tareas, se ejecuta un conjunto de tareas a diferencia de las tareas en un orden prescrito, normalmente porque una tarea depende del resultado de otra tarea. Un trabajo puede contener muchas tareas, algunas de las cuales son paramétricas, algunas serie y algunas paralelas. Por ejemplo, puede crear un trabajo de flujo de tareas que consta de MPI y tareas paramétricas. Puede establecer el orden en el que se ejecutan las tareas mediante la definición de dependencias entre las tareas.

En el diagrama siguiente se muestra un trabajo de flujo de tareas:

trabajo de flujo de tareas, tareas dependientes

La tarea 1 se ejecuta primero. Tenga en cuenta que solo las tareas 2 y 3 se pueden ejecutar en paralelo, ya que ninguna depende de la otra. La tarea 4 se ejecuta después de que se hayan completado las tareas 2 y 3.

Para obtener información sobre cómo crear un trabajo de flujo de tareas, vea Definir dependencias de tareas: administrador de trabajos.

Trabajo de SOA

La arquitectura orientada a servicios (SOA) es un enfoque para crear sistemas distribuidos y acoplados flexiblemente. En un sistema SOA, las distintas funciones computacionales se empaquetan como módulos de software denominados servicios . Otros servicios se pueden distribuir a través de una red y acceder a ellos. Por ejemplo, si las aplicaciones realizan cálculos paralelos repetidos, los cálculos principales se pueden empaquetar como servicios e implementarse en un clúster. Esto permite a los desarrolladores resolver problemas embarazosamente paralelos sin volver a escribir el código de bajo nivel y escalar rápidamente las aplicaciones. Las aplicaciones se pueden ejecutar más rápido mediante la distribución de cálculos principales entre varios hosts de servicio (nodos de proceso). Los usuarios finales ejecutan la aplicación en sus equipos y nodos de clúster realizan cálculos.

Una aplicación cliente proporciona una interfaz para que el usuario final acceda a la funcionalidad de uno o varios servicios. Los desarrolladores pueden crear aplicaciones cliente de SOA de clúster para proporcionar acceso a los servicios que se implementan en un clúster de HPC de Windows. En el back-end, la aplicación cliente envía un trabajo que contiene una tarea Service al clúster, inicia una sesión con el nodo de agente y envía solicitudes de servicio y recibe respuestas (resultados de cálculo). El programador de trabajos del nodo principal asigna recursos al trabajo de servicio según las directivas de programación de trabajos. Una instancia de Service tarea se ejecuta en cada recurso asignado y carga el servicio SOA. El programador de trabajos intenta ajustar la asignación de recursos en función del número de solicitudes de servicio.

Nota

Si el cliente creó una sesión duradera, el agente almacena todos los mensajes mediante MSMQ. El cliente puede recuperar las respuestas almacenadas por el agente en cualquier momento, incluso después de una desconexión intencionada o involuntaria.

En el diagrama siguiente se muestra cómo se ejecuta un trabajo de SOA en el clúster:

cómo se ejecuta un trabajo de SOA en un clúster de HPC 2008 R2

Para obtener más información sobre cómo crear clientes SOA para un clúster de HPC, consulte aplicaciones SOA y Microsoft HPC Pack.

Nota

HPC Services for Excel usa la infraestructura de SOA para ayudar a descargar los cálculos de Microsoft Excel a un clúster.

Descarga de cálculo de Microsoft Excel

HPC Services for Excel, incluido en algunas versiones de HPC Pack, admite una serie de modelos para descargar cálculos de Excel en un clúster de HPC Pack. Los libros adecuados para la aceleración de clústeres incluyen cálculos independientes que se pueden ejecutar en paralelo. Muchos libros complejos y de larga duración se ejecutan de forma iterativa, es decir, realizan un único cálculo muchas veces en distintos conjuntos de datos de entrada. Estos libros pueden contener funciones complejas de Microsoft Visual Basic para Aplicaciones (VBA) o complementos XLL intensivos de cálculo. HPC Services para Excel admite la descarga de libros en el clúster o la descarga de UDF en el clúster.

Microsoft Excel 2010 amplía el modelo UDF al clúster habilitando las UDF de Excel 2010 para que se ejecuten en un clúster de HPC de Windows. Cuando un clúster compatible está disponible, los usuarios pueden indicar a Excel 2010 que usen ese clúster seleccionando un conector de clúster y especificando el nombre del clúster en las opciones de Avanzadas de del cuadro de diálogo Opciones de Excel de . En el clúster, las UDF funcionan de forma muy similar a las UDF tradicionales, salvo que el cálculo se realiza mediante uno o varios servidores. La ventaja clave es la paralelización. Si un libro contiene llamadas a UDF de larga duración, se pueden usar varios servidores para evaluar las funciones simultáneamente. Para poder ejecutarse en el clúster, las UDF deben estar contenidas en un archivo XLL seguro para clústeres.

Para obtener más información, vea HPC Services for Excel.

Referencias adicionales

Para obtener información sobre las propiedades de trabajo y tarea que puede usar para definir los trabajos informáticos paralelos, consulte:

Para obtener información sobre cómo crear, enviar y supervisar trabajos mediante HPC Job Manager, consulte:

Para obtener información sobre cómo crear, enviar y supervisar trabajos mediante una ventana del símbolo del sistema o HPC PowerShell, y para los recursos para desarrolladores, incluida la información sobre el uso del SDK, el modelo de programación SOA y la descarga de cálculo de Excel, consulte artículos adicionales de este conjunto de documentación.