SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
ALGORITMOS PARALELOS
Tema 1: Introducción a la
Computación Paralela

• Necesidad de la computación paralela
• ¿Qué es la programación paralela?
• Modelos de computadores
• Evaluación de los computadores paralelos

Introducción a la Computación Paralela

1
Necesidad de la Computación Paralela
• La velocidad de los computadores secuenciales
convencionales se ha incrementado continuamente para
adaptarse a las necesidades de las aplicaciones
• Simultáneamente hay una demanda continua de un poder
computacional superior
– Modelado y simulación numérica de problemas en ciencias e
ingeniería
– Costosos cálculos iterativos sobre grandes cantidades de
datos y fuertes restricciones temporales:
– Ejemplos:
predicción
meteorológica,
biocomputación,
astrofísica
– Son sistemas cada vez más complejos que requieren mayor
tiempo de cómputo
Introducción a la Computación Paralela

2
Necesidad de la Computación Paralela

Introducción a la Computación Paralela

3
Necesidad de la Computación Paralela

Introducción a la Computación Paralela

4
Necesidad de la Computación Paralela
Global Weather Forecasting Example
•

Suppose whole global atmosphere divided into cells of size 1
mile × 1 mile × 1 mile to a height of 10 miles (10 cells
high) - about 5 × 108 cells.

•

Suppose each calculation requires 200 floating point
operations. In one time step, 1011 floating point operations
necessary.

•

To forecast the weather over 7 days using 1-minute
intervals, a computer operating at 1Gflops (109 floating
point operations/s) takes 106 seconds or over 10 days.

•

To perform calculation in 5 minutes requires computer
operating at 3.4 Tflops (3.4 × 1012 floating point

operations/sec).
Introducción a la Computación Paralela

5
Necesidad de la Computación Paralela
Modeling Motion of Astronomical Bodies
• Each body attracted to each other body by
gravitational forces. Movement of each body predicted
by calculating total force on each body.
• With N bodies, N - 1 forces to calculate for each
body, or approx. N2 calculations. (N log2 N for an
efficient approx. algorithm.)
• After determining new positions of bodies,
calculations repeated.
• A galaxy might have, say, 1011 stars.
• Even if each calculation done in 1 ms (extremely
optimistic figure), it takes 109 years for one
iteration using N2 algorithm and almost a year for one
iteration using an efficient N log2 N approximate
algorithm.
Introducción a la Computación Paralela

6
Necesidad de la Computación Paralela
• Siempre habrá aplicaciones que requieren más poder
computacional
• La relación coste/prestaciones se hace desfavorable si se
pretende incrementar más aún la potencia de los
computadores secuenciales.
• Además, el rendimiento de los computadores secuenciales
está comenzando a saturarse.
• En todo caso hay límites para una única CPU
– Memoria disponible
– Prestaciones

• Solución: Usar varios procesadores. Sistemas paralelos
Con la tecnología VLSI, el costo de los procesadores es menor.
Introducción a la Computación Paralela

7
Necesidad de la Computación Paralela
• Solución: Usar varios procesadores. Sistemas paralelos
Con la tecnología VLSI, el costo de los procesadores es menor.

• Muchas posibilidades:
–
–
–
–
–
–
–

Pipeline
Cachés
Paralelismo a nivel de instrucción
Ejecución fuera de orden
Especulación
Varios procesadores en un chip
LAN de altas prestaciones
Introducción a la Computación Paralela

8
¿Qué es la programación paralela?
• Uso de varios procesadores trabajando juntos para
resolver una tarea común
• El modo de uso de los procesadores puede ser
diseñado por el programador:
– Cada procesador trabaja en una porción del
problema.
– Los procesos pueden intercambiar datos, a
través de la memoria o por una red de
interconexión.
Introducción a la Computación Paralela

9
Ventajas de la Computación Paralela
• La programación paralela permite:
– Resolver problemas que no caben en una CPU
– Resolver problemas que no se resuelven en un
tiempo razonable
• Se pueden ejecutar
– Problemas mayores
– Más rápidamente (aceleración)
– Más problemas
Introducción a la Computación Paralela

10
Conceptos relacionados pero no iguales
• Programación concurrente:
Varios procesos trabajando en la solución de un problema,
puede ser paralela (varios procesadores)
• Computación heterogénea:
Varios procesadores con características distintas
• Programación adaptativa:
Durante la ejecución el programa se adapta a las
características del sistema
• Programación distribuida:
Varios procesadores geográficamente distribuidos. Hay
paso de mensajes pero se necesita infraestructura especial
• Computación en la web:
Necesidad de herramientas que permitan la utilización de
sistemas de computación en la web
• Computación cuántica o biológica
Introducción a la Computación Paralela

11
Aspectos a considerar
Aspectos a tener en cuenta en la computación paralela son:
• Diseño de computadores paralelos. Escalabilidad y
Comunicaciones.
• Diseño de algoritmos eficientes. No hay ganancia si los
algoritmos no se diseñan adecuadamente.
• Métodos para evaluar los algoritmos paralelos: ¿Cómo de
rápido se puede resolver un problema usando una máquina
paralela? ¿Con qué eficiencia se usan esos procesadores?
• Lenguajes para computadores paralelos, flexibles para
permitir una implementación eficiente y que sean fáciles de
programar.
• Herramientas para la programación paralela.
• Programas paralelos portables.
• Compiladores paralelizantes.
Introducción a la Computación Paralela

12
Tipos de computadores
Tipos de computadores según la taxonomía de Flynn
• SISD: Computador secuencial. Un procesador y
una memoria. Computador secuencial.
• SIMD: Máquina con varios procesadores pero una
única Unidad de Control. Computador vectorial.
• MIMD: Máquina con varios procesadores
“completos”. Computador paralelo.

Introducción a la Computación Paralela

13
Computador secuencial: SISD

Introducción a la Computación Paralela

14
Computador “paralelo” : SIMD
•

SIMD. Una única Unidad de Control. La misma instrucción se
ejecuta síncronamente por todas las unidades de procesamiento.
Sincronización automática. Requiere menos hardware porque
sólo necesita una U.C global y menos memoria porque tiene una
sola copia del programa.

Introducción a la Computación Paralela

15
Computador paralelo: MIMD
• MIMD. Cada procesador ejecuta un programa diferente
independientemente de los otros procesadores.

Introducción a la Computación Paralela

16
Tipos de computadores paralelos
P

P

P

P

P

P

P

P

P

P

P

P

M

M

M

M

M

M

BUS
M em o r y

Memoria compartida – un único
espacio de memoria. Todos los
procesadores tienen acceso a la
memoria a través de una red de
conexión:
- Bus
- Red de barras cruzadas
- Red multietapa

Network

Memoria distribuida – cada
procesador tiene su propia memoria
local. Se utiliza paso de mensajes
para intercambiar datos.

MULTICOMPUTADOR

MULTIPROCESADOR
Introducción a la Computación Paralela

17
Comp.Paralelos de memoria compartida
P

P

P

BUS
Memory

P

Uniform memory access (UMA)
Cada procesador tiene acceso uniforme
a memoria. También se llaman
symmetric multiprocessors (SMPs)

P

P

P

P

P

P

P

BUS

Non-uniform memory access (NUMA)
El tiempo de acceso depende de dónde
están los datos. El acceso local es más
rápido. Más fácil y barato de escalar
que SMPs

BUS

Memory

P

Memo ry
Netwo rk

Introducción a la Computación Paralela

18
Sistemas de memoria compartida
Redes basadas en buses.
Cuando un procesador necesita acceso global a memoria, genera
una solicitud al bus.
Esta red es atractiva, dada su simplicidad y capacidad para
proporcionar acceso uniforme a la memoria compartida.
Pero el bus sólo puede llevar una determinada cantidad de datos
entre la memoria y los procesadores.
El rendimiento se satura para un número pequeño de
procesadores.
Si los procesadores disponen de memorias locales caché se puede
solventar el problema.
Introducción a la Computación Paralela

19
Sistemas de memoria compartida
Memories

Redes de barras cruzadas.
Utiliza una red de conmutadores.
Processors

Switches

Conecta p procesadores
con b módulos de memoria.
El número total de conmutadores requeridos es Θ(pb).
Conforme crece p, la complejidad de la red aumenta según Ω
(p2).
Por tanto no son muy escalables en términos de coste.
Introducción a la Computación Paralela

20
Sistemas de memoria compartida
Redes de interconexión multietapa.
Es un tipo de red intermedia en términos de escalabilidad en
costo y rendimiento.
2 ´ 2 switch elements
(straight-through or
Conecta p elementos
crossover connections)
con otros p elementos.
000
001
010
011
Inputs

000
001
010
011
Outputs

100
101

100
101

110
111

110
111
Introducción a la Computación Paralela

21
Problemas de los sistemas UMA
• Los sistemas UMA no escalan bien
– Los sistemas basados en bus se pueden saturar.
– Una red de barras cruzadas grande puede ser muy
cara.
• Problema de la coherencia de caché
– Puede haber copia de una variable en varias cachés
– Cuando un procesador escribe puede no ser visible
al resto
– Es necesario asegurar la visibilidad o la coherencia
de caché

Introducción a la Computación Paralela

22
Ejemplo NUMA: SGI Origin 2000

Introducción a la Computación Paralela

23
Comp.Paralelos con memoria distribuida
• En esta arquitectura, el computador paralelo es
esencialmente una colección de procesadores
secuenciales, cada uno con su propia memoria local, que
pueden trabajar conjuntamente.
• Cada nodo tiene rápido acceso a su propia memoria y
acceso a la memoria de otros nodos mediante una red de
comunicaciones, habitualmente una red de comunicaciones
de alta velocidad.
• Los datos son intercambiados entre los nodos como
mensajes a través de la red.
P

P

P

P

P

P

M

M

M

M

M

M

Network
Introducción a la Computación Paralela

24
Comp.Paralelos con memoria distribuida
Redes de ordenadores
• Una red de ordenadores, especialmente si disponen de una
interconexión de alta velocidad, puede ser vista como un
multicomputador de memoria distribuida y como tal ser
utilizada para resolver problemas mediante computación
paralela.
P

P

P

P

P

P

M

M

M

M

M

M

Network

Introducción a la Computación Paralela

25
Topologías de interconexión

Topologías de interconexión estáticas
•Línea / Anillo

•Conexión completa

•Matriz 2-D (malla) / Toro

•Estrella

•Hipercubo

•Árbol
Introducción a la Computación Paralela

26
Topologías de interconexión

Introducción a la Computación Paralela

27
Topologías de interconexión

Introducción a la Computación Paralela

28
Topologías de interconexión

Introducción a la Computación Paralela

29
Topologías de interconexión

Introducción a la Computación Paralela

30
Topologías de interconexión estáticas
• Resumen de características

Introducción a la Computación Paralela

31
Topologías de interconexión

Introducción a la Computación Paralela

32

Más contenido relacionado

La actualidad más candente

Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosnathalyrivasdiaz
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteJosé Antonio Sandoval Acosta
 
Administración de la memoria virtual.
Administración de la memoria virtual.Administración de la memoria virtual.
Administración de la memoria virtual.Lely
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesosayreonmx
 
MEMORIA VIRTUAL
MEMORIA VIRTUALMEMORIA VIRTUAL
MEMORIA VIRTUALandresinf
 
Sistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosSistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosChiNo Sosa Erazo
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumannvictor medra
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosEmmanuel Fortuna
 
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)Juan Lopez
 
Los sistemas operativos de Red
Los sistemas operativos de Red Los sistemas operativos de Red
Los sistemas operativos de Red ANDINO2017
 
1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladores1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladoresJoOsee Kette
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpuIsaí Beto Matz Mijes
 

La actualidad más candente (20)

computación paralela
computación paralelacomputación paralela
computación paralela
 
Gestion de memoria en windows
Gestion de memoria en windowsGestion de memoria en windows
Gestion de memoria en windows
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Rendimiento del CPU
Rendimiento del CPURendimiento del CPU
Rendimiento del CPU
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
 
Administración de la memoria virtual.
Administración de la memoria virtual.Administración de la memoria virtual.
Administración de la memoria virtual.
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Administración de Memoria
Administración de MemoriaAdministración de Memoria
Administración de Memoria
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesos
 
MEMORIA VIRTUAL
MEMORIA VIRTUALMEMORIA VIRTUAL
MEMORIA VIRTUAL
 
Sistemas operativos centralizados
Sistemas operativos centralizadosSistemas operativos centralizados
Sistemas operativos centralizados
 
Sistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosSistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesos
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumann
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas Operativos
 
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
 
Sistema de archivos HPFS
Sistema de archivos HPFSSistema de archivos HPFS
Sistema de archivos HPFS
 
Los sistemas operativos de Red
Los sistemas operativos de Red Los sistemas operativos de Red
Los sistemas operativos de Red
 
1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladores1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladores
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpu
 

Similar a Computacion paralela (20)

Introducción a la Computacion paralela
Introducción a la Computacion paralelaIntroducción a la Computacion paralela
Introducción a la Computacion paralela
 
Diseño de Algoritmos Paralelos.pptx
Diseño de Algoritmos Paralelos.pptxDiseño de Algoritmos Paralelos.pptx
Diseño de Algoritmos Paralelos.pptx
 
Arqui hardware
Arqui hardwareArqui hardware
Arqui hardware
 
3 unidad so2
3 unidad so23 unidad so2
3 unidad so2
 
Computo Distribuído
Computo DistribuídoComputo Distribuído
Computo Distribuído
 
Segmentación
SegmentaciónSegmentación
Segmentación
 
Unidad IV
Unidad IVUnidad IV
Unidad IV
 
Diseño de Algoritmos Paralelos.pptx
Diseño de Algoritmos Paralelos.pptxDiseño de Algoritmos Paralelos.pptx
Diseño de Algoritmos Paralelos.pptx
 
Computador
ComputadorComputador
Computador
 
Computador y componentes
Computador y componentesComputador y componentes
Computador y componentes
 
Computador
ComputadorComputador
Computador
 
El computador y sus elementos
El computador y sus elementosEl computador y sus elementos
El computador y sus elementos
 
Computador
ComputadorComputador
Computador
 
Computador (1)
Computador (1)Computador (1)
Computador (1)
 
Computador
ComputadorComputador
Computador
 
Computador
ComputadorComputador
Computador
 
Computador
ComputadorComputador
Computador
 
Computador
ComputadorComputador
Computador
 
Computador
Computador Computador
Computador
 
Computador (1)
Computador (1)Computador (1)
Computador (1)
 

Último

PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfEDILIAGAMBOA
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfCarol Andrea Eraso Guerrero
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 

Último (20)

PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdf
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 

Computacion paralela

  • 1. ALGORITMOS PARALELOS Tema 1: Introducción a la Computación Paralela • Necesidad de la computación paralela • ¿Qué es la programación paralela? • Modelos de computadores • Evaluación de los computadores paralelos Introducción a la Computación Paralela 1
  • 2. Necesidad de la Computación Paralela • La velocidad de los computadores secuenciales convencionales se ha incrementado continuamente para adaptarse a las necesidades de las aplicaciones • Simultáneamente hay una demanda continua de un poder computacional superior – Modelado y simulación numérica de problemas en ciencias e ingeniería – Costosos cálculos iterativos sobre grandes cantidades de datos y fuertes restricciones temporales: – Ejemplos: predicción meteorológica, biocomputación, astrofísica – Son sistemas cada vez más complejos que requieren mayor tiempo de cómputo Introducción a la Computación Paralela 2
  • 3. Necesidad de la Computación Paralela Introducción a la Computación Paralela 3
  • 4. Necesidad de la Computación Paralela Introducción a la Computación Paralela 4
  • 5. Necesidad de la Computación Paralela Global Weather Forecasting Example • Suppose whole global atmosphere divided into cells of size 1 mile × 1 mile × 1 mile to a height of 10 miles (10 cells high) - about 5 × 108 cells. • Suppose each calculation requires 200 floating point operations. In one time step, 1011 floating point operations necessary. • To forecast the weather over 7 days using 1-minute intervals, a computer operating at 1Gflops (109 floating point operations/s) takes 106 seconds or over 10 days. • To perform calculation in 5 minutes requires computer operating at 3.4 Tflops (3.4 × 1012 floating point operations/sec). Introducción a la Computación Paralela 5
  • 6. Necesidad de la Computación Paralela Modeling Motion of Astronomical Bodies • Each body attracted to each other body by gravitational forces. Movement of each body predicted by calculating total force on each body. • With N bodies, N - 1 forces to calculate for each body, or approx. N2 calculations. (N log2 N for an efficient approx. algorithm.) • After determining new positions of bodies, calculations repeated. • A galaxy might have, say, 1011 stars. • Even if each calculation done in 1 ms (extremely optimistic figure), it takes 109 years for one iteration using N2 algorithm and almost a year for one iteration using an efficient N log2 N approximate algorithm. Introducción a la Computación Paralela 6
  • 7. Necesidad de la Computación Paralela • Siempre habrá aplicaciones que requieren más poder computacional • La relación coste/prestaciones se hace desfavorable si se pretende incrementar más aún la potencia de los computadores secuenciales. • Además, el rendimiento de los computadores secuenciales está comenzando a saturarse. • En todo caso hay límites para una única CPU – Memoria disponible – Prestaciones • Solución: Usar varios procesadores. Sistemas paralelos Con la tecnología VLSI, el costo de los procesadores es menor. Introducción a la Computación Paralela 7
  • 8. Necesidad de la Computación Paralela • Solución: Usar varios procesadores. Sistemas paralelos Con la tecnología VLSI, el costo de los procesadores es menor. • Muchas posibilidades: – – – – – – – Pipeline Cachés Paralelismo a nivel de instrucción Ejecución fuera de orden Especulación Varios procesadores en un chip LAN de altas prestaciones Introducción a la Computación Paralela 8
  • 9. ¿Qué es la programación paralela? • Uso de varios procesadores trabajando juntos para resolver una tarea común • El modo de uso de los procesadores puede ser diseñado por el programador: – Cada procesador trabaja en una porción del problema. – Los procesos pueden intercambiar datos, a través de la memoria o por una red de interconexión. Introducción a la Computación Paralela 9
  • 10. Ventajas de la Computación Paralela • La programación paralela permite: – Resolver problemas que no caben en una CPU – Resolver problemas que no se resuelven en un tiempo razonable • Se pueden ejecutar – Problemas mayores – Más rápidamente (aceleración) – Más problemas Introducción a la Computación Paralela 10
  • 11. Conceptos relacionados pero no iguales • Programación concurrente: Varios procesos trabajando en la solución de un problema, puede ser paralela (varios procesadores) • Computación heterogénea: Varios procesadores con características distintas • Programación adaptativa: Durante la ejecución el programa se adapta a las características del sistema • Programación distribuida: Varios procesadores geográficamente distribuidos. Hay paso de mensajes pero se necesita infraestructura especial • Computación en la web: Necesidad de herramientas que permitan la utilización de sistemas de computación en la web • Computación cuántica o biológica Introducción a la Computación Paralela 11
  • 12. Aspectos a considerar Aspectos a tener en cuenta en la computación paralela son: • Diseño de computadores paralelos. Escalabilidad y Comunicaciones. • Diseño de algoritmos eficientes. No hay ganancia si los algoritmos no se diseñan adecuadamente. • Métodos para evaluar los algoritmos paralelos: ¿Cómo de rápido se puede resolver un problema usando una máquina paralela? ¿Con qué eficiencia se usan esos procesadores? • Lenguajes para computadores paralelos, flexibles para permitir una implementación eficiente y que sean fáciles de programar. • Herramientas para la programación paralela. • Programas paralelos portables. • Compiladores paralelizantes. Introducción a la Computación Paralela 12
  • 13. Tipos de computadores Tipos de computadores según la taxonomía de Flynn • SISD: Computador secuencial. Un procesador y una memoria. Computador secuencial. • SIMD: Máquina con varios procesadores pero una única Unidad de Control. Computador vectorial. • MIMD: Máquina con varios procesadores “completos”. Computador paralelo. Introducción a la Computación Paralela 13
  • 14. Computador secuencial: SISD Introducción a la Computación Paralela 14
  • 15. Computador “paralelo” : SIMD • SIMD. Una única Unidad de Control. La misma instrucción se ejecuta síncronamente por todas las unidades de procesamiento. Sincronización automática. Requiere menos hardware porque sólo necesita una U.C global y menos memoria porque tiene una sola copia del programa. Introducción a la Computación Paralela 15
  • 16. Computador paralelo: MIMD • MIMD. Cada procesador ejecuta un programa diferente independientemente de los otros procesadores. Introducción a la Computación Paralela 16
  • 17. Tipos de computadores paralelos P P P P P P P P P P P P M M M M M M BUS M em o r y Memoria compartida – un único espacio de memoria. Todos los procesadores tienen acceso a la memoria a través de una red de conexión: - Bus - Red de barras cruzadas - Red multietapa Network Memoria distribuida – cada procesador tiene su propia memoria local. Se utiliza paso de mensajes para intercambiar datos. MULTICOMPUTADOR MULTIPROCESADOR Introducción a la Computación Paralela 17
  • 18. Comp.Paralelos de memoria compartida P P P BUS Memory P Uniform memory access (UMA) Cada procesador tiene acceso uniforme a memoria. También se llaman symmetric multiprocessors (SMPs) P P P P P P P BUS Non-uniform memory access (NUMA) El tiempo de acceso depende de dónde están los datos. El acceso local es más rápido. Más fácil y barato de escalar que SMPs BUS Memory P Memo ry Netwo rk Introducción a la Computación Paralela 18
  • 19. Sistemas de memoria compartida Redes basadas en buses. Cuando un procesador necesita acceso global a memoria, genera una solicitud al bus. Esta red es atractiva, dada su simplicidad y capacidad para proporcionar acceso uniforme a la memoria compartida. Pero el bus sólo puede llevar una determinada cantidad de datos entre la memoria y los procesadores. El rendimiento se satura para un número pequeño de procesadores. Si los procesadores disponen de memorias locales caché se puede solventar el problema. Introducción a la Computación Paralela 19
  • 20. Sistemas de memoria compartida Memories Redes de barras cruzadas. Utiliza una red de conmutadores. Processors Switches Conecta p procesadores con b módulos de memoria. El número total de conmutadores requeridos es Θ(pb). Conforme crece p, la complejidad de la red aumenta según Ω (p2). Por tanto no son muy escalables en términos de coste. Introducción a la Computación Paralela 20
  • 21. Sistemas de memoria compartida Redes de interconexión multietapa. Es un tipo de red intermedia en términos de escalabilidad en costo y rendimiento. 2 ´ 2 switch elements (straight-through or Conecta p elementos crossover connections) con otros p elementos. 000 001 010 011 Inputs 000 001 010 011 Outputs 100 101 100 101 110 111 110 111 Introducción a la Computación Paralela 21
  • 22. Problemas de los sistemas UMA • Los sistemas UMA no escalan bien – Los sistemas basados en bus se pueden saturar. – Una red de barras cruzadas grande puede ser muy cara. • Problema de la coherencia de caché – Puede haber copia de una variable en varias cachés – Cuando un procesador escribe puede no ser visible al resto – Es necesario asegurar la visibilidad o la coherencia de caché Introducción a la Computación Paralela 22
  • 23. Ejemplo NUMA: SGI Origin 2000 Introducción a la Computación Paralela 23
  • 24. Comp.Paralelos con memoria distribuida • En esta arquitectura, el computador paralelo es esencialmente una colección de procesadores secuenciales, cada uno con su propia memoria local, que pueden trabajar conjuntamente. • Cada nodo tiene rápido acceso a su propia memoria y acceso a la memoria de otros nodos mediante una red de comunicaciones, habitualmente una red de comunicaciones de alta velocidad. • Los datos son intercambiados entre los nodos como mensajes a través de la red. P P P P P P M M M M M M Network Introducción a la Computación Paralela 24
  • 25. Comp.Paralelos con memoria distribuida Redes de ordenadores • Una red de ordenadores, especialmente si disponen de una interconexión de alta velocidad, puede ser vista como un multicomputador de memoria distribuida y como tal ser utilizada para resolver problemas mediante computación paralela. P P P P P P M M M M M M Network Introducción a la Computación Paralela 25
  • 26. Topologías de interconexión Topologías de interconexión estáticas •Línea / Anillo •Conexión completa •Matriz 2-D (malla) / Toro •Estrella •Hipercubo •Árbol Introducción a la Computación Paralela 26
  • 27. Topologías de interconexión Introducción a la Computación Paralela 27
  • 28. Topologías de interconexión Introducción a la Computación Paralela 28
  • 29. Topologías de interconexión Introducción a la Computación Paralela 29
  • 30. Topologías de interconexión Introducción a la Computación Paralela 30
  • 31. Topologías de interconexión estáticas • Resumen de características Introducción a la Computación Paralela 31
  • 32. Topologías de interconexión Introducción a la Computación Paralela 32