Ejemplos del Dise - PowerPoint PPT Presentation

About This Presentation
Title:

Ejemplos del Dise

Description:

Ejemplos del Dise o de Algoritmos Paralelos (Transparencias de McGraw-Hill Modificadas) – PowerPoint PPT presentation

Number of Views:85
Avg rating:3.0/5.0
Slides: 38
Provided by: Micha896
Learn more at: https://pegasus.uprm.edu
Category:

less

Transcript and Presenter's Notes

Title: Ejemplos del Dise


1
Ejemplos del Diseño de Algoritmos Paralelos
  • (Transparencias de McGraw-Hill Modificadas)

2
Redución
  • Dado un operador asociativo ?,
  • computar a0 ? a1 ? a2 ? ? an-1
  • Ejemplos
  • suma
  • producto
  • And, Or
  • Máximo, Minimo

3
La Evolución de Reducción Paralela
Sea ? el tiempo para enviar un valor de una tarea
a otra. Sea ? el tiempo para sumar dos
valores. El tiempo total para esta solución
es (n-1)(? ?)
4
Evolución de Reducción Paralela 2
Tttitiempo i
Tiempo total para esta solución n/2(? ?)
5
Tiempo total para esta solución (n/41)(??)
6
Las comunicaciones para el caso
de n16
0
2
10
8
1
3
11
9
5
7
15
13
4
6
14
12
7
Determinar la Suma Global
4
2
0
7
-3
5
-6
-3
8
1
2
3
-4
4
6
-1
8
Determinar la Suma Global
1
7
-6
4
4
5
8
2
9
Determinar la Suma Global
8
-2
9
10
10
Determinar la Suma Global
17
8
11
Determinar la Suma Global
25
12
Aglomeración y Asignar Tareas a
Procesadores
0
2
10
8
Aglomerarar tareas para minimizar comunicaciones.
Tiempo de computación 3? Tiempo para
comunicaciones 2(??).
AA
Ag a
1
3
11
9
5
7
15
13
4
6
14
12
13
Aglomeración y Asignar Tareas a
Procesadores en General
  • La cantidad de tareas es estática
  • Cantidad de computaciones por tarea es constante
  • Patrones de comunicaciones regulares
  • En un caso asi, aglomeramos para minimizar
    comunicaciones. Asignar n/p tareas a cada uno de
    los procesadores.

14
Analisis de Reducción
  • En general,
  • Tiempo para las computaciones (?n/p? -1)? y
  • Tiempo para comunicaciones ?log p? (??),
    donde
  • ?x? es el entero menor que es mayor o igual a x.

15
Asignación(Ejericicio 3.7 del texto)
  • Usando el patron de comunicaciones ilustrado
    anteriormente, escribir un programa en C que
    describe las comunicaciones que se hacen por una
    tarea que participa en una reducción. Dada la
    cantidad n de tareas y el número de
    identificación i, donde 0iltn, el programa
    deberia imprimir una lista de todos los mensajes
    enviados y/ o recibidos por la tarea i. La lista
    debe indicar la destinación de todos los mensajes
    enviados y la fuente de todos los
  • mensajes recibidos.
  • Puede presumir que la cantidad de tareas es una
    potencia de 2.

16
Asignación (cont)
  • Por ejemplo, si n8 y i1, la salida debe ser
  • mensaje recibido de la tarea 0
  • mensaje enviado a la tarea 3

17
El Problema de n Cuerpos
(The n Body Problem)
  • Es el problema de determinar, dado las
    posiciones, masas, y velocidades de n cuerpos,
    sus mociones subsecuentes de acuerdo con la
    mecánica clásica.

18
El Problema de n Cuerpos
19
Particionar
  • Partición de dominio
  • Asumir una tarea por partículo
  • Cada tarea tiene la posición del partículo y su
    vector de velocidad
  • En cada iteración
  • se obtienen las posiciones de todos los otros
    partículos
  • Se computan la nueva posición y el nuevo vector
    de velocidad

20
La Operación Gather
Pone los datos de un conjunto de tareas en una
sola tarea.
21
La Operación All-gather
Pone los datos de un conjunto de tareas en cada
una de las tareas.
22
Grafo Completo para All-gather
En cada paso de comunicaciones, cada tarea manda
su posición a otra tarea. Al finalizar de n-1
pasos, cada tarea tendrá todas las posiciones.
23
La Hipercubo para All-gather
En este ejemplo, hay dos pasos de comunicaciones.
En el primer paso, los pares (0,1) y
(2,3)intercambian información y en el segundo
paso, los pares (0,2) y (1,3) intercambian
información.
24
Hipercubos
  • Un hipercubo de dimensión d es un grafo con n2d
    nodos númerados 0,1,,n-1 en binario tal que hay
    una arísta entre dos nodos i y j si y solo si i y
    j difieren en exactamente un bit.

25
Subcubos de Hipercubos
  • Númeramos los bits de un número binario,
    empezando desde la derecha hacia la izquierda,
    0,1,,d-1.
  • Un subcubo de dimensión e de un hipercubo de
    dimensión d es un subgrafo cuyos nodos tienen
    representaciones binarias que son constante en
    d-e posiciones de bit especificas.

26
All-gather en un hipercubo
  • Una comunicación en un hipercubo consiste de un
    intercambio de mensajes entre todos los pares de
    nodos cuyas representaciones binarias difieren en
    exactamente un bit.
  • All-gather se puede llevar a cabo en un hipercubo
    de dimensión d en d pasos de comunicación.

27
Aglomerar y Asignar Tareas a
Procesadores
6
7
14
15
Aglomerar tareas en subcubos para minimizar
comunicaciones. Asignar n/p tareas a cada uno de
p procesadores. Hay log p pasos de
comunicaciones.
AA
Ag a
4
5
12
13
2
3
10
11
0
1
8
9
28
Analisis de Tiempo
  • Hay log p pasos de comunicaciones.
  • En paso1, los mensajes son de largo n/p
  • En paso2, los mensajes son de largo 2n/p.
  • En paso3, los mensajes son de largo 4n/p.
  • . . .
  • En pasoi, los mensajes son de largo 2i n/p

29
Analisis de Tiempo
  • Sean ? el tiempo para iniciar un mensaje
  • ß la cantidad de datos que se pueden
  • enviar en una unidad de tiempo.
  • Luego ? n/ß es el tiempo que se necesita
    para mandar n datos.

30
Tiempo de Comunicación
31
Tiempo de Comunicaciones
32
Añadir Entradas/Salidas
33
Scatter
34
Scatter p elementos en log p pasos
  • Mandar la mitad a una tarea y la otra mitad a
    otra tarea
  • Cada tarea que recibio en el paso previo manda la
    mitad de sus elementos a una tarea inactiva y la
    otra mitad a otra tarea inactiva
  • .
  • Después despues de log p pasos cada tarea tendrá
    un element distinto de la entrada.

35
Resumen Modelo Tarea/canal
  • Computación Paralela
  • Conjunto de tareas
  • Interacciones por canales
  • Buen Diseños
  • Maximizar computaciones locales
  • Minimizar comunicaciones
  • Escabilidad

36
Resumen Pasos de Diseño
  • Particionar la computación
  • Aglomerar tareas
  • Mapear tareas a procesadores
  • Metas
  • Maximizar la utilización de procesadores
  • Minimizar las comunicaciones entre procesos

37
Resumen Algoritmos
Fundamentales
  • Reduction
  • Gather y scatter
  • All-gather
Write a Comment
User Comments (0)
About PowerShow.com