ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Paralelismo de datos


Enviado por   •  18 de Noviembre de 2013  •  1.749 Palabras (7 Páginas)  •  351 Visitas

Página 1 de 7

Paralelismo de datos

Paralelismo de datos es un paradigma de la programación concurrente que consiste en subdividir el conjunto de datos de entrada a un programa, de manera que a cada procesador le corresponda un subconjunto de esos datos. Cada procesador efectuará la misma secuencia de operaciones que los otros procesadores sobre su subconjunto de datos asignado. En resumen: se distribuyen los datos y se replican las tareas.

Idealmente, esta ejecución simultánea de operaciones, resulta en una aceleración neta global del cómputo.

El paralelismo de datos es un paradigma suficientemente adecuado para operaciones sobre vectores y matrices, dado que muchas de ellas consisten en aplicar la misma operación sobre cada uno de sus elementos.

Paralelismo de tareas es un paradigma de la programación concurrente que consiste en asignar distintas tareas a cada uno de los procesadores de un sistema de cómputo. En consecuencia, cada procesador efectuará su propia secuencia de operaciones.

En su modo más general, el paralelismo de tareas se representa mediante un grafo de tareas, el cual es subdividido en subgrafos que son luego asignados a diferentes procesadores. De la forma como se corte el grafo, depende la eficiencia de paralelismo resultante. La partición y asignación óptima de un grafo de tareas para ejecución concurrente es un problema NP-completo, por lo cual en la práctica se dispone de métodos heurísticos aproximados para lograr una asignación cercana a la óptima.

Programación por paso de mensajes

El paso de mensajes es un elemento inherente de todos los clusters de ordenadores. Todos los clusters de ordenadores, desde Beowulfs casera a algunas de las supercomputadoras más rápidas del mundo, dependen de paso de mensajes para coordinar las actividades de los diversos nodos que abarcan. El paso de mensajes en clusters de computadores construidos con servidores básicos y los interruptores es utilizado por casi todos los servicios de Internet.

Recientemente, el uso de clusters de ordenadores con más de un millar de nodos se ha ido extendiendo. A medida que el número de nodos de un clúster aumenta, el rápido crecimiento de la complejidad del subsistema de comunicación hace que los retrasos paso de mensajes a través de la interconexión de un problema de rendimiento graves en la ejecución de programas paralelos.

Las herramientas específicas se pueden utilizar para simular, visualizar y comprender el rendimiento de paso de mensajes en clusters de ordenadores. Antes de que un gran grupo de computadoras está montado, un simulador basado en traza puede utilizar un pequeño número de nodos para ayudar a predecir el rendimiento de paso de mensajes en configuraciones más grandes. Tras la prueba se ejecuta en un pequeño número de nodos, el simulador lee los archivos de registro de transferencia de mensajes y la ejecución y simula el rendimiento del subsistema de mensajería cuando muchos más mensajes se intercambian entre un número mucho mayor de nodos.

Los mensajes y los cálculos

ENFOQUES PARA EL PASO DE MENSAJES

Históricamente, los dos enfoques típicos para la comunicación entre los nodos del clúster han sido PVM, la Máquina Virtual Paralela y MPI, la interfaz de paso de mensajes. Sin embargo, MPI ha emergido como el estándar de facto para el paso de mensajes en clusters de computadores.

PVM es anterior a MPI y fue desarrollado en el Laboratorio Nacional de Oak Ridge en torno a 1989 - Se establece un conjunto de bibliotecas de software que permiten a un nodo de computación para que actúe como una "máquina virtual paralela". Se proporciona un entorno de tiempo de ejecución de paso de mensajes, tareas y gestión de los recursos, y la notificación de fallo y debe ser instalado directamente en cada nodo del clúster. PVM puede ser utilizado por los programas de usuario escritos en C, C + +, o Fortran, etc

A diferencia de PVM, que tiene una aplicación concreta, MPI es una especificación en lugar de un conjunto específico de bibliotecas. La especificación surgió en la década de 1990 de las discusiones entre las 40 organizaciones, el esfuerzo inicial de haber sido apoyado por ARPA y la Fundación Nacional de Ciencia. El diseño de MPI se basó en diversas funciones disponibles en los sistemas comerciales de la época. Las especificaciones MPI luego dieron lugar a implementaciones específicas. Implementaciones MPI suelen utilizar TCP/IP y conexiones de socket. MPI es ahora un modelo de comunicaciones ampliamente disponible que permite a los programas paralelos que se escriben en lenguajes como C, Fortran, Python, etc La especificación MPI ha sido implementado en sistemas como MPICH y Open MPI.

PRUEBAS, EVALUACIÓN Y OPTIMIZACIÓN

Grupos informáticos utilizan una serie de estrategias para hacer frente a la distribución de procesamiento a través de múltiples nodos y la sobrecarga de comunicación resultante. Algunos clusters de ordenadores, como Tianhe-I utilizan diferentes procesadores de paso de mensajes que los utilizados para realizar cálculos. Tiahnhe-I utiliza más de dos mil Feiteng-1000 procesadores para mejorar el funcionamiento de su sistema de paso de mensajes de propiedad, mientras que los cálculos se realizan por los procesadores Xeon y Nvidia Tesla.

Un enfoque para reducir la sobrecarga de comunicación es el uso de los vecindarios locales para tareas específicas. Aquí tareas de cálculo se asignan a "barrios" específicos del clúster, para aumentar la eficiencia mediante el uso de procesadores que están más cerca el uno al otro. Sin embargo, dado

...

Descargar como (para miembros actualizados)  txt (11.1 Kb)  
Leer 6 páginas más »
Disponible sólo en Clubensayos.com