Programación Paralela
Introducción:
Tiempo en
paralelo
Tiempo en
Secuencial
1 procesador
4 procesadores
tiempo
EsquemaIdealdelaparalelización
Suponiendoquetodoslosprocesadoresllevanacaboelmismo
tipoynúmerodeoperaciones,eltiempodeejecucióndeun
programaparalelosería:t/ncont=tiempodeejecución
secuencialyn=númerodeprocesadoresdisponibles
Introducción:
EsquemaREALdelaparalelización
Existendependenciassecuencialesentrelasvariablesdel
programa,portantolaunidaddeparalelizaciónsonlas
entidadesqueencapsulaninstruccionesynolasinstrucciones
porsímismas.
Tiempo en
paralelo
Tiempo en
Secuencial
1 procesador
4 procesadores
tiempo
Programación Paralela
Introducción:
FactorSpeedUpoAceleración:
•Tsec:Tiempodeejecucióndelprogramasecuencial
•Tpar:Tiempodeejecucióndelprogramaparalelo
Programación Paralela
SpeedUp=
T
sec
T
par
Introducción:
FactorSpeedUpoAceleración:
CONSIDERACIONES:
1.Sedebeutilizarelmejoralgoritmosecuencialconocido(del
problemaaresolver).
2.Deberáserportantoelalgoritmosecuencialmásrápidoque
puedaejecutarseenunsoloprocesador.
3.Elalgoritmoutilizadoparalaprogramaciónparalelasueleser
diferente.
Programación Paralela
SpeedUp=
T
sec
T
par
Ley de Amdahl:
Programación ParalelaLey de Amdahl
0
2
4
6
8
10
12
14
16
18
20
4 8 12 16 20
Número de procesadores P
Factor de cota superior de
SpeedUp S(P)
f=0
f=0.05
f=0.10
f=0.20
Ley de Amdahl:
LacotasuperiordelSpeedUpmejoraamedidaqueseaumentael
númerodeprocesadores
Conunnúmeroinfinitodeprocesadores,elmáximospeedUpque
sepuedealcanzarestalimitadopor1/f
Programación Paralela
limS(p)
p →
=
1
f
CPU Memoria CPU Memoria
RED DE INTERCONEXION
CPU Memoria CPU Memoria
TAXONOMÍA:
MultiprocesadoresdeMemoriaDistribuida:Computadoradonde
lamemoriadelsistemaestadistribuidaentretodoslos
procesadoresdelsistema,usandodelpasodemensajesparala
comunicaciónentrelosprocesadores
Programación Paralela
Memoria
CPU CPU
RED DE INTERCONEXION
CPU CPU
Mem
CPU CPU
RED DE INTERCONEXION
CPU CPU
Mem Mem Mem
Fig. I.5. (a) Modelo NUMA Fig. I.5. (b) Modelo UMA
TAXONOMÍA:
MultiprocesadoresdeMemoriaCompartida:Multicomputadoras
dondetodoslosprocesadoresaccedenatodalamemoria.Silos
procesadoresaccedenalamemoriaenuntiempouniforme,
entoncessetieneelmodeloNUMA,delocontrario,estaremos
conunmodeloUMA.
Programación Paralela
Memoria
Switch local
I/O
CPU CPU
Nodo
Memoria
Switch local
I/O
CPU CPU
Nodo
RED DE INTERCONEXION GLOBAL
TAXONOMÍA:
MultiprocesadoresdeMemoriaCompartidaDistribuida:
Computadoradondelamemoriaestafísicamenterepartidaentre
losnodosdelsistemacompuestopor2procesadoresc/uysolo
hayunespaciodedireccionesytodoslosprocesadoresaccedena
todalamemoria.
Programación Paralela
Clasificaciónde Michael Flynn:
Programación Paralela
MIMD
SIMD
Mybrid
MISD
Multiprocesadores
Procesadores de Arrays
Procesadores de Vector Pipeline
Procesadores de Vector Pipeline
Arrays Sistólicos
Máquinas SIMD-MIMD
Máquinas MIMD-SIMD
Multicomputadores
Máquinas de flujos de datos
Arquitectura SISD(Simple InstructionStream, Simple Data
Stream):
Programación Paralela
Procesador
Instrucciones
Datosde
Entrada
Datosde
Salida
La ArquitecturaSISD
Arquitectura SISD(Simple InstructionStream, Simple Data
Stream):
Programación Paralela
Arquitectura SIMD(Simple InstructionStream, MultipleData
Stream):
Programación Paralela
Flujo de
Instrucción
Procesador
A
Flujo de
Entrada de
Datos A
Flujo de Salida de
Datos A
Flujo de
Entrada de
Datos B
Flujo de
Entrada de
Datos C
Procesador
B
Procesador
C
Flujo de Salida de
Datos B
Flujo de Salida de
Datos C
La Arquitectura SIMD
Arquitectura MISD(MultipleInstructionStream, SingleData
Stream):
Programación Paralela
Flujo de
Instrucciones A
Procesador
A
Flujo de
Entrada de
Datos
Procesador
B
Procesador
C
Flujo de
Salida de
Datos B
La Arquitectura MISD
Flujo de
Instrucciones B
Flujo de
Instrucciones C
Arquitectura MIMD(MultipleInstructionStream, MultipleData
Stream):
Programación Paralela
Flujo de
Instrucciones A
Procesador
A
Flujo de
Entrada de
Datos A
Procesador
B
Procesador
C
Flujo de
Salida de
Datos B
La Arquitectura MIMD
Flujo de
Instrucciones B
Flujo de
Instrucciones C
Flujo de
Entrada de
Datos B
Flujo de
Entrada de
Datos C
Flujo de
Salida de
Datos A
Flujo de
Salida de
Datos C
Memoria
del sistema
A
Procesador
A
Procesador
B
Procesador
C
Bus de
memoria
Bus de
memoria
Bus de
memoria
MemoriadistribuidaenmáquinasMIMD
Memoria
del sistema
B
Memoria
del sistema
C
Arquitectura MIMD:
Programación Paralela
Sistema de Memoria Global
Procesador
A
Procesador
B
Procesador
C
Bus de
memoria
Bus de
memoria
Bus de
memoria
MemoriacompartidaenmáquinasMIMD
Arquitectura MIMD:
Programación Paralela
Programación Paralela
Diseño y Comportamiento:
FarmsoGranjas:Formadasde
unconjuntodeprocesos
trabajadoresyunproceso
controlador.Lostrabajadores
seejecutanenparalelohasta
alcanzarunobjetivocomúny
elcontroladordistribuyeel
trabajoycontrolaelprogreso
delcómputoglobal.
Proceso
Trabajador
Farmcon un proceso controlador y 5 procesos trabajadores
Proceso
Trabajador
Proceso
Trabajador
Proceso
Trabajador
Proceso
Trabajador
Proceso
Controlador
Patronesdecomunicaciónparalela: