0 Bewertungen0% fanden dieses Dokument nützlich (0 Abstimmungen)
131 Ansichten11 Seiten
El documento describe las arquitecturas paralelas y el procesamiento paralelo. 1) La arquitectura paralela descompone un proceso secuencial en suboperaciones que se ejecutan de forma concurrente en segmentos dedicados. 2) El procesamiento paralelo ejecuta tareas de procesamiento de datos de forma simultánea para reducir el tiempo de ejecución. 3) Esto permite aumentar la velocidad y eficiencia de los sistemas de computación.
El documento describe las arquitecturas paralelas y el procesamiento paralelo. 1) La arquitectura paralela descompone un proceso secuencial en suboperaciones que se ejecutan de forma concurrente en segmentos dedicados. 2) El procesamiento paralelo ejecuta tareas de procesamiento de datos de forma simultánea para reducir el tiempo de ejecución. 3) Esto permite aumentar la velocidad y eficiencia de los sistemas de computación.
El documento describe las arquitecturas paralelas y el procesamiento paralelo. 1) La arquitectura paralela descompone un proceso secuencial en suboperaciones que se ejecutan de forma concurrente en segmentos dedicados. 2) El procesamiento paralelo ejecuta tareas de procesamiento de datos de forma simultánea para reducir el tiempo de ejecución. 3) Esto permite aumentar la velocidad y eficiencia de los sistemas de computación.
Arquitectura Paralela La arquitectura paralela o de lneas paralelas (pipe-line), es una tcnica en la que se descomponen un proceso secuencial en sub operaciones, y cada subproceso se ejecuta en un segmento dedicado especial que opera en forma concurrente con los otros segmentos. Una lnea puede considerarse como un conjunto de segmentos de procesamiento por el que fluye informacin binaria. Cada segmento ejecuta un procesamiento parcial, dictado por la manera en que se divide la tarea. El resultado obtenido del clculo en cada segmento se transfiere al siguiente segmento en la lnea. El resultado final se obtiene despus de que los datos han recorrido todos los segmentos. El nombre lnea implica un flujo re informacin similar a una lnea de ensamblado industrial. Es caracterstico de las lneas que varios clculos puedan estar en proceso en distintos segmentos, al mismo tiempo. La simultaneidad de los clculos es posible al asociar un registro con cada segmento en la lnea. Los registros proporcionan aislamiento entre cada segmento para que cada uno pueda operar sobre datos distintos en forma simultnea. Tal vez la manera ms simple de apreciar la arquitectura de lneas paralelas es imaginar que cada segmento consta de un registro de entrada seguido de un circuito combinatorio. El registro contiene los datos y el circuito combinatorio ejecuta las sub operacin en el segmento particular. La salida del circuito combinacional es un segmento dado se aplica al registro de entrada del siguiente segmento. Se aplica un reloj a todos los registros despus de que se ha transcurrido un tiempo suficiente para ejecutar toda la actividad del segmento. De esta manera la informacin fluye por la lnea un paso a la vez. La organizacin de la lnea se mostrar mediante un ejemplo: Supongamos que deseamos ejecutar las operaciones multiplicar y sumar combinadas con un flujo de nmeros.
Procesamiento Paralelo El procesamiento paralelo es un trmino que se usa para denotar un grupo de tcnicas significativas que se usan para proporcionar tareas simultneas de procesamiento de datos con el fin de aumentar la velocidad computacional de un sistema de computadoras. En lugar de procesar cada instruccin en forma secuencial como es una computadora convencional, un sistema de procesamiento paralelo puede ejecutar procesamiento concurrente de datos para conseguir un menor tiempo de ejecucin. Por ejemplo, cuando se ejecuta una instruccin en la ALU, puede leerse la siguiente instruccin de la memoria. El sistema puede tener 2 o mas ALUS y ser capaz de ejecutar dos o mas instrucciones al mismo tiempo. Adems, el sistema puede tener dos o ms procesadores operando en forma concurrente. EL propsito del procesamiento paralelo es acelerar las posibilidades de procesamiento de la computadora y aumentar su eficiencia, esto es, la capacidad de procesamiento que puede lograrse durante un cierto intervalo de tiempo. La cantidades de circuitera aumenta con el procesamiento paralelo y, con el, tambin el costo del sistema. Sin embargo, los descubrimientos tecnolgicos han reducido el costo de la circuitera a un punto en donde las tcnicas de procesamiento paralelo son econmicamente factibles. Uso de muchas unidades de proceso independientes para ejecutar distintas partes de una tarea en simultneo. Principal objetivo: Aumento del RENDIMIENTO. Aumento de la capacidad para resolver problemas computacionales grandes Cmo? Divisin del trabajo en tareas mas pequeas e independientes Asignacin de las tareas a distintas unidades de proceso Resolucin de las tareas en simultneo. Problemas: Sincronizacin de las tareas.
Control de ejecucin simultanea Conflictos debidos a dependencias Procesamiento Paralelo
Limitaciones: En algunos problemas el incremento del nmero de procesadores no mejora el rendimiento global, incluso empeora la eficiencia del sistema. La eficiencia se mejora cuando: Se logra un balance de carga entre procesadores: igual Numero de tareas de igual tamao Se minimiza la interaccin entre tareas: se minimiza la comunicacin o, al menos, se mejoran los canales de comunicacin elementos de proceso eficiencia Sistema paralelo Conjunto de elementos de proceso que, operando juntos, permiten resolver problemas computacionales complejos de forma eficiente Caractersticas de un sistema paralelo: Cantidad y potencia de los elementos de proceso Tipo y Tamao de la memoria Forma de comunicacin entre los elementos de proceso Rendimiento Escalabilidad del sistema Recursos de potencia requeridos
Niveles de paralelismo El paralelismo puede estudiarse a varios niveles: Trabajo: Dos programas distintos pueden ejecutarse en paralelo
Tarea: En este nivel se consideran varias tareas independientes entre si formando parte de un programa determinado. Es posible la interaccin de las tareas Proceso: Varios procesos componen una tarea. Son bloques con Funcionalidad bien definida.
Variable: El paralelismo puede darse a nivel de variables ya que varias instrucciones pueden ser ejecutadas en paralelo siendo el punto de conflicto las variables en comn Bit: Todos los computadores usan paralelismo a nivel de bit
Arquitecturas de procesadores Complejidad del procesador: Arquitectura caracterstica y estructura de cada procesador del sistema. ntimamente ligado con la funcionalidad (variedad de operaciones y cantidad de instrucciones) Arreglos sistlicos homogneos complejidad baja Arquitecturas de procesadores Modo de operacin: Forma de controlar la secuencia de operaciones a realizar para llevar adelante la ejecucin de una tarea Control flow Las instrucciones se ejecutan en el orden dispuesto por el algoritmo. Data flow Las operaciones se realizan segn la disponibilidad de datos. Demand flow Los resultados parciales se calculan por demanda, o sea cuando se los necesita.
Arquitecturas de procesadores. Organizacin de la memoria: Tipo de memoria utilizada en el sistema Direccionable: Accedida por referencias a los datos. Asociativa: Accedida por contenido. Interconectada: Accedida por cualidades de los datos (redes neuronales).
Arquitecturas de procesadores Red de interconexin: Conexionado de hardware entre procesadores y entre Procesadores y memorias La arquitectura de conexionado debe ajustarse lo mejor posible a la topologa de un algoritmo para mejorar la performance
Arquitecturas de procesadores Nmero de procesadores y tamao de la memoria: Potencia de clculo del sistema y capacidad de almacenamiento de datos del mismo Clasificacin: Sistemas grandes: ms de 1000 procesadores Sistemas medios: de 100 a 1000 procesadores Sistemas chicos: hasta 100 procesadores
Organizacin de las arquitecturas
Nivel de trabajo Distribuido Redes de computadoras
Nivel de tarea Multicomputadoras Pasaje de mensajes Nivel de proceso Nivel de instruccin paralelo Memoria compartida Nivel de variable multiprocesadores Nivel de bit HARDWARE GRANULARIDAD GRADO DE MODO DE DEL ALGORITMO ACOPLAMIENTO COMUNICACION
mbitos de uso de la computacin paralela. Simulacin de modelos complejos Diseo y automatizacin de proyectos de ingeniera Exploracin petrolera y minera Medicina rea militar Cine: efectos visuales, animacin 3D Realidad Virtual Comercio electrnico Mega bases de datos (Google, Youtube, Rapidshare)
Lmites tecnolgicos
El feature size (d) determina el tamao de las compuertas en la tecnologa CMOS de manera que: Un aumento de la velocidad de reloj es proporcional a =1/d Un aumento del nmero de transistores es proporcional a
CATEGORIZACION DE FLYNN COMPUTACIN DE ALTA PERFORMANCE SISD - Modelo convencional de Von Neumann. SIMD - Paralelismo de datos, computacin vectorial. MISD - Arrays sistlicos. MIMD Modelo general, varias implementaciones.
El curso se enfocar en el modelo MIMD, utilizando procesadores de propsito general o multicomputadores.
MODELO SISD Mquina de Von Neumann Un procesador capaz de realizar acciones secuencialmente, controladas por un programa el cual se encuentra almacenado en una memoria conectada al procesador. Este hardware esta diseado para dar soporte al procesamiento secuencial clsico, basado en el intercambio de datos entre memoria y registros del procesador, y la realizacin de operaciones aritmticas en ellos. MODELO SISD Algunas mquinas secuenciales modernas no corresponden estrictamente al modelo SISD. A partir de la introduccin de los procesadores RISC se comenz a utilizar varios conceptos de las arquitecturas paralelas, como pipelining, ejecucin paralela de instrucciones no dependientes, prefetching de los datos, etc., Dependientes, prefetching de los datos, etc., para lograr un incremento en la cantidad de operaciones por ciclo de instruccin.
EL MODELO SISD NO FUE SUFICIENTE Los problemas crecieron, o surgi la necesidad de resolver nuevos problemas de grandes dimensiones (manejando enormes volmenes de datos, mejorando la precisin de las grillas, etc.). Si bien las maquinas SISD mejoraron su performance. Arquitecturas CISC y RISC. Compiladores optimizadores de cdigo. Procesadores acelerando ciclos de relojes, etc. An no fue suficiente, y se prev que el ritmo de mejoramiento se desacelere (debido a limitaciones fsicas). En este contexto se desarrollaron los computadores paralelos.
MODELO SIMD Un nico programa controla los procesadores. til en aplicaciones uniformes Procesamiento de imgenes. Multimedia. Aplicaciones numricas sobre grillas. Su aplicabilidad est limitada por las comunicaciones entre procesadores comunicaciones entre procesadores. La topologa de interconexin es fija. Los elementos de procesamiento tienen capacidad de cmputo limitada (1 bit a 8 bits), por lo que se pueden colocar una gran cantidad por chip. Fueron los primeros multiprocesadores difundidos comercialmente (en la dcada de 1980) Ejemplos comerciales Cray X-MP (computador ms potente entre 19831985) Connection Machine (CM-2, CM-200, dcada de 1980). MasPar MP2 (inicios de la dcada de 1990).
MODELO MISD Systolic Arrays, FPGA celulares. Tambin pertenecen los computadores tolerantes a fallos que utilizan ejecucin redundante para detectar y enmascarar errores. No existen otras implementaciones especficas. Los modelos MIMD y SIMD son ms apropiados para la aplicacin del paralelismo tanto a nivel de datos como de control. Consistieron en el siguiente paso en la evolucin de las arquitecturas paralelas. Fueron lentamente desplazando al modelo SIMD. A diferencia de los modelos SISD y MISD, las Computadoras MIMD pueden trabajar asincrnicamente (los procesadores tienen la capacidad de funcionamiento semi-autnomo).
ARQUITECTURA MIMD Existen dos tipos de computadores SIMD, de acuerdo al mecanismo utilizado para comunicacin y sincronizacin: MIMD de memoria compartida (fuertemente acopladas). MIMD de memoria distribuida (poco acopladas).
MIMD CON MEMORIA COMPARTIDA Memoria global (compartida por todos los procesadores) Procesadores autnomos, trabajan asincrnicamente. Comunicacin entre procesadores a travs del recurso compartido. Comunicacin y sincronizacin se realiza en forma explcita. Emisor escribe y receptor lee de la memoria global.
MIMD CON MEMORIA COMPARTIDA Fciles de construir. SO convencionales de los SISD son portables. Buena solucin para procesamiento transaccional (sistemas multiusuario, etc.) Limitacin: confiabilidad y escalabilidad. Un fallo de memoria de algn componente puede causar un fallo total del sistema. Incrementar el nmero de procesadores puede llevar a problemas en el acceso a memoria.
Arquitectura paralela para suma y resta de punto flotante
Se restan los dos exponentes en el primer segmento para obtener 3 2 = 1. Se escoge el exponente ms grande, 3, como el exponente del resultado. El siguiente segmento recorre a la derecha la mantisa de Y para obtener:
X = 0.9504 X 10 3
Y = 0.0820 X 10 3
Esto alinea las dos mantisas bajo el mismo exponente. La suma de las dos mantisas en el segmento 3 produce la suma:
Z = 1.0324 X 10 3
Se ajusta la suma al normalizar el resultado para que tenga una fraccin con un primer dgito diferente de 0. Esto se hace al recorrer a la derecha una vez la mantisa e incrementar el exponente en 1 para obtener la suma normalizada. Z = 0.10324 X 104
ARQUITECTURA PARALELA RISC.
Entre las caractersticas que se le atribuyen a Risc esta la capacidad e usar un conjunto de instrucciones eficientes para implantar una lnea paralela de instrucciones con numero pequeo de operaciones y de cada una se ejecute en un ciclo de reloj. Debido al formato de instrucciones de longitud fija, la descodificacin de la operacin puede ocurrir al mismo tiempo que la seleccin de registros .Todas las instrucciones de manipulacin de datos tiene operacin de datos tiene operaciones registros a registros. Como todos los operandos estn en registros, no es necesario calcular una direccin