Introducción A La Programación Paralela

Páginas: 13 (3016 palabras) Publicado: 2 de febrero de 2013
Introducción a la programación paralela

1

¿Qué es la computación secuencial?

Modelo de programación secuencial: •Un único procesador (CPU)‫‏‬ •Un problema planteado en términos de secuencia de instrucciones simples •El procesador ejecuta las instrucciones estrictamente en las secuencia especificada por el programador •Sólo una instrucción se ejecuta cada vez (???)‫‏‬
2

¿Qué es lacomputación paralela?

Modelo de computación paralela •Múltiples procesadores •El problema es troceado en partes que pueden resolverse concurrentemente •Cada parte es resuelta de una manera secuencial
3

Programa Paralelo
Tarea A
Acción 1

Tarea B
Acción 1 Acción 2 Acción 3 Acción 4 Sincronización Acción 5 Acción 6

Tarea C
Acción 1

Acción 2
Acción 3 SincronizaciónSincronización
Acción 2 Acción 3

Acción 4
Acción 5 Acción 6

Acción 4
Acción 5 Acción 6

4

Diseño de un Algoritmo Paralelo
• Distribución del Trabajo en un conjunto de tareas
Planificación de los puntos de sincronización.



5

Diseño (granularidad)‫‏‬

1 ut.

1 ut.

...

1 ut.

n ut.

t ut.

t ut.

t ut.

Tseq=N Tpar=Tseq/N + Tañadido=

6

Problemasparalelizables
• Posibilidad de ser troceado en tareas • Que las tareas puedan desarrollarse concurrentemente ( con un mínimo de interacciones)‫‏‬
– Muchos eventos complejos interrelacionados que suceden simultáneamente
• • • • • • Predicción del clima, simulación atmósfera Reacciones nucleares y químicas Estudio del Genoma humano Estudio de actividades sísmicas Simulación de dispositivos mecánicos Diseño ysimulación de circuitos electrónicos.
7

Otros tipos de problemas
• Tratamiento de grandes cantidades de datos, o computación intensiva:
– Bases de datos: búsquedas y recuperación – Exploraciones petrolíferas – Motores de búsqueda en web – Diagnósticos médicos – Tratamiento de gráficos, realidad virtual – Edición de video y tecnologías multimedia.
8

¿Por qué usar computación paralela?• Tres principales necesidades:
– Mejorar el tiempo de ejecución de una determinada tarea. – Tratar problemas con gran dominio de datos (datos distribuidos)‫‏‬ – Simple necesidad de concurrencia (hacer cosas simultáneamente)‫‏‬

9

Otras razones
• Utilizar recursos externos para suplir carencias (discos, capacidad de computación...)‫‏‬ • Reducir costes aprovechando las capacidades de unnúmero de máquinas con recursos reducidos (sistema de archivo virtual distribuido)‫‏‬

10

Límites de la computación secuencial.
• Acercamiento al los límites físicos de integración
– Escala molecular

• y velocidad de transferencia
– 30cm/ns es el tope de velocidad (luz) que es posible lograr (9cm/ns en cables de cobre)‫‏‬

11

Uso de la programación paralela
• Estos límites quehacen que las mejoras progresivas de los procesadores van siendo cada vez menos espectaculares lo que lleva a pensar en la duplicación de recursos: • hyper thread, Corel duo, corel quad, Terascale
– Compiladores con directivas y opciones de compilación paralela
12

Conceptos y terminología
• Arquitectura von Neumann
– Programa almacenado – Memoria datos y programa – Ejecución secuencial

13 14

Simple Instrucción, Simple Dato
• Incluye a los computadores secuenciales • Ejecución completamente determinista • En cada ciclo de reloj solo una instrucción en ejecución y un único flujo de movimiento de datos de la memoria para “alimentar”‫‏‬esa‫‏‬ instrucción
15

Simple Instrucción, Múltiple Dato

• Todas las Unidades de Proceamiento ejecutan la misma instrucción • Cada UPpuede trabajar sobre datos distintos • Podrían denominarse vectoriales porque favorecen este tipo de estructuras de datos
16

Múltiple Instrucción, Simple dato
• Un mismo dato alimenta a múltiples unidades funcionales ejecutando diferentes instrucciones • Nunca han existido máquinas comerciales con esta configuracion.

• Podría concebirse como un array de UP con datos fluyendo de unas...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programación en paralelo
  • Introducción a la programación
  • Introducción A La Programacion
  • introducción a la programacion
  • Introduccion A La Programacion
  • INTRODUCCION A LA PROGRAMACION
  • Introducción a la Programación
  • Introducción A La Programación O. O.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS