Sunteți pe pagina 1din 59

ARQUITECTURA PARALELA

Sub proceso 1 Sub proceso 2 Sub proceso 3 Sub proceso n

EJECUCIÓN 1 EJECUCIÓN 2 EJECUCIÓN 3 EJECUCIÓN n

Proceso Flujo de
Parcial Información Binaria RESULTADO
FINAL

LÓPEZ OLIVOS LETICIA TERESA


1
Procesador
 Varios cálculos puedan
estar en proceso en
distintos segmentos, al
mismo tiempo.
 La simultaneidad de los
cálculos es posible al
asociar un registro con Tiempo
cada segmento en la Tiempo en Tiempo en
línea. Paralelo Secuencial
 Los registros proporcionan
aislamiento entre cada
segmento para que cada Existen dependencias secuenciales entre las
uno pueda operar sobre variables del programa, por tanto la unidad de
datos distintos en forma paralelización son las entidades que encapsulan
simultánea. instrucciones y no las instrucciones por sí mismas.

LÓPEZ OLIVOS LETICIA TERESA


 El registro contiene los datos.
 El circuito combinatorio ejecuta
En la arquitectura de líneas paralelas, cada
las sub operación en el segmento
segmento consta de un registro de entrada
particular.
seguido de un circuito combinatorio.

Supongamos que deseamos ejecutar las


operaciones multiplicar y sumar EJEMPLO
combinadas con un flujo de números.

𝑨𝒊 ∗ 𝑩𝟏 + 𝑪𝒊 𝒑𝒂𝒓𝒂 𝒊 = 𝟏, 𝟐, 𝟑, … 𝟕

 Cada sub operación se va a implantar en un segmento dentro de la línea.


 Cada segmento tiene uno o dos registros y un circuito combinatorio.
 De R1 a R5 son registros que reciben nuestros datos con cada pulso de reloj.
 El multiplicador y el sumador son circuitos combinatorios.

LÓPEZ OLIVOS LETICIA TERESA


EJEMPLO DE APLICACIÓN:

Número de Segmento Segmento Segmento


Pulso de 1 2 3
Reloj R1 R2 R3 R4 R5
1 A1 B1 -- ----- ----
2 A2 B2 A1*B1 C1 ----
3 A3 B3 A2*B2 C2 A1*B1+C1
4 A4 B4 A3*B3 C3 A2*B2+C2
5 A5 B5 A4*B4 C4 A3*B3+C3
6 A6 B6 A5*B5 C5 A4*B4+C4
7 A7 B7 A6*B6 C6 A5*B5+C5
8 ----- ----- A7*B7 C7 A6*B6+C6
9 ----- ----- ----- ----- A7*B7+C7

LÓPEZ OLIVOS LETICIA TERESA


SEGMENTO
SEGMENTOEJEMPLO DE SEGMENTO
APLICACIÓN:
2
1 3

R1 A1

R2 B1

R3 R1 * R2 R1 A2

R4 C1 R2 B2

R5 R3 + R4 R3 R1 * R2 R1 A3

R4 C2 R2 B3
COMPUTACIÓN PARALELA

 Muchas instrucciones se ejecutan


simultáneamente.
 Problemas grandes, a menudo se pueden dividir
en unos más pequeños, que luego son resueltos
simultáneamente (en paralelo).

 Los programas informáticos paralelos son


PROBLEMÁTICA: más difíciles de escribir que los
secuenciales, porque la concurrencia
Las limitaciones físicas que impiden el introduce nuevos tipos de errores de
aumento de la frecuencia. Como el software.
consumo de energía —y por  La comunicación y sincronización, entre
consiguiente la generación de calor— de diferentes sub tareas son algunos de los
las computadora. mayores obstáculos para obtener un buen
rendimiento del programa paralelo.

LÓPEZ OLIVOS LETICIA TERESA


COMPUTACIÓN PARALELA

ÁMBITOS DE USO: SISTEMAS DE BASES


DE DATOS
PARALELOS

 Simulación de modelos complejos


 Diseño y automatización de
proyectos de ingeniería
 Exploración petrolera y minera
 Medicina
 Área militar El procesamiento paralelo dentro de una
 Cine: efectos visuales, animación 3D computadora permite acelerar las
 Realidad Virtual actividades del sistema de base de
 Comercio electrónico datos, proporcionando a las
 Mega bases de datos (google, transacciones unas respuestas más
youtube, rapidshare) rápidas, así como la capacidad de
ejecutar más transacciones por segundo

LÓPEZ OLIVOS LETICIA TERESA


Existen cinco categorías de paralelismo
con diferentes grados de granularidad:

 Ejecución de diversas
actividades simultáneamente en
varios procesadores.
 En el caso de que sólo exista un
procesador gestionando
multiprogramación se puede
decir que existe un pseudo
paralelismo.
 Surge el concepto de
concurrencia el cual se refiere a
la existencia de varias
actividades ejecutándose
simultáneamente y necesitan
sincronizarse para actuar de
manera conjunta.

LÓPEZ OLIVOS LETICIA TERESA


La memoria principal en un ordenador en paralelo puede ser

 Compartida: Entre todos los elementos de procesamiento


en un único espacio de direcciones.

 Distribuida: Cada elemento de procesamiento tiene su


propio espacio local de direcciones.

Memoria
Distribuida - Compartida El procesador tiene su propia memoria
local y permite acceso a la memoria de
los procesadores que no son locales.
Virtualización de
Memoria Los accesos a la memoria local suelen ser
más rápidos que los accesos a memoria
no local.

LÓPEZ OLIVOS LETICIA TERESA


 Los sistemas informáticos suelen
hacer uso de cachés
 Los sistemas computacionales
paralelos tienen dificultades con las
cachés y la posibilidad de una
 Generalmente realizan un seguimiento ejecución incorrecta del programa.
de los valores almacenados en caché y
estratégicamente los eliminan,
garantizando la correcta ejecución del
programa.
 El diseño de grandes sistemas de
coherencia caché y de alto rendimiento
es un problema muy difícil en
arquitectura de computadores.
 Es por ello, las arquitecturas de memoria
compartida no son tan escalables como Las computadoras paralelas basadas en
los sistemas de memoria distribuida. redes interconectadas deben tener algún
tipo de enrutamiento para permitir el
paso de mensajes entre nodos que no
están conectados directamente.

LÓPEZ OLIVOS LETICIA TERESA


(Single Instruction stream, Single Data stream)
Flujo único de instrucciones y flujo único de datos.

 En cualquier momento, solo se está


Conforme se van leyendo las
ejecutando una única instrucción.
instrucciones de la memoria, el
 Todas las máquinas SISD poseen un
contador de programa se actualiza
registro simple que se llama contador
para que apunte a la siguiente
de programa que asegura la ejecución
instrucción a procesar en serie.
en serie del programa.

Prácticamente ningún computador puramente SISD se


fabrica hoy en día ya que la mayoría de procesadores
modernos incorporan algún grado de paralelización como
es la segmentación de instrucciones o la posibilidad de
lanzar dos instrucciones a un tiempo (superescalares).

LÓPEZ OLIVOS LETICIA TERESA


La CPU controla todas las operaciones que se realizan en la
máquina extrayendo secuencialmente las instrucciones de
programa desde la memoria.

 UNIDAD DE CONTROL:
Ejecuta una a una las
instrucciones de programa

 UNIDAD LÓGICO/ARITMÉTICA:
Realiza las operaciones sobre los
datos ALU

 REGISTROS INTERNOS: I/O UC MEMORIA


Se almacenan datos parciales y
direcciones. Registros

LÓPEZ OLIVOS LETICIA TERESA


Varias unidades funcionales ejecutan diferentes operaciones
sobre el mismo conjunto de datos. Es usado en situaciones
de paralelismo redundante

EJEMPLO:
M[i] = ((M[i] * 256 + 70) mod 512 -5)

MEMORIA
SALIDA ENTRADA
DE DATOS DE DATOS

mod
-5 +70 *256
512

LÓPEZ OLIVOS LETICIA TERESA


(Single Instruction stream, Multiple Data stream)

Flujo único de Instrucciones y Flujo múltiple de Datos


 Todas las unidades de
proceso paralela están
sincronizadas y
responden a una
instrucción.

 Cada procesador ejecuta


una misma instrucción
sobre datos diferentes.

 Varias unidades de
proceso diferentes son
invocadas por una única
unidad Control.
(Multiple Instruction stream, Multiple Data stream Flujo)
Flujo de instrucciones múltiple y flujo de datos múltiple
 Son máquinas que poseen
varias unidades
procesadoras en las cuales
se pueden realizar múltiples
instrucciones sobre datos
diferentes que funcionan de
manera asíncrona e
independiente.

 Cada procesador tiene su


propia unidad de control y
su propia unidad funcional..

 Las computadoras MIMD


pueden categorizarse por
tener memoria compartida
o distribuida.
(Uniform Memory Access)

Acceso a Memoria Uniforme


 La memoria física esta
uniformemente compartida
por todos los procesadores.

 Tienen una cache privada.

 La red de interconexión
toma la forma de bus común.

 Este tipo de máquinas son


fáciles de construir.
(Non-Uniform Memory Access)

 Sistema de memoria
Acceso a Memoria No Uniforme
compartida donde el tiempo de
acceso varia según el lugar
donde se encuentre localizado
el acceso.

 El módulo de memoria que


está junto a un procesador en
un mismo nodo recibe el
nombre de memoria local a
este procesador.

 Estos nodos tienen un bus


local.
(Cache Only Memory Access)

Arquitectura de Memoria Solo-Cache


 Un multiprocesador COMA
consiste en un sistema que
utiliza solo memoria cache.

 No hay jerarquía de memoria


en cada procesador.

 El acceso a caches remotos es


asistido por el directorio de
caches distribuidos.
- La aceleración en la arquitectura de computadores se lograba en gran medida duplicando el tamaño
de la palabra en la computadora

- El aumento del tamaño de la palabra reduce el número de instrucciones que el procesador debe
ejecutar
A = 1010111010101011
B = 1011100010110100
O. Superior O. Inferior
Orden Inferior Orden Superior
10101011 + 10101110 + 10110011101011111
10110100 10111000
101011111 101100110
Acarreo
- 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 introducción de procesadores de 64 bits

 64 bits:

0010101010110101101101011010110110100110111011100011101011101101

 32 bits:

10100110111011100011101011101101
00101010101101011011010110101101
- Las instrucciones pueden reordenarse y combinarse en grupos que luego son ejecutadas en paralelo sin
cambiar el resultado del programa.

** Si bien todas se basan en la paralelización de instrucciones para su ejecución difieren en la forma de emisión
de las mismas.

Ejemplo de código 1:
No paralelizable
c = b + a;
d = c + e;

Ejemplo de código 2:
a = b + c;
d = e + f; Paralelizable
- El paralelismo a nivel de instrucciones que se consigue con la segmentación coincide con el número de
etapas.

 Procesador NO segmentado
F D E M W F D E M W F D E M W
Instrucción i - 1 Instrucción i Instrucción i + 1
 Procesador Segmentado

F D E M W - FETCH : Ir a buscar una instrucción a memoria


F D E M W - DECODE: Decodificar la instrucción y los operandos
F D E M W - EXECUTE: Ejecución de operaciones
- MEMORY: Acceso a la memoria
F D E M W - WRITEBACK: Escritura
F D E M W
- Procesador que tiene la habilidad de empezar a ejecutar (lanzar) dos intrucciones* a cada ciclo.
F D E M W
F D E M W
F D E M W
F D E M W
F D E M W
F D E M W
F D E M W
F D E M W
F D E M W
F D E M W
- Ejecuta grupos de operaciones empaquetadas en instrucciones compuestas

>> Ejemplo:

1 Multiplicar R1 por R2 y guardarlo en R3 Vlim formada por 5 instrucciones:


2 Sumar R3 con R4 y guardarlo en R5
3 Restar R1 de R4 y guardarlo en R6

> En una máquina VLIW:

1 MULT(R1,R2,R3) - REST(R1,R4,R6)
2 - SUM(R3,R4,R5) -
- Se refiere básicamente a la posibilidad de operar sobre dos o más datos con una única instrucción
(SIMD)
Consiste en asignar distintas tareas a cada uno de los procesadores de un sistema de cómputo. En consecuencia,
cada procesador efectuará su propia secuencia de operaciones
FUENTES DE PARALELISMO:
Procesadores de múltiples núcleos vs las arquitecturas paralelas

CPU 1 CPU 2

Mucho
PROCESADOR CPU
Trabajo

CPU 3 CPU 4
Procesadores de múltiples núcleos

Arquitecturas paralelas
ALBINO HUERTAS EDER ALBERTO
FUENTES DE PARALELISMO:
Existen distintos niveles en los que se puede encontrar paralelismo. Así, podemos paralelismo en:
• A Nivel de Instrucciones u Operaciones, como hemos visto en las arquitecturas
monoprocesador.

N° INSTRUCCION

1 Vadd A, 12, 4
2 Vres B, A, 2
3 Vadd C, A, B
4 Vadd H, 12, 3
5 Vmult G, 3, 5
6 Vdiv H, 5,2

ALBINO HUERTAS EDER ALBERTO


FUENTES DE PARALELISMO:
 A Nivel de Bucle, Nos ha permitido utilizar múltiples unidades aritméticas en paralelo,
mejorando el rendimiento de los programas

for (i=999; i>=0; i--) for (i=999; i>=0; i--)

CICLO RELOJ CICLO RELOJ


x[i] = x[i] + s; A[i] = A[i] + B[i];

z[i] = z[i] + x[i];


2
1 B[i+1] = C[i] + D[i];
1
Fin for Fin for

No existe paralelismo Existe paralelismo

ALBINO HUERTAS EDER ALBERTO


FUENTES DE PARALELISMO:
 A Nivel de Funciones, en el que los distintos procedimientos que constituyen un programa
se ejecutan simultáneamente.

PROCESO PADRE

SUBPROCESO 1 SUBPROCESO 2 SUBPROCESO 3

HILOS

ALBINO HUERTAS EDER ALBERTO


FUENTES DE PARALELISMO:
 Y finalmente a Nivel de Programas, cuando en nuestro sistema paralelo ejecutamos
distintos programas concurrentemente, perteneciendo estos a una misma aplicación o no.

Plataforma

HILOS A NIVEL
PROGRAMAS

ALBINO HUERTAS EDER ALBERTO


FUENTES DE PARALELISMO:
Al lado de este factor cuantitativo evidente, es necesario considerar también un factor
cualitativo: Distinguiremos tres fuentes principales:

1. El paralelismo de control.
Una aplicación existen acciones que podemos “hacer al mismo tiempo”. Las acciones, llamadas
también tareas o procesos pueden ejecutarse de manera más o menos independiente sobre unos
recursos de cálculo llamados también procesadores elementales (o PE).
Datos
BASADO EN
RECURSOS

Cálculos (recursos)

ALBINO HUERTAS EDER ALBERTO


FUENTES DE PARALELISMO:
2. El paralelismo de datos
Ciertas aplicaciones trabajan con estructuras de datos muy regulares (vectores, matrices) repitiendo
una misma acción sobre cada elemento de la estructura. Los recursos de cálculo se asocian entonces
a los datos. A menudo existe un gran número (millares o incluso millones) de datos idénticos.

Datos

Cálculos (recursos)

PE (Programas
Elementales)
ALBINO HUERTAS EDER ALBERTO
FUENTES DE PARALELISMO:
3. El paralelismo de flujo.
Que ciertas aplicaciones funcionan en modo “secuencia de acciones”: disponemos de un flujo de
datos, generalmente semejantes, sobre los que debemos efectuar una sucesión de operaciones
en cascada. La figura muestra de forma gráfica el concepto de paralelismo de flujo.
EJECUCIÓN 1 EJECUCIÓN 2 EJECUCIÓN 3
Datos

Cálculos (recursos)
CLASE DE COMPUTADORAS PARALELAS:
Las computadoras paralelas se pueden clasificar de acuerdo con el nivel en el que el
hardware soporta paralelismo.

• 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 súper escalares 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.

An AMD Athlon X2 6400+ dual- An Intel Core 2 Duo E6750 dual-


An Intel i7 con 4 nucleos
core processor core processor
CLASE DE COMPUTADORAS PARALELAS:
An AMD Athlon X2 6400+ dual-core processor FUNCIONAMIENTO

CPU core 1 CPU core 2

L1 Caches L1 Caches

Núcleo Núcleo

Bus
Interface

L2 Caches

LÓGICA GENERAL

ALBINO HUERTAS EDER ALBERTO


CLASE DE COMPUTADORAS PARALELAS:
An Intel Core 2 Duo E6750 dual-core processor FUNCIONAMIENTO
F L F L

CPU core 1 CPU core 2

L1 Caches L1 Caches

Núcleo Núcleo

Hyper- Bus
Threading (Es Interface
una patente
de INTEL) L2 Caches

LÓGICA GENERAL

ALBINO HUERTAS EDER ALBERTO


CLASE DE COMPUTADORAS PARALELAS:
CORE i7 DE CUATRO NUCLEOS

NIVEL NIVEL
2 CORE 0 CORE 2 2
CACHE CACHE

NIVEL NIVEL
2 CORE 1 CORE 3 2
CACHE CACHE

NIVEL 3 CACHE

ALBINO HUERTAS EDER ALBERTO


CLASE DE COMPUTADORAS PARALELAS:
• Multiprocesamiento simétrico

Un multiprocesador simétrico (SMP) es un sistema computacional con múltiples procesadores


idénticos que comparten memoria y se conectan a través de un bus. La contención del bus
previene el escalado de esta arquitectura.

CPU 1 CPU 2 CPU N-1 CPU N

Cache 1 Cache 2 Cache N-1 Cache N

MEMORIA COMPARTIDA
ALBINO HUERTAS EDER ALBERTO
CLASE DE COMPUTADORAS PARALELAS:
PROBLEMA DE CUELLO DE BOTELLA

CPU 1 CPU 2 CPU N-1 CPU N

Cache 1 Cache 2 Cache N-1 Cache N

MEMORIA COMPARTIDA

ALBINO HUERTAS EDER ALBERTO


CLASE DE COMPUTADORAS PARALELAS:
• Computación en clúster
Un clúster es un grupo de ordenadores débilmente acoplados que trabajan en estrecha
colaboración, de modo que en algunos aspectos pueden considerarse como un solo equipo. Los
clústeres se componen de varias máquinas independientes conectadas por una red.

Ordenador Ordenador Ordenador ALTO


1 2 3 RENDIMIENTO
Y FEXIBILIDAD

A la expresión mas
grande se le conoce
como Computación
Ordenador Ordenador Ordenador distribuida(mediant
4 5 6 e Internet)
CLASE DE COMPUTADORAS PARALELAS:
• Cómputo de propósito general en unidades de
procesamiento gráfico (GPGPU).
El cómputo de propósito general en las unidades de procesamiento de gráficos (GPGPU) es una
tendencia relativamente reciente en la investigación de ingeniería informática. Los GPUs son
coprocesadores que han sido fuertemente optimizados para procesamiento de gráficos por
computadora.
CPU COMPARACIÓN GPU
La GPU actúa como
un coprocesador y
puede acelerar las
aplicaciones gracias a
su enorme potencia
de procesamiento
paralelo en
comparación con el
diseño de núcleo
Multiples Cores Hundreds of Cores múltiple de las CPU.

ALBINO HUERTAS EDER ALBERTO


CLASE DE COMPUTADORAS PARALELAS:
CPU GPU

CALCULO Y PROCESAMIENTO
PROCESAMIENTO COPERATIVO
GRAFICO

ALBINO HUERTAS EDER ALBERTO


TENDENCIAS Y APLICACIONES DE
LAS ARQUITECTURAS PARALELAS:
VIRTUALIZACIÓN
Es una técnica de simulación de sistemas y computadoras virtuales.

ALBINO HUERTAS EDER ALBERTO


TENDENCIAS Y APLICACIONES DE LAS ARQUITECTURAS PARALELAS: Maquina
física
VIRTUALIZACIÓN Y SU FUNCIONAMIENTO potente

Maquina Maquina
virtual 1 virtual 2

Maquina
virtual 3 Maquina
virtual 4
TENDENCIAS Y APLICACIONES DE
LAS ARQUITECTURAS PARALELAS:
APLICACIÓN DE GOOGLE

CUANDO FALLA O ESTAN SATURADOS SUS SERVIDORES

ALBINO HUERTAS EDER ALBERTO


TENDENCIAS Y APLICACIONES DE LAS ARQUITECTURAS PARALELAS:

FUNCIONAMIENTO DE SU USO
SERVIDORES EN AMERICA

S1
Solicitud
S2

Solicitud Solicitud S3

S4

ALBINO HUERTAS EDER ALBERTO


TENDENCIAS Y APLICACIONES DE LAS ARQUITECTURAS PARALELAS:

DATOS DE INTERES En el 2007

La Nasa cuenta con 1024 procesadores de doble núcleo proveídos por


Intel, 4TB de memoria RAM y 240TB de almacenamiento, el ordenador
fue construido por la empresa SGI Altix, correrá bajo Linux. Con
velocidad de cálculo 42.7 teraflops

SI ESA CAPACIDAD CONTABA ENTRE LOS AÑOS 2007 Y 2008

¿Tan solo imaginemos que con capacidad cuenta


ahora?

ALBINO HUERTAS EDER ALBERTO


TENDENCIAS Y APLICACIONES DE LAS ARQUITECTURAS PARALELAS:

TENDENCIA FUTURA
ARQUITECTURAS PARALELAS A NIVEL CUÁNTICO
UNIDAD Quantunbit(En vez de bit)

Quantunbit 1 Quantunbit 2

ALBINO HUERTAS EDER ALBERTO

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