Vous êtes sur la page 1sur 7

2011

Computacin Paralela

Antonio Acosta Instituto Tecnolgico de Culiacn 29/05/2011

Arquitecta de Computadoras

Contenido
Qu es Computacin Paralela? ............................................................................................................................. 2 Por qu usar Cmputo en Paralelo? .................................................................................................................... 2 Arquitectura de Von Neumann.............................................................................................................................. 3 Taxonoma de Flynn ................................................................................................................................................ 3 Terminologas generales de Paralelismo ............................................................................................................... 3 Memoria Compartida (Shared Memory) ............................................................................................................... 4 Acceso Uniforme a Memoria (UMA): ......................................................................................................... 4 Acceso no Uniforme a Memoria (NUMA): ................................................................................................ 4 Ventajas: ............................................................................................................................................................ 4 Desventajas:...................................................................................................................................................... 4 Memoria Distribuida (Distributed Memory)........................................................................................................ 5 Caractersticas Generales:............................................................................................................................... 5 Memoria Compartida-Distribuida ......................................................................................................................... 5 Modelo de Hebras .................................................................................................................................................... 6 Pasos para crear un programa paralelo ................................................................................................................. 6

Arquitecta de Computadoras

Introduccin
Esta presentacin cubre los aspectos bsicos de la computacin en paralelo. Se comienza con definiciones, conceptos y terminologas asociadas con la computacin en paralelo. Seguidamente los tpicos concernientes a tipos de arquitecturas y modelos de programacin son presentados. Estos tpicos son relacionados al diseo de programas paralelos y finalmente se examinan diferentes estrategias para paralelizar programas secuenciales.

Definiciones
Qu es Computacin Paralela?
La computacin paralela es una forma de clculo en el que muchos clculos se llevan a cabo al mismo tiempo, que operan en el principio de que los problemas grandes, a menudo se pueden dividir en los ms pequeos, que se resuelven al mismo tiempo ("en paralelo"). Hay varias formas diferentes de la computacin en paralelo: a nivel de bits, nivel de instruccin, los datos y paralelismo de tareas. El paralelismo se ha empleado durante muchos aos, principalmente en la informtica de alto rendimiento, pero el inters en ella ha crecido ltimamente debido a las limitaciones materiales que impidan el escalado de frecuencia. Como el consumo de energa (y por consiguiente la generacin de calor) por las computadoras se ha convertido en una preocupacin en los ltimos aos, [3], la computacin paralela se ha convertido en el paradigma dominante en la arquitectura de computadores, principalmente en forma de procesadores de mltiples ncleos. Computadoras en paralelo puede ser ms o menos clasificados segn el nivel en el que el hardware es compatible con el paralelismo con multi-core y multi-procesador de computadoras que tienen el procesamiento de mltiples elementos en una sola mquina, mientras que las agrupaciones, MPP, y redes de uso de varios equipos para trabajar en el mismo tarea. Arquitecturas paralelas equipo especializado a veces se usan junto con los procesadores tradicionales, para acelerar las tareas especficas.

Definiciones
Por qu usar Cmputo en Paralelo?
Ahorro en tiempo Resolver problemas grandes El futuro sugiere que el paralelismo es el futuro del cmputo.

Arquitecta de Computadoras

Conceptos y Terminologa
Arquitectura de Von Neumann
Un computador de Von Neumann usa el concepto de programa-almacenamiento. El CPU ejecuta un programa que especfica una secuencia de operaciones de lectura y escritura en la memoria.

Conceptos y Terminologa
Taxonoma de Flynn
La taxonoma de Flynn es una clasificacin de arquitecturas de computadora, propuesta por Mic Clasificaciones Las cuatro clasificaciones definidas por Flynn se basan en el nmero de instrucciones concurrentes (o control) y los flujos de datos disponibles en la arquitectura: Single Instruction, Single flujo de datos (SISD) Single Instruction, Multiple Data corrientes (SIMD) Mltiples Instruccin, nico flujo de datos (MISD) Mltiples instrucciones, mltiples flujos de datos (MIMD)

Conceptos y Terminologa
Terminologas generales de Paralelismo
Algunos de los trminos ms comnmente usados en computacin paralela: Tarea (Task) Tarea Paralela (Parallel Task) Ejecucin Serial (Serial Execution) Ejecucin Paralela (Parallel Execution) Memoria Compartida (Shared Memory) Memoria Distribuida (Distributed Memory) Comunicaciones (Communications) Sincronizacin (Synchronization) Granularidad (Granularity) Carga Paralela (Parallel Overhead) Masivamente Paralelo (Massively Parallel) Scalability

Arquitecta de Computadoras

Arquitectura de la Memoria en Computadores Paralelo


Memoria Compartida (Shared Memory)
Caractersticas generales: Computadores de memoria compartida tienen en comn la capacidad que todos los procesadores pueden acceder a la memoria como un espacio de direccionamiento global.

Acceso Uniforme a Memoria (UMA): Representadas por multiprocesadores simtricos ( Symmetric Multiprocessor machines, SMP) Procesadores idnticos Acceso no Uniforme a Memoria (NUMA): Enlazando fsicamente dos o ms SMPs Un SMP puede directamente acceder a la memoria de otro SMP Ventajas: El espacio de direccionamiento global provee una facilidad de programacin al usuario El intercambio de datos entre las tareas es rpido y uniforme debido a la proximidad de la memoria a los CPUs Desventajas: La desventaja primaria es la prdida de escalabilidad entre la memoria y CPUs. Agregar CPUs puede geomtricamente aumentar el trfico en la va memora compartida-CPU, y para sistemas con coherencia de cache, geomtricamente aumenta el trfico asociado con la administracin de cache/memoria. El programador es el responsable para construir la sincronizacin que asegura un correcto acceso a la memoria global.

Arquitecta de Computadoras

Arquitectura de la Memoria en Computadores Paralelo


Memoria Distribuida (Distributed Memory)
Caractersticas Generales: Los sistemas de memoria distribuida requieren una red de comunicacin para conectar la memoria de los procesadores

Arquitectura de la Memoria en Computadores Paralelos


Memoria Compartida-Distribuida

Memoria Distribuida Memoria Compartida

Arquitecta de Computadoras Combinaciones

Paradigmas de la Programacin en Paralelo


Existen muchos mtodos de programacin en computadores paralelos. Lo ms usados son pase de mensajes, paralelismo de datos y hebras: Pase de mensajes el usuario hace llamadas a bibliotecas para explcitamente compartir informacin entre los procesadores. Paralelismo de datos un particionamiento de la data determina el paralelismo Memoria compartida - mltiples procesos comparten un espacio de memoria comn

Memoria Compartida
Modelo de Hebras
En el modelo de programacin paralela mediante hebras, un nico proceso puede tener mltiples trayectorias de ejecucin concurrentes. Las hebras estn asociadas con arquitectura de memoria compartida y sistemas operativos.

Diseo de Programas Paralelos


Pasos para crear un programa paralelo
1. Si existe un cdigo serial, depure (debug) el cdigo completamente 2. Use opciones de optimizacin 3. Identifique las partes del cdigo que pueden ser ejecutadas concurrentemente: Requiere un buen conocimiento del cdigo Explote cualquier paralelismo inherente que pueda existir 4. Particionar el programa: Paralelismo funcional Paralelismo de datos Una combinacin de ambos 5. Desarrolle el cdigo: El cdigo puede estar influenciado/determinado por la arquitectura de la mquina Escoja un paradigma de programacin Determine la comunicacin 6. Compile, pruebe y Depure

Vous aimerez peut-être aussi