Computacin Paralela
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
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
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.