Sunteți pe pagina 1din 3

Computacin paralela La computacin paralela es una forma de cmputo en la que muchas instrucciones se ejecutan simultneamente, operando sobre el principio

de que problemas grandes, a menudo se pueden dividir en unos ms pequeos, que luego son resueltos simultneamente (en paralelo). Hay varias formas diferentes de computacin paralela: paralelismo a nivel de bit, paralelismo a nivel de instruccin, paralelismo de datos y paralelismo de tareas. El paralelismo se ha empleado durante muchos aos, sobre todo en la computacin de altas prestaciones, pero el inters en ella ha crecido ltimamente debido a las limitaciones fsicas que impiden el aumento de la frecuencia. Como el consumo de energa y por consiguiente la generacin de calor de las computadoras constituye una preocupacin en los ltimos aos, la computacin en paralelo se ha convertido en el paradigma dominante en la arquitectura de computadores, principalmente en forma de procesadores multi-ncleo. Las computadoras paralelas pueden clasificarse segn el nivel de paralelismo que admite su hardware: equipos con procesadores multincleo y multi-procesador que tienen mltiples elementos de procesamiento dentro de una sola mquina y los clsteres, MPPS y grids que utilizan varios equipos para trabajar en la misma tarea. Muchas veces, para acelerar la tareas especficas, se utilizan arquitecturas especializadas de computacin en paralelo junto a procesadores tradicionales. Tipos de paralelismo Paralelismo a nivel de bit Desde el advenimiento de la integracin a gran escala (VLSI) como tecnologa de fabricacin de chips de computadora en la dcada de 1970 hasta alrededor de 1986, la aceleracin en la arquitectura de computadores se lograba en gran medida duplicando el tamao de la palabra en la computadora, la cantidad de informacin que el procesador puede manejar por ciclo. El aumento del tamao de la palabra reduce el nmero de instrucciones que el procesador debe ejecutar para realizar una operacin en variables cuyos tamaos son mayores que la longitud de la palabra. Por ejemplo, cuando un procesador de 8 bits debe sumar dos enteros de 16 bits, el procesador primero debe adicionar los 8 bits de orden inferior de cada nmero entero con la instruccin de adicin, a continuacin, aadir los 8 bits de orden superior utilizando la instruccin de adicin con acarreo que tiene en cuenta el bit de acarreo de la adicin de orden inferior, en este caso un procesador de 8 bits requiere dos instrucciones para completar una sola operacin, en donde un procesador de 16 bits necesita una sola instruccin para poder completarla. Histricamente, los microprocesadores de 4 bits fueron sustituidos por unos de 8 bits, luego de 16 bits y 32 bits, esta tendencia general lleg a su fin con la introduccin de procesadores de 64 bits, lo que ha sido un estndar en la computacin de propsito general durante la ltima dcada. Paralelismo a nivel de instruccin Un programa de ordenador es, en esencia, una secuencia de instrucciones ejecutadas por un procesador. Estas instrucciones puedenreordenarse y combinarse en grupos que luego son ejecutadas en paralelo sin cambiar el resultado del programa. Esto se conoce como paralelismo a nivel de instruccin. Los avances en el paralelismo a nivel de instruccin dominaron la arquitectura de computadores desde mediados de 1980 hasta mediados de la dcada de 1990.

Los procesadores modernos tienen ''pipeline'' de instrucciones de varias etapas. Cada etapa en el pipeline corresponde a una accin diferente que el procesador realiza en la instruccin correspondiente a la etapa; un procesador con un pipeline de N etapas puede tener hasta n instrucciones diferentes en diferentes etapas de finalizacin. El ejemplo cannico de un procesador segmentado es un procesador RISC, con cinco etapas: pedir instruccin, decodificar, ejecutar, acceso a la memoria y escritura. El procesador Pentium 4tena un pipeline de 35 etapas. Adems del paralelismo a nivel de instruccin del pipelining, algunos procesadores pueden ejecutar ms de una instruccin a la vez. Estos son conocidos como procesadores superescalares. Las instrucciones pueden agruparse juntas slo si no hay dependencia de datos entre ellas. El scoreboarding y el algoritmo de Tomasulo que es similar a scoreboarding pero hace uso del renombre de registros son dos de las tcnicas ms comunes para implementar la ejecucin fuera de orden y la paralelizacin a nivel de instruccin. Paralelismo de datos El paralelismo de datos es el paralelismo inherente en programas con ciclos, que se centra en la distribucin de los datos entre los diferentes nodos computacionales que deben tratarse en paralelo. La paralelizacin de ciclos conduce a menudo a secuencias similares de operaciones no necesariamente idnticas o funciones que se realizan en los elementos de una gran estructura de datos. Muchas de las aplicaciones cientficas y de ingeniera muestran paralelismo de datos. Una dependencia de terminacin de ciclo es la dependencia de una iteracin de un ciclo en la salida de una o ms iteraciones anteriores. Las dependencias de terminacin de ciclo evitan la paralelizacin de ciclos. Por ejemplo, considere el siguiente pseudocdigo que calcula los primeros nmeros de Fibonacci: 1: 2: 3: 4: 5: 6: 7: PREV1 := 0 PREV2 := 1 do: CUR := PREV1 + PREV2 PREV1 := PREV2 PREV2 := CUR while (CUR < 10)

Taxonoma DE LAS ARQUITECTURAS PARALELAS Las diferentes posibilidades existentes para desarrollar sistemas paralelos hacen que una clasificacin definitiva sea complicada, y seguramente estril. Por ello, en primer lugar se recuerdan las caractersticas bsicas del modelo secuencial, con el fin de delimitar los aspectos bsicos que son comunes O diferentes de los sistemas paralelos. Seguidamente se muestra una clasificacin clsica propuesta por Flynn, que se basa en el flujo de instrucciones y en el flujo de datos, es decir, el mecanismo de control utilizado. Sin embargo, existe una gran cantidad de criterios, aunque no todos mutuamente excluyentes entre s, para establecer una clasificacin de las distintas arquitecturas paralelas. As, tomando como base la clasificacin de Flynn se atiende a

la organizacin del espacio de memoria, analizando las diferentes posibilidades que permiten establecer diversas arquitecturas. A continuacin, se consideran otros criterios bsicos de clasificacin que diferencian unos sistemas de otros, entre los que destaca la red de interconexin.

S-ar putea să vă placă și