Ir al contenido

Usuario:Anto84

De Wikipedia, la enciclopedia libre

Paralelsmo (Informática)

En los años 90 los precios de los componentes computacionales descendieron considerablemente hasta el punto de poder tener varios equipos de computadoras en una sola placa e inclusive en un solo chip. Surge entonces el ambiente adecuado para la construcción de sistemas con decenas e inclusive cientos de computadoras por usuario, distribuidos en un área amplia. El sector industrial y el académico comenzaron a utilizar modelos más complejos y precisos que manipulaban grandes volúmenes de datos. Estos modelos, que requerían mayor poder de cómputo, se ejecutaban en sistemas secuenciales de alta velocidad, volviendo obsoletos a las computadoras secuenciales más lentas que ejecutaban una sola instrucción a la vez. Las arquitecturas paralelas comenzaron a desarrollarse, debido a las limitaciones físicas (como la transmisión de impulsos eléctricos) y el precio creciente de los sistemas secuenciales de alta velocidad. Esta arquitectura utiliza en forma concurrente sus procesadores, memoria y buses. Alcanzan velocidades mayores que las arquitecturas secuenciales a un menor costo. El desarrollo de arquitecturas concurrentes estimula la utilización de un modelo de programación paralela. Esta programación se basa en el uso simultáneo de múltiples recursos para resolver problemas computacionales, donde se diseña una solución a un problema dividiendo en partes el mismo y ejecutándolas en forma concurrente. El procesamiento paralelo es un término que se usa, como se ha mencionado, 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 la velocidad computacional de un sistema de computadoras. En vez de procesar cada instrucción de 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 más ALUs y ser capaz de ejecutar dos o más 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 la computadora y aumentar su eficiencia, esto es, la capacidad de procesamiento que puede lograrse durante un cierto intervalo de tiempo. La cantidad de circuitería aumenta con este tipo de procesamiento y, con él, también el costo del sistema. Sin embargo, los descubrimientos tecnológicos han reducido su coste hasta el punto de hacer estas técnicas económicamente factibles.

La presente arquitectura puede considerarse de diversos niveles de complejidad. En el nivel más bajo, distinguimos entre operaciones en serie y en paralelo mediante el tipo de registros que utilizan. Los registros de corrimiento operan de forma serial un bit a la vez, mientras que los registros con carga paralela operan con todos los bits de la palabra simultáneamente. Puede obtenerse también a un nivel más alto de complejidad al tener múltiples unidades funcionales que ejecutan operaciones de manera simultánea. Dicho procesamiento se establece al distribuir los datos entre unidades funcionales múltiples.

La arquitectura paralela o de líneas paralelas (pipe-line), es una técnica en la que se descomponen un proceso secuencial en suboperaciones, y cada subproceso se ejecuta en un segmento dedicado especial que opera en forma concurrente con los otros segmentos. Una línea puede considerarse 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 recorran todos los segmentos. El nombre “línea” implica un flujo de reinformació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 a cada segmento en la línea. Los registros proporcionan aislamiento entre cada segmento para que cada uno pueda operar sobre datos distintos de forma simultánea.

Las técnicas de computación paralela han sido ampliamente utilizadas para llevar a cabo tareas de procesamiento de imágenes de gran dimensionalidad, facilitando la obtención de tiempos de respuesta muy reducidos en determinadas aplicaciones. En la actualidad, es posible obtener arquitecturas masivamente paralelas de bajo coste mediante la utilización de sistemas formados por computadores personales (PCs), interconectados entre sí mediante una red de comunicación de altas prestaciones, y gestionados por un sistema operativo de tipo GNU/LINUX, con elevadas capacidades en cuanto a administración y gestión de redes de computadores. Este tipo de arquitecturas de computación paralela de bajo coste están comenzando a ser utilizadas de forma frecuente en aplicaciones directamente relacionadas con el estudio de los principales ecosistemas de nuestro planeta y, en particular, muchas de las misiones actualmente desempeñadas por NASA incorporan módulos de computación paralela para llevar a cabo estudios científicos en tiempo casi real.