You are on page 1of 20

Instituto Tecnolgico de Quertaro

Jess Zubieta Segundo



Unidad IV

Arquitectura de Computadoras


Grupo: 6 A

Ingeniera en Sistemas Computacionales


Jueves 29 de noviembre del 2012
2

Contenido

a. Procesamiento paralelo
b. Aspectos basicos de computacion paralela
c. Tipos de computacion paralela
d. Taxonomia de las arquitecturas paralelas
e. Arquitectura de las computadoras secuenciales
f. Taxonomia de flynn
g. Organizacin del espacio de direccciones de memoria
h. Sistemas de memoria compartida
i. Multiprocesadores
j. Redes de interconeccion dinamicas indirectas
k. Redes commutadas
l. Redes de medio compartido
m. Multicomputadoras: closters
n. Redes de inetrconeccion esrtatica
o. Closters






3

A-. PROCESAMIENTO PARALELO
Definimos como procesamiento paralelo al concepto de agilizar la ejecucin de
un programa mediante su divisin en fragmentos que pueden ser ejecutados
simultneamente.
Aspectos bsicos sobre computacin paralela
Diseo de Arquitecturas paralelas.
Diseo de algoritmos paralelos eficaces
Difieren de los algoritmos secuenciales.
Anlisis de los algoritmos paralelos.
Medidas de la eficacia del sistema.
Lenguajes y herramientas de programacin
paralela.
Desarrollo de herramientas para el control y
depuracin.
Portabilidad y reusabilidad.
Todava un poco verde.

Tipos y clasificacin.
Complejidad de problemas = gran capacidad de clculo.
Soluciones: computacin paralela.
Computacin paralela procesamiento en paralelo.
Acelerar la ejecucin de un programa mediante su
descomposicin en fragmentos que pueden ejecutarse de forma
simultnea en su propia unidad de proceso.
N fragmentos en N computadores.
N veces la velocidad de un computador.
Conceptos.
N = grado de paralelismo.
N es un valor ideal.
Debe existir interaccin entre las N partes.
4

Transferencias de datos.
Sincronizacin de clculos en diferentes procesadores.
No obstante:
Siempre se pueden conseguir mejoras con la computacin paralela.
Siempre se podr beneficiar de los progresos y avances de los sistemas
Construccin de un sistema paralelo.
Segn la definicin de computacin
Paralelo:
Un sistema de procesamiento paralelo puede realizarse de multitud de
formas.
La complejidad de las diversas posibilidades, hace que existan
diferentes taxonomas.
Taxonoma de Flynn.
Segn el sistema de almacenamiento.
Ventajas y desventajas
Existen algunos factores que trabajan en contra de la eficiencia del paralelismo
y pueden atenuar tanto la ganancia de velocidad como la ampliabilidad.Costes
de inicio: en una operacin paralela compuesta por miles de proceso, el tiempo
de inicio puede llegar ser mucho mayor que le tiempo real de procesamiento, lo
que influye negativamente en la ganancia de velocidad.
Interferencia: como lo procesos que se ejecutan en un proceso paralelo
acceden con frecuencia a recursos compartidos, pueden sufrir un cierto retardo
como consecuencia de la interferencia de cada nuevo proceso en la
competencia, este fenmeno afecta tanto la ganancia de velocidad como la
ampliabilidad.
Sesgo: normalmente es difcil dividir una tarea en partes exactamente iguales,
entonces se dice que la forma de distribucin de los tamaos es sesgada.
5

El procesamiento paralelo implica una serie de dificultades a nivel
programacin de software, es difcil lograr una optimizacin en el
aprovechamiento de los recursos de todas las CPU con el que se est
trabajando sin que se formen cuello de botella.
Ventajas del Procesamiento en Paralelo.
El procesamiento en paralelo ejecuta procesos en donde cada procesador se
encarga de uno u otro y aceleran de esta forma el clculo.
4.- TAXONOMIA DE ARQUITECTURA PARALELA
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.
Se consideran otros criterios bsicos de clasificacin que diferencian unos sistemas de
otros, entre los que destaca la red de interconexin.

5.- ARQUITECTURA DE LOS COMPUTADORES SECUENCIALES
Como es bien sabido, los computadores secuenciales, tambin denominados
computadores serie, se basan en la arquitectura de J. von Neumann. Este
modelo tiene como elementos fundamentales una Unidad Central de
Procesamiento (CPU, acrnimo en ingls de Central Processing Unit), y una
memoria, que se caracteriza porque en ella no se distinguen datos e
instrucciones. En este modelo se considera una nica secuencia de
6

instrucciones que tratan una nica secuencia de datos. Por ello se conocen
como computadores SISD,*Single Instruction Stream, Single Data Stream
(nico flujo de instrucciones, nico flujo de datos). Una introduccin detallada
puede encontrarse en (Dormido, 2000).El modelo de von Neumann presenta dos
limitaciones bsicas. La velocidad de ejecucin de las instrucciones y la velocidad de
transferencia de informacin entre CPU y memoria.La primera est relacionada con los
componentes y la tecnologa electrnica asociada. Sin embargo, desde el punto de vista de
la arquitectura de computadores se han desarrollado algunas estrategias para aumentar el
rendimiento. La ms conocida es la segmentacin (Pipelining).La segmentacin
de instrucciones consiste en traer a la cola de instrucciones la instruccin
siguiente a la que se est ejecutando. En ltimo trmino se realiza la
segmentacin de ejecucin, o segmentacin encauzada, en la que se permite que
varias instrucciones se ejecuten simultneamente en diferentes unidades funcionales de
clculo (multiplicadores, sumadores, unidad de carga/almacenamiento), durante las
diferentes etapas en lasque se divide la ejecucin de la instruccin.

Taxonoma de Flynn.
Clasificacin segn el flujo (secuencia de elementos) de
instrucciones y flujo de datos que se desarrolla en los computadores.
SISD
Single Instruction Single Data.
SIMD
Single Instruction Multiple Data.
MISD
Multiple Instruction Single Data.
MIMD
SISD.
Instruccin nica, datos nicos.
Computadores serie actuales. Las instrucciones se ejecutan
secuencialmente, pudiendo estar solapadas (segmentacin).
7

Pueden existir ms de una unidad de recursos de clculo, pero siempre
bajo una nica unidad de control.


SIMD.
Instruccin nica, datos mltiples.
Procesadores matriciales y vectoriales.
Varias unidades de procesamiento, trabajando sobre flujos de datos
distintos, ejecutando la misma instruccin, bajo una nica unidad de
control.
El sincronismo entre procesadores est garantizado.
Punto de sincronismo: despus de cada ciclo de ejecucin de las
instrucciones.


MISD.
Instrucciones mltiples, datos nicos.
8

Varias unidades de procesamiento, ejecutando instrucciones diferentes,
sobre el mismo flujo de datos.
No existe materializacin real.
De forma abierta:
Mquinas VLIW.
Arquitecturas desacopladas.
Arquitecturas sistlicas.

MIMD.
Instrucciones mltiples, datos mltiples.
Se incluyen la mayora de los sistemas multiprocesadores y
multicomputadores.
Un computador MIMD implica interacciones entre varios procesadores.

En esencia.
Atendiendo a la clasificacin del Flynn, las arquitecturas paralelas pueden ser
esencialmente de dos tipos:
9

a. SIMD.
b. MIMD.

Modelo SIMD.
Cada procesador ejecuta la misma operacin, en sincronismo, sobre su
propio conjunto de datos.
Las instrucciones se envan a ms de un procesador.
Acta como un procesador ALU, sin unidad de control.
La nica unidad de control, es la responsable de buscar las
instrucciones, y repartirlas a los distintos procesadores.
El conjunto de datos se estructura en forma de array o vector.

Modelo SIMD.
reas de aplicacin:
Tratamientos de arrays en bucles:
Simulaciones de sistemas.
Procesamiento de imgenes.
Problemas:
Tratamiento de sentencias de seleccin.
Realizar una operacin diferente dependiendo del dato que se tenga.
Modelo MIMD.
10

Cada procesador acta de forma independiente:
Mediante descomposicin de control:
Cada procesador puede estar ejecutando un programa distinto.
Mediante descomposicin de datos:
Cada procesador puede estar ejecutando el mismo programa, en
diferentes partes del mismo, sobre distintos datos.
Esta variante se conoce como SPMD.
No confundir con SIMD.
Existe gran intercambio de informacin entre los procesadores.
Son ms generales y eficaces que los SIMD.

Clasificacin segn el sistema de memoria.
Nueva clasificacin computacin paralela:
Sistemas de memoria compartida.
Multiprocesadores.
Sistemas de memoria distribuida.
Multicomputadores.
Clasificacin orientada casi a MIMD.
Se centra en cmo realizar el intercambio de informacin entre
procesadores.

11

Memoria compartida. UMA.
La mayora incorpora una memoria cach local.
Es importante mantener la coherencia de la informacin en la cach.

Memoria compartida. De UMA a NUMA.
UMA:
Escalabilidad limitada.
Nmero mximo de procesadores: 16 a 32.
Mejoras:
Memoria local para los procesadores.
Se evitan accesos a memoria a travs de la red.
El acceso a memoria ya no es uniforme.
Nacen los sistemas con memorias de acceso no uniforme: NUMA.
NUMA:
El tiempo de acceso a memoria difiere entre palabras.
La informacin est distribuida.
Memoria compartida. NUMA.
Se conocen tambin como sistemas de memoria compartida distribuida
(DSM).
Los accesos de un procesador a las memorias locales de los otros
requieren un hardware de control especfico.
12


Memoria compartida. NUMA.
La red de interconexin es fundamental.
Su latencia no debe incrementar los tiempos de acceso remotos.
Dependiendo de cmo se comparta la informacin, siempre garantizando la
coherencia de la memoria:
Memoria compartida. NUMA. ccNUMA.
Cada nodo, contiene una porcin de la memoria total del sistema.
NODO:
Uno o varios procesadores con sus cachs, una memoria principal y
un directorio.
Las variables compartidas se reparten directamente por el
programador o por el sistema operativo.
La coherencia se mantiene mediante los directorios.
Memoria compartida. NUMA. COMA.
Idea bsica:
La memoria local de cada nodo es la cach del resto del sistema.
Ventajas:
Un fallo de acceso remoto se resuelve distribuyendo automticamente por
el sistema los datos que est utilizando la aplicacin.
13

Problemas (desventajas):
Complejidad para mantener la coherencia de las copias de los datos a lo
largo de todo el sistema.
Memoria compartida
Existe tanto en sistemas SIMD como MIMD.
El inters se centra en MIMD.
MIMD + memoria compartida:
Multiprocesadores simtricos (SMP).
De 2 a 64 procesadores.
Comparten la totalidad de recursos.
SIMD + memoria compartida:
Procesadores multihebra:
Una sola copia del sistema operativo.
Cada nodo ejecuta una hebra.
Windows NT.
Memoria compartida. Multicomputadores.
Cada procesador dispone de su propia memoria: Acceso privado, independiente
del resto, accesible slo por el procesador.La comunicacin se realiza por paso de
mensajes. Arquitecturas de paso de mensajes. Util y dominante con gran nmero
de procesadores ( > 100).
La red de interconexin:
Facilita el paso de mensajes entre los procesadores nodo.
.
Memoria distribuida.
Un sistema de memoria distribuida:
14

Puede ser un nico computador con mltiples CPU's conectadas por
un bus de datos.
Procesadores masivamente paralelos. (MPP).
Puede ser mltiples computadores enlazados por una red de
interconexin ms o menos rpida.
Clusters:
Con computadores dedicados
Beowulf.
Con computadores no dedicados:
NOW (Network Of Workstations)
Memoria distribuida. Beowulf vs. NOW
Beowulf es un conjunto de nodos minimalistas (Placa base, CPU, memoria
y algn dispositivo de E/S), conectados por un medio de comunicacin
barato, con una topologa de red influenciada por el problema a resolver.
Cada nodo se dedica nicamente a procesos del supercomputador.
En una red NOW suele existir un switch central para realizar las
comunicaciones, mientras que en un Beowulf el mecanismo es ms
rudimentario conexiones placa a placa mediante RJ-45 cruzado.
La programacin Beowulf depende de la arquitectura, y siempre se realiza
por paso de mensaje.

15

Otros criterios de clasificacin.
Segn las redes de interconexin:
Estticas:
Comunicacin punto a punto entre procesadores.
Se aplican a las arquitecturas de paso de mensajes.
Dinmicas.
A. Se construyen con switches, hubs o enlaces de comunicacin.
B. Se denominan indirectas.
C. Se utilizan para los sistemas de memoria compartida.
Otros criterios de clasificacin.
Redes bsicas de interconexin
Entre la ms sencilla (bus compartido) y la ms compleja (totalmente
conectada), existe una gran diversidad de redes, aunque slo 7 u 8 han tenido
xito comercialmente
Compromiso entre el coste y el rendimiento
Parmetros que influyen en el coste
N de conmutadores (switches)
N de procesadores por conmutador (grado)
N total de lneas (Nenlaces * Anchura en bits)
Longitud fsica de los enlaces
Implementacin real (ms simple 2D que 3D)
Parmetros que influyen en el rendimiento
Dimetro de la red
16

Mxima distancia entre cualquier dos procesadores de la red.
La distancia entre dos procesadores es definida como el camino ms corto (en
trmino de nmero de enlaces) entre ellos. Puesto que la distancia determina el
tiempo de comunicacin, las redes con pequeos dimetros son mejores
Ancho de biseccin y AB de biseccin:
Ancho de biseccin de una red es el nmero mnimo de canales a cortar para
dividir la red en dos mitades iguales. El AB biseccin es el producto del ancho de
biseccin por el AB de cada canal.
Este parmetro nos indica el ancho de banda posible entre las dos mitades
AB agregado normalizado
Nmero mximo de comunicaciones simultaneas multiplicado por el AB de cada
canal

Redes de interconexin dinmicas (indirecta)
Tpicamente usadas para NUMA
Los switches se alejan del procesador
El camino entre un procesador y otro, se realiza a travs de varios switches
Los tipos ms comunes son:
Red de barras cruzadas (CrossBar)
Red basada en Bus comn
rboles
Red multietapa
Redes de conmutacin.
Bsicamente se emplea conmutacin de paquetes:
No se reserva el medio.
La informacin se transmite en forma de paquetes:
Bien a travs de un camino establecido.
Bien buscando su propia ruta al nodo destino.
17

Exige mecanismos de arbitraje.
Aumenta el nivel de ocupacin de la red.
Redes de uso compartido
Indirectamente, el tipo de conexin que se haga en la capa fsica puede influir en
el diseo de la capa de Enlace. Atendiendo al nmero de equipos que comparten
un medio hay dos posibilidades:
Conexiones punto a punto: que se establecen entre dos equipos y que no admiten
ser compartidas por terceros
Conexiones multipunto: en la que ms de dos equipos pueden usar el medio.
As por ejemplo la fibra ptica no permite fcilmente conexiones multipunto (sin
embargo, vase FDDI) y por el contrario las conexiones inalmbricas son
inherentemente multipunto (sin embargo, vanse los enlaces infrarrojos). Hay
topologas por ejemplo la topologa de anillo, que permiten conectar muchas
mquinas a partir de una serie de conexiones punto a punto(Directa entre dos
maquinas).Equipos adicionales A la hora de disear una red hay equipos
adicionales que pueden funcionar a nivel fsico, se trata de los repetidores, en
esencia se trata de equipos que amplifican la seal, pudiendo tambin
regenerarla. En las redes Ethernet con la opcin de cableado de par trenzado (la
ms comn hoy por hoy) se emplean unos equipos de interconexin llamados
concentradores (repetidores en las redes 10Base-2) ms conocidos por su nombre
en ingls (hubs) que convierten una topologa fsica en estrella en un bus lgico y
que actan exclusivamente a nivel fsico, a diferencia de los conmutadores
(switches) que actan a nivel de enlace.
LOS SISTEMAS DE MEMORIA DISTRIBUIDA O MULTICOMPUTADORES
Los sistemas de memoria distribuida o multicomputadores pueden ser de dos tipos
bsicos.El primero de ellos consta de un nico computador con ltiples CPUs
comunicadas por un bus de datos mientras que en el segundo se utilizan mltiples
18

computadores, cada uno con su propio procesador, enlazados por una red de
interconexin ms o menos rpida. En el primer caso, se habla de procesadores
masivamente paralelos (MPPs, Massively Parallel Processors), y en el segundo
se conocen de forma genrica como clusters.
Clster
es una tipo de arquitectura paralela distribuida que consiste de un conjunto de
computadores independientes (y bajo coste en principio) interconectados
operando de forma conjunta como un nico recurso computacional Sin embargo,
cada computador puede utilizarse de forma independiente o separada
Componentes de clster
Mltiples nodos de computacin
Los nodos pueden encontrarse encapsulados en un solo contenedor , o estar
fsicamente diferenciados.
Los nodos pueden ser PCs, estaciones de trabajo o SMPs.
Diferentes sistemas operativos
UNIX, Linux, W2000, WXP
Red de interconexin de altas prestaciones
Myrinet, Infiniband, Gigabit Ethernet
Diferentes tipos de interfaz de red
En el bus E/S, en el bus de sistema, en el procesador.
Protocolos rpidos de comunicacin
Active messages, Fast messages, VIA
Tipos de cluster
Alto rendimiento (High Performance)
Objetivo: mejorar el rendimiento en la obtencin de la solucin de un problema,
en trminos bien del tiempo de respuesta bien de su precisin
Aplicaciones: Generalmente estos problemas de computo suelen estar ligados a
Clculos matemticos, Renderizaciones de grficos, Compilacin de programas,
Compresin de datos, Descifrado de cdigos, Rendimiento del sistema operativo...
19

Nivel implementacin:
Libreras y bibliotecas de funciones. No implementan balanceo carga.
El trabajo es repartido de forma manual.
Sistema operativo. Basan su funcionamiento en la comparticin de los recursos y
balanceo de carga dinmico.
Solucines Hbridas
Alta disponibilidad (High Availability)
Ms demandados por empresas para asegurar servicio a clientes
Objetivo: Ofrecer mxima disponibilidad de los servicios prestados por el
cluster (24x7x365). Competencia para abaratar sistemas redundantes.
Intentan proporcionar fiabilidad, disponibilidad y servicios RAS.
Soluciones Hardware. Caras, Hardware redundante funcionando en paralelo y
con sistemas de deteccin de fallos y recuperacin.
Soluciones Software tipo Cluster.
Alta disponibilidad (High Availability)
Tcnicas para proporcionar disponibilidad.
Basadas en redundancia sobre dispositivos crticos. El dispositivo redundante
toma el control ante el fallos del dispositivo maestro.
Redundancia aislada. Existen dos posibilidades para dar una funcionalidad o
servicio (procesadores, fuentes, imgenes deS.O...)
N-Redundancia. N equipos para proporcionar servicio.


CLUSTERS: ENTORNOS DE PROGRAMACIN
MLTIPLES VARIANTES
Threads (PCs, SMPs, ) . POSIX Threads. Java Threads. PVM.
MPI. Linux, NT, en muchas Supercomputadoras.
Software DSMs (Shmem).
20

Otras tecnologas.
Compiladores C/C++/Java.
Programacin Paralela con C++ (MIT Press book).
RAD (rapid application development tools).
Herramientas basadas en GUI para modelos de PP.
Debuggers.
Herramientas de anlisis de performance.
Herramientas de Visualizacin.

You might also like