PROCESAMIENTO PARALELO
El procesamiento paralelo es un término que se usa para denotar un grupo de técnicas significativas que se usan para proporcionar tareas simultáneas de procesamiento de datos con el fin de aumentar a velocidad computacional de un sistema de computadoras. En lugar de procesar cada instrucción 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 ejecución. Por ejemplo, cuando se ejecuta una instrucción en la ALU, puede leerse la siguiente instrucción de la memoria. El sistema puede tener 2 o mas ALUS y ser capaz de ejecutar dos o mas instrucciones al mismo tiempo. Además, el sistema puede tener dos o más procesadores operando en forma concurrente. EL propósito 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 circuitería aumenta con el procesamiento paralelo y, con el, también el costo del sistema. Sin embargo, los descubrimientos tecnológicos han reducido el costo de la circuetería a un punto en donde las técnicas de procesamiento paralelo son económicamente factibles.
El procesamiento paralelo puede considerarse de diversos niveles de complejidad. En el nivel mas bajo, distinguimos entre operaciones seriales y paralelas mediante el tipo de registros que utilizan. Los registros de corrimiento operan en forma serial un bit a la vez, mientras que los registros con carga paralela operan con todos los bits de la palabra en forma simultánea.
Puede obtenerse procesamiento paralelo a un nivel más alto de complejidad al tener múltiples unidades funcionales que ejecuten operaciones idénticas o diferentes, de manera simultánea. El procesamiento paralelo se establece al distribuir los datos entre las unidades funcionales múltiples. Por ejemplo, las operaciones aritméticas, lógicas y de corrimiento pueden separarse en tres unidades y dividirse los operandos a cada una, bajo la supervisión de una unidad de control.
Existen varias maneras de clasificar el procesamiento paralelo. Puede considerarse a partir de la organización interna de los procesadores, desde la estructura de interconexión entre los procesadores o desde del flujo d e información a través del sistema. Una clasificación presenta por M. J. Flynn considera la organización de un sistema de computadora mediante la cantidad de instrucciones y unidades de datos que se manipulan en forma simultánea. La operación normal de una computadora es recuperar instrucciones de la memoria y ejecutarlas en el procesador. La secuencia de instrucciones leídas de la memoria constituye un flujo de instrucciones. Las operaciones ejecutada sobre los datos en el procesador constituyen un flujo de datos.
Existen varias maneras de clasificar el procesamiento paralelo. Puede considerarse a partir de la organización interna de los procesadores, desde la estructura de interconexión entre los procesadores o desde del flujo d e información a través del sistema. Una clasificación presenta por M. J. Flynn considera la organización de un sistema de computadora mediante la cantidad de instrucciones y unidades de datos que se manipulan en forma simultánea. La operación normal de una computadora es recuperar instrucciones de la memoria y ejecutarlas en el procesador. La secuencia de instrucciones leídas de la memoria constituye un flujo de instrucciones. Las operaciones ejecutada sobre los datos en el procesador constituyen un flujo de datos.
El procesamiento paralelo puede ocurrir en el flujo de instrucciones, en el flujo de datos o en ambos. La clasificación de Flynn divide a las computadoras en cuatro grupo principales de la manera siguiente:
- Flujo de instrucción único, Flujo de datos único (SISD)
- Flujo de instrucción único, Flujo de datos Múltiple (SIMD)
- Flujo de instrucción Múltiple, Flujo de datos único (MISD)
- Flujo de instrucción Múltiple, Flujo de datos Múltiple (MIMD)
SISD. Representa la organización de una computadora única que contiene una unidad de control, una unidad de procesador y una unidad de memoria. Las instrucciones se ejecutan en forma secuencial y el sistema puede tener o no tener posibilidades de procesamiento paralelo. En este caso el procesamiento paralelo puede lograrse mediante unidades funcionales múltiples o mediante una arquitectura paralela.
SIMD. Representa una organización que influye muchas unidades de procesamiento bajo la supervisión de una unidad de control común. Todos los procesadores reciben la misma instrucción de la unidad de control, pero operan sobre diferentes conjuntos de datos. La unidad de memoria compartida debe de contener módulos múltiples para que pueda comunicarse con todos los procesadores simultáneamente. LA estructura MISD es sola de intereses teórico porque no se ha construido ningún sistema práctico utilizando esta organización. La organización MIMD se refiere a un sistema de computadoras capaz de procesar múltiples programas al mismo tiempo la mayoría de los sistemas de multicomputadoras y multiprocesador pueden clasificarse en esta categoría.
MISD. es un tipo de arquitectura computacional donde muchas unidades funcionales realizan diferentes operaciones en los mismos datos. Las arquitecturas segmentadas pertenecen a este tipo, aunque en un extremo se podría llegar a decir que los datos son diferentes después de ser procesados por cada etapa en el pipeline, con lo cual no entraría en esta categoría.
Las máquinas tolerantes a fallos ejecutan la misma instrucción redundantemente para detectar y corregir errores, utilizando task replication, son consideradas de este tipo. No existen muchos ejemplos de esta arquitecura dado que las técnicas más comunes de procesamiento de datos en paralelo suelen ser más apropiadas para MIMD y SIMD. Específicamente, facilitan el escalamiento y el uso de recursos computacionales mejor que MISD.
MIMD. es una técnica empleada para lograr paralelismo. Las máquinas que usan MIMD tienen un número de procesadores que funcionan de manera asíncrona e independiente. En cualquier momento, cualquier procesador puede ejecutar diferentes instrucciones sobre distintos datos. La arquitectura MIMD pueden utilizarse en una amplia gama de aplicaciones como el diseño asistido, simulación, modelado y en interruptores. Las computadoras MIMD pueden categorizarse por tener memoria compartida o distribuida, clasificación que se basa en cómo el procesador MIMD accede a la memoria. La memoria compartida de las máquinas puede estar basada en buses, extensiones, o de tipo jerárquico. Las máquinas con memoria distribuida pueden tener esquemas de interconexión en hipercubo o malla.
El procesamiento por arquitectura paralela es una técnica de implantación en donde las suboperaciones aritméticas o las fases de un ciclo de instrucción de computadora se traslapan en su ejecución el procesamiento de vectores relaciona con los cálculos que implican vectores y matrices grandes. Los procesadores de arquitectura paralela ejecutan cálculos sobre arreglos de datos grandes.
Arquitectura Paralela
La arquitectura paralela o de líneas paralelas (pipe-line), es una técnica en la que se descomponen un proceso secuencial en sub-operaciones, y cada sub-proceso se ejecuta en un segmento dedicado especial que opera en forma concurrente con los otros segmentos. Una línea puede considerarse como un conjunto de segmentos de procesamiento por el que fluye información binaria. Cada segmento ejecuta un procesamiento parcial, dictado por la manera en que se divide la tarea. El resultado obtenido del cálculo en cada segmento se transfiere al siguiente segmento en la línea. El resultado final se obtiene después de que los datos han recorrido todos los segmentos. El nombre "línea" implica un flujo re-información similar a una línea de ensamblado industrial. Es característico de las líneas que varios cálculos puedan estar en proceso en distintos segmentos, al mismo tiempo. La simultaneidad de los cálculos es posible al asociar un registro con cada segmento en la línea. Los registros proporcionan aislamiento entre cada segmento para que cada uno pueda operar sobre datos distintos en forma simultánea.
Tal vez la manera más simple de apreciar la arquitectura de líneas 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-operación 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 después de que se ha transcurrido un tiempo suficiente para ejecutar toda la actividad del segmento. De esta manera la información fluye por la línea un paso a la vez.
El registro contiene los datos y el circuito combinatorio ejecuta las sub-operación 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 después de que se ha transcurrido un tiempo suficiente para ejecutar toda la actividad del segmento. De esta manera la información fluye por la línea un paso a la vez.
No hay comentarios.:
Publicar un comentario