Está en la página 1de 22

COMPUTACION

PARALELA
ORGANIZACIN Y ARQUITECTURA
DEL COMPUTADOR II
Ing. Luis Alberto Sota Orellana

Introduccin

Tradicionalmente, los programas han sido escritos para cmputo secuencial (serial):

La computacin paralela es el uso simultneo de mltiples recursos computacionales


para resolver un problema computacional.
Los recursos computacionales pueden incluir:

Para ser ejecutados en un nico computador que posee un nico CPU.


Los problemas son resueltos por una serie de instrucciones ejecutada una despus de la otra
por el CPU. Slo una instruccin puede ser ejecutada en un instante de tiempo.

Un nico computador con mltiples procesadores


Un nmero arbitrario de computadores conectados por una red
Una combinacin de ambos.

El problema computacional posee caractersticas tales como:

Ser particionado en partes discretas de trabajo que pueden ser resueltas simultneamente
Ejecutar mltiples instrucciones del programa en cualquier instante de tiempo
Ser resuelto en un menor tiempo con mltiples recursos computacionales que con un nico
recurso computacional.

Porqu usar Cmputo en Paralelo?

Existen dos razones primarias para usar computacin paralela:

Ahorro en tiempo
Resolver problemas grandes

Otras razones:
Tomar ventaja de recursos no locales usar recursos computacionales
disponibles en una red.
Ahorro en costos el uso de mltiples recursos computacionales ms
econmicos en vez de pasar tiempo en un supercomputador.
Limitacin en memoria un solo computador tiene recursos de memoria
finita. Para problemas grandes, usar la memoria de mltiples computadores
puede corregir este obstculo.
El futuro sugiere que el paralelismo es el futuro del cmputo.

Conceptos y Terminologas
Arquitectura de Von Neumann

Un computador de Von Neumann usa el concepto de programaalmacenamiento. El CPU ejecuta un programa que especfica una
secuencia de operaciones de lectura y escritura en la memoria.

Conceptos y Terminologas
Arquitectura de Von Neumann

Diseo Bsico:
Memoria es usada para almacenar el programa y las
instrucciones sobre los datos
Instrucciones del Programa son datos codificados
que le dice al computador que hacer
Los datos es simplemente informacin a ser usada
por el programa
La unidad de procesamiento central (CPU) obtiene
instrucciones y/o datos de la memoria, decodifica las
instrucciones y secuencialmente ejecuta stas.

Conceptos y Terminologas
Taxonoma de Flynn

Existen diferentes maneras para clasificar los computadores paralelos. La


clasificacin ms usada desde 1966 es llamada taxonoma de Flynn.
La taxonoma de Flynn distingue la arquitectura computacional de los
multiprocesadores de acuerdo a como stos pueden ser clasificados a travs
de dimensiones independientes de Instrucciones y Datos. Cada una de estas
dimensiones puede tener slo uno de dos posibles estados: Single o
Multiple.
La siguiente matriz define las cuatro posibles clasificaciones de acuerdo a
Flynn.

Conceptos y Terminologas
Taxonoma de Flynn Single Instruction, Single Data (SISD)

Un computador serial (no-paralelo)


Single instruction: Slo un flujo de instruccin est actuando en el CPU
durante cualquier ciclo de reloj
Single data: Slo un flujo de dato est siendo usado como entrada durante
cualquier ciclo de reloj
Ejemplos: muchos PCs y workstations de un slo CPU

Conceptos y Terminologas
Taxonoma de Flynn Single Instruction, Multiple Data
(SIMD)

Un tipo de computador paralelo


Single instruction: Todas las unidades de procesamiento ejecutan
la misma instruccin en cualquier ciclo de reloj
Multiple data: Cada unidad de procesamiento puede operar en
datos diferentes
Conveniente para problemas caracterizados por un alto grado de
regularidad, tal como procesamiento de imgenes
Dos variedades: Arreglo de Procesadores y Vectorial
Ejemplos:

Arreglo de Procesadores: Connection Machine CM-2, Maspar MP-1, MP2


Vectorial: IBM 9000, Cray C90, Fujitsu VP, NEC SX-2, Hitachi S820

Conceptos y Terminologas
Taxonoma de Flynn Single Instruction, Multiple Data
(SIMD)

Conceptos y Terminologas
Taxonoma de Flynn Multiple Instruction, Single Data
(MISD)

Pocas clases de este tipo de computadores


Algunos ejemplos:
Filtros de mltiple frecuencia operando en una nica
seal
Mltiples algoritmos de criptografa actuando en un
mensaje codificado.

Conceptos y Terminologas
Taxonoma de Flynn Multiple Instruction, Multiple Data
(MIMD)

Actualmente, el tipo ms comn de computador paralelo


Multiple Instruction: cada procesador puede ejecutar un flujo de
instruccin diferente
Multiple Data: cada procesador puede estar trabajando con un
flujo de datos diferentes
Ejemplos: supercomputadores actuales, redes de computadoras
"grids", multi-procesadores SMP - incluyendo algunos tipos de
PCs.

Conceptos y Terminologas
Taxonoma de Flynn Multiple Instruction, Multiple Data
(MIMD)

Conceptos y Terminologas
Taxonoma de Flynn

Conceptos y Terminologas
Clasificaciones mas actuales

Arquitectura de la Memoria en
Computadores Paralelos
Memoria Compartida (Shared Memory)

Computadores de memoria compartida tienen en comn la capacidad que


todos los procesadores pueden acceder a la memoria como un espacio de
direccionamiento global.

Arquitectura de la Memoria en
Computadores Paralelos
Memoria Compartida (Shared Memory)

Mltiples procesadores operan independientemente


pero comparten los mismos recursos de memoria.
Cambios en una localizacin de memoria realizados por
un procesador son visibles a todos los otros
procesadores.
La sincronizacin es obtenida controlando la escritura y
lectura a la memoria.
Las mquinas de memoria compartida pueden ser
divididas en dos clases principales basadas en los
tiempos de acceso a memoria: UMA y NUMA.

Arquitectura de la Memoria en
Computadores Paralelos
Acceso Uniforme a Memoria (UMA)

Representadas por multiprocesadores simtricos (


Symmetric Multiprocessor machines, SMP)

Procesadores idnticos
Tiempos de acceso igual a la memoria
Algunas veces llamadas CC-UMA - Cache Coherent UMA.
Coherencia de cache significa que si un procesador actualiza
una posicin en la memoria compartida, todos los otros
procesadores conocen acerca de la actualizacin. La
coherencia de cache es a nivel de hardware.

Arquitectura de la Memoria en
Computadores Paralelos
Acceso No Uniforme a Memoria (NUMA)

Enlazando fsicamente dos o ms SMPs


Un SMP puede directamente acceder a la memoria de
otro SMP
No todos los procesadores tienen igual tiempo de
acceso a toda la memoria
El acceso a la memoria es lento
Si la coherencia de cache es mantenida, son llamados
CC-NUMA - Cache Coherent NUMA

Arquitectura de la Memoria en
Computadores Paralelos
Memoria Distribuida (Distributed Memory)

Los sistemas de memoria distribuida requieren


una red de comunicacin para conectar la
memoria de los procesadores.

Arquitectura de la Memoria en
Computadores Paralelos
Memoria Distribuida (Distributed Memory)

Mltiples procesadores operan independientemente pero cada uno tiene su propia


memoria
La data es compartida a travs de una red de comunicacin usando pases de mensajes
El usuario es el responsable de la sincronizacin usando pase de mensajes
Ventajas

Desventajas

La memoria es escalable al nmero de procesadores. Un aumento de los procesadores, el


tamao de la memoria y el ancho de banda aumenta
Cada procesador puede rpidamente acceder a su propia memoria sin interferencia
Dificultad para asignar estructuras de datos existentes a esta organizacin de memoria
El usuario es el responsable para enviar y recibir data a travs de los procesadores

Ejemplos:

nCUBE Hypercube, Intel Hypercube, TMC CM-5, IBM SP1, SP2, Intel Paragon

Arquitectura de la Memoria en
Computadores Paralelos
Memoria Compartida-Distribuida

Arquitectura de la Memoria en
Computadores Paralelos
Memoria Compartida-Distribuida

Memoria Distribuida

MPP - Massively Parallel Processor

Memoria Compartida

SMP - Symmetric Multiprocessor

NUMA - Non-Uniform Memory Access

Procesadores idnticos
Acceso igual a la memoria
Algunas veces llamado UMA - Uniform Memory Access o CC-UMA Coherencia de Cache UMA
Coherencia de Cache significa que si un procesador actualiza una posicin en la memoria compartida, todos los otros
procesadores conocen acerca de la actualizacin
Algunas veces llamado CC-NUMA - Coherencia de Cache NUMA
A menudo hecho enlazando dos o ms SMPs
Un SMP puede directamente acceder la memoria de otro SMP
No todos los procesadores tienen igual tiempo de acceso a toda la memoria
El acceso de memoria a travs del enlace es lento

Combinaciones

Mltiples SMPs son conectados por una red

Los Procesadores dentro de un SMP se comunican va memoria


Requieren pase de mensajes entre SMPs
Un SMP no puede directamente acceder a la memoria de otro SMP

Mltiples procesadores de memoria distribuida conectados a una gran memoria compartida

La transferencia de memoria local a memoria compartida es transparente al usuario


Diseo del futuro: con diferentes procesadores y su memoria local alrededor de una gran memoria compartida en
una simple tarjeta

También podría gustarte