Paralelismo Trabajo

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 4

República Bolivariana de Venezuela

Universidad Nororiental Privada Gran Mariscal de Ayacucho


Facultad de Ingeniería
Escuela de Informática

Paralelismo dentro del


hardware de un
computador.

Profesora: Integrantes:
Elías Velasquez Adrian Silva CI:28.221.611
Computación paralela.

La computación paralela es una forma de cómputo en la que muchas


instrucciones se ejecutan simultáneamente, operando sobre el principio de que
problemas grandes, a menudo se pueden dividir en unos más pequeños, que
luego son resueltos simultáneamente (en paralelo). Hay varias formas diferentes
de computación paralela: paralelismo a nivel de bit, paralelismo a nivel de
instrucción, paralelismo de datos y paralelismo de tareas. El paralelismo se ha
empleado durante muchos años, sobre todo en la computación de altas
prestaciones, pero el interés en ella ha crecido últimamente debido a las
limitaciones físicas que impiden el aumento de la frecuencia. Como el consumo de
energía y por consiguiente la generación de calor de las computadoras constituye
una preocupación en los últimos años, la computación en paralelo se ha
convertido en el paradigma dominante en la arquitectura de computadores,
principalmente en forma de procesadores multinúcleo.

Las computadoras paralelas pueden clasificarse según el nivel de paralelismo


que admite su hardware: equipos con procesadores multinúcleo y multiprocesador
que tienen múltiples elementos de procesamiento dentro de una sola máquina y
los clústeres, MPPS y grids que utilizan varios equipos para trabajar en la misma
tarea. Muchas veces, para acelerar tareas específicas, se utilizan arquitecturas
especializadas de computación en paralelo junto a procesadores tradicionales.

Los programas informáticos paralelos son más difíciles de escribir que los
secuenciales, porque la concurrencia introduce nuevos tipos de errores de
software, siendo las condiciones de carrera los más comunes. La comunicación y
sincronización entre diferentes subtareas son algunos de los mayores obstáculos
para obtener un buen rendimiento del programa paralelo.

Tradicionalmente, los programas informáticos se han escrito para el cómputo


en serie. Para resolver un problema, se construye un algoritmo y se implementa
como un flujo en serie de instrucciones. Estas instrucciones se ejecutan en una
unidad central de procesamiento en un ordenador. Sólo puede ejecutarse una
instrucción a la vez y un tiempo después de que la instrucción ha terminado, se
ejecuta la siguiente.

La computación en paralelo, por el contrario, utiliza simultáneamente múltiples


elementos de procesamiento para resolver un problema. Esto se logra mediante la
división del problema en partes independientes de modo que cada elemento de
procesamiento pueda ejecutar su parte del algoritmo de manera simultánea con
los otros. Los elementos de procesamiento son diversos e incluyen recursos tales
como una computadora con múltiples procesadores, varios ordenadores en red,
hardware especializado, o cualquier combinación de los anteriores.
El aumento de la frecuencia fue la razón dominante de las mejoras en el
rendimiento de las computadoras desde mediados de 1980 hasta el año 2004. El
tiempo de ejecución de un programa es igual al número de instrucciones
multiplicado por el tiempo promedio por instrucción. Manteniendo todo lo demás
constante, el aumento de la frecuencia de reloj reduce el tiempo medio que tarda
en ejecutarse una instrucción, por tanto un aumento en la frecuencia reduce el
tiempo de ejecución de los programas de cómputo.

Sin embargo, el consumo de energía de un chip está dada por la ecuación P =


C × V2 × F, donde P es la potencia, C es el cambio de capacitancia por ciclo de
reloj proporcional al número de transistores cuyas entradas cambian, V es la
tensión, y F es la frecuencia del procesador (ciclos por segundo). Un aumento en
la frecuencia aumenta la cantidad de energía utilizada en un procesador. El
aumento del consumo de energía del procesador llevó a Intel en mayo del 2004 a
la cancelación de sus procesadores Tejas y Jayhawk, este hecho generalmente se
cita como el fin del escalado de frecuencia como el paradigma dominante de
arquitectura de computadores.

La ley de Moore es la observación empírica de que la densidad de transistores


en un microprocesador se duplica cada 18 a 24 meses. A pesar de los problemas
de consumo de energía, y las repetidas predicciones de su fin, la ley de Moore
sigue vigente. Con el fin del aumento de la frecuencia, estos transistores
adicionales que ya no se utilizan para el aumento de la frecuencia se pueden
utilizar para añadir hardware adicional que permita la computación paralela.

La máxima aceleración posible de un programa como resultado de la


paralelización se conoce como la ley de Amdahl.

Ley de Amdalh y Gustafson.


Idealmente, la aceleración a partir de la paralelización es lineal, doblar el
número de elementos de procesamiento debe reducir a la mitad el tiempo de
ejecución y doblarlo por segunda vez debe nuevamente reducir el tiempo a la
mitad. Sin embargo, muy pocos algoritmos paralelos logran una aceleración
óptima. La mayoría tienen una aceleración casi lineal para un pequeño número de
elementos de procesamiento, y pasa a ser constante para un gran número de
elementos de procesamiento.

La aceleración potencial de un algoritmo en una plataforma de cómputo en


paralelo está dada por la ley de Amdahl, formulada originalmente por Gene
Amdahl en la década de 1960. Esta señala que una pequeña porción del
programa que no pueda paralelizarse va a limitar la aceleración que se logra con
la paralelización. Los programas que resuelven problemas matemáticos o
ingenieriles típicamente consisten en varias partes paralelizables y varias no
paralelizables (secuenciales).
La ley de Gustafson es otra ley en computación que está en estrecha relación
con la ley de Amdahl.
Ambas leyes asumen que el tiempo de funcionamiento de la parte secuencial
del programa es independiente del número de procesadores. La ley de Amdahl
supone que todo el problema es de tamaño fijo, por lo que la cantidad total de
trabajo que se hará en paralelo también es independiente del número de
procesadores, mientras que la ley de Gustafson supone que la cantidad total de
trabajo que se hará en paralelo varía linealmente con el número de procesadores.

Computación multinúcleo.

Un procesador multinúcleo es un procesador que incluye múltiples unidades de


ejecución (núcleos) en el mismo chip. Los procesadores superescalares pueden
ejecutar múltiples instrucciones por ciclo de un flujo de instrucciones (hilo), a
diferencia de este, un procesador multinúcleo puede ejecutar múltiples
instrucciones por ciclo de secuencias de instrucciones múltiples. Cada núcleo en
un procesador multinúcleo potencialmente puede ser superescalar, es decir, en
cada ciclo, cada núcleo puede ejecutar múltiples instrucciones de un flujo de
instrucciones.

El ''Multithreading'' simultáneo de la cual Intel HyperThreading es el más


conocido era una forma de pseudo-multinúcleo. Un procesador con capacidad de
multithreading simultáneo tiene una sola unidad de ejecución (núcleo), pero
cuando esa unidad de ejecución está desocupada por ejemplo, durante un error
de caché, se utiliza para procesar un segundo hilo. El microprocesador Cell de
IBM, diseñado para su uso en la consola Sony PlayStation 3, es otro prominente
procesador multinúcleo.

También podría gustarte