Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Principal objetivo: Aumento del RENDIMIENTO. Aumento de la capacidad para resolver problemas
computacionales grandes
Cmo?
Divisin del trabajo en tareas ms 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
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
Procesamiento Paralelo
Limitaciones:
En algunos problemas el incremento del nmero de procesadores no
mejora el rendimiento global, incluso empeora la eficiencia del sistema.
elementos de proceso
2
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
Sistema paralelo
Conjunto de elementos de proceso que, operando juntos, permiten
resolver problemas computacionales complejos de forma eficiente
Caractersticas de un sistema paralelo:
Rendimiento
3
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
Niveles de paralelismo
Arquitecturas de procesadores
Complejidad del procesador:
Arquitectura caracterstica y estructura de cada procesador del
sistema.
5
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
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
6
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
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)
7
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
Arquitecturas de procesadores
Red de interconexin:
Conexionado de hardware entre procesadores y entre
procesadores y memorias
8
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
Arquitecturas de procesadores
Clasificacin:
Sistemas grandes: ms de 1000 procesadores
9
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
10
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
Medicina
rea militar
Realidad Virtual
Comercio electrnico
11
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
12
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
Incremento de velocidad
3000 MHz XEON 3 GHz
2000 MHz
Bus CPU: 6 veces mas rpido
ATHLON GHz
PIII 1 GHz
1000 MHz
ATHLON 600
P II 400
500 MHz
486 DX100
89 90 91 92 93 94 95 96 97 98 99 00 01 02 03
13
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
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.
14
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
Un programa de ordenador es, en esencia, una secuencia de instrucciones ejecutadas por un procesador.
Estas instrucciones pueden reordenarse 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 pipelinede 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 4 tena
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.
15
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
Paralelismo de datos:
Un procesador superescalar con pipeline de cinco etapas, capaz de ejecutar dos instrucciones por ciclo.
Puede tener dos instrucciones en cada etapa del pipeline, para un total de hasta 10 instrucciones (se muestra
en verde) ejecutadas simultneamente.
16
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
Paralelismo de tareas:
17
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
18
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
ARQUITECTURA DE LOS
COMPUTADORES SECUENCIALES
TAXONOMA DE FLYNN
SISD (Single Instruction stream, Single Data stream) Flujo nico de instrucciones y flujo nico de datos.
Este el concepto de arquitectura serie de Von Neumann donde, en cualquier momento, slo se est
ejecutando una nica instruccin. A menudo a los SISD se les conoce como computadores serie
escalares. Todas las maquinas SISD poseen un registro simple que se llama contador de programa que
asegura la ejecucin en serie del programa. Conforme se van leyendo las instrucciones de la memoria,
el contador de programa se actualiza para que apunte a la siguiente instruccin a procesar en serie.
Prcticamente ningn computador puramente SISD se fabrica hoy en da ya que la mayora de
procesadores modernos incorporan algn grado de paralelizacion como es la segmentacin de
instrucciones o la posibilidad de lanzar dos instrucciones a un tiempo (superescalares).
19
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
MISD (Multiple Instruction stream, Single Data stream) Flujo mltiple de instrucciones y nico flujo
de datos. Esto significa que varias instrucciones actan sobre el mismo y nico trozo de datos. Este tipo
de mquinas se pueden interpretar de dos maneras. Una es considerar la clase de mquinas que
requeriran que unidades de procesamiento diferentes recibieran instrucciones distintas operando sobre
los mismos datos. Esta clase de arquitectura ha sido clasificada por numerosos arquitectos de
computadores como impracticable o imposible, y en estos momentos no existen ejemplos que funcionen
siguiendo este modelo. Otra forma de interpretar los MISD es como una clase de mquinas donde un
mismo flujo de datos fluye a travs de numerosas unidades procesadoras. Arquitecturas altamente
segmentadas, como los arrays sistlicos o los procesadores vectoriales, son clasificados a menudo bajo
este tipo de mquinas. Las arquitecturas segmentadas, o encauzadas, realizan el procesamiento vectorial
a travs de una serie de etapas, cada una ejecutando una funcin particular produciendo un resultado
intermedio. La razn por la cual dichas arquitecturas son clasificadas como MISD es que los elementos
de un vector pueden ser considerados como pertenecientes al mismo dato, y todas las etapas del cauce
representan mltiples instrucciones que son aplicadas sobre ese vector.
SIMD (Single Instruction stream, Multiple Data stream) Flujo de instruccin simple y flujo de datos
mltiple. Esto significa que una nica instruccin es aplicada sobre diferentes datos al mismo tiempo.
En las mquinas de este tipo, varias unidades de procesado diferentes son invocadas por una nica
unidad de control. Al igual que las MISD, las SIMD soportan procesamiento vectorial (matricial)
asignando cada elemento del vector a una unidad funcional diferente para procesamiento concurrente.
20
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
Por ejemplo, el clculo de la paga para cada trabajador en una empresa, es repetir la misma operacin sencilla
para cada trabajador; si se dispone de una arquitectura SIMD esto se puede calcular en paralelo para cada
trabajador. Por esta facilidad en la paralelizacion de vectores de datos (los trabajadores formaran un vector)
se les llama tambin procesadores matriciales.
MIMD (Multiple Instruction stream, Multiple Data stream) Flujo de instrucciones mltiple y flujo de
datos mltiple. Son mquinas que poseen varias unidades procesadoras en las cuales se pueden realizar
mltiples instrucciones sobre datos diferentes de forma simultnea. Las MIMD son las ms complejas,
pero son tambin las que potencialmente ofrecen una mayor eficiencia en la ejecucin concurrente o
paralela. Aqu la concurrencia implica que no slo hay varios procesadores operando simultneamente,
sino que adems hay varios programas (procesos) ejecutndose tambin al mismo tiempo.
21
COMPUTACION DISTRIBUIDA Y PARALELA UNIDAD 2 ARQUITECTURAS PARALELAS MGTI. VIRIDIANA PREZ MENCA
Registros de desplazamiento
Dispositivos por acoplamiento por carga
Memorias de burbuja
22