Ejercicios de computación paralela

7

description

Ejercicios de computación paralela

Transcript of Ejercicios de computación paralela

Prueba 1 (2/2012): Computacion ParalelaDepartamento de Ingenierıa Informatica, USACHProfesores: Mauricio Marın, Manuel Manriquez, Alonso Inostrosa

1. Considere las siguientes tablas de una base de datos relacional para vuelos nacionales:

(V) VUELOS( codigo, origen, destino )

(R) RESERVAS( rut, codigo, fecha, hora )

(S) PASAJEROS( rut, nombre, correo, telefono )

La consulta (1) “pasajeros que han volado a todas las ciudades”, se puede resolver con lassiguientes expresiones del algebra relacional secuencial:

Costo peor casoT1 ← πdestino(V ) O( |V | )T2 ← V ✶ R O( |V | · |R| )T3 ← πrut,destino(T2) O( |R| )

T4 ← T3 ÷ T1 O( |R| · |V | )print πnombre(T4 ✶ S) O( |S| · |S| )

Se pide describir un algoritmo BSP que sea capaz de resolver la misma consulta en paraleloutilizando tiempo asintotico

|V |+ |S|+|V |

P+|V | · |R|

P+|S|2

P 2+ ( |V |+ |S|+ P ) · g + ℓ

donde las tuplas de las tablas estan distribuidas utilizando las reglas de precedencia rut

mod P = pid y codigo mod P= pid, y el procesador 0 recibe el comando y reune losresultados para responder al usuario. La solucion esta dada por la secuencia de superstepspresentada en la Tabla 1.

La consulta (2) “las ciudades a las que ha viajado la persona con rut= 1111-1”, sepuede resolver con las siguientes expresiones del algebra relacional secuencial:

Costo peor casoT1 ← πcodigo(σrut=1111−1(R)) O( |R| )

print πdestino(V ✶ T1) O( |V | · |Nd| )

Se pide describir un algoritmo BSP que sea capaz de resolver la misma consulta en paraleloutilizando tiempo asintotico

Nd +|R|

P+|V | · |Nd|

P 2+ Nd · g + ℓ

donde Nd es el total de ciudades destino. La solucion esta dada por la secuencia de su-persteps presentada en la Tabla 2.

Supersteps Costo asintotico

SStep 1:El procesador 0 recibe el comando y lo envıa a todoslos procesadores

P · g + ℓ

SStep 2:Cada procesador pid ejecuta lo siguiente:

T pid0← πcodigo,destino(V pid) |V |/P

Broadcast( T pid0

) |V | · g + ℓ

SStep 3:Cada procesador pid ejecuta lo siguiente:

T0 ← ∪P−1

pid=0T pid

0|V |

T1 ← πdestino(T0) |V |

T pid2← T0 ✶ Rpid |V | · (|R|/P )

T pid3← πrut,destino(T pid

2) |R|/P

T pid3b ← T pid

3÷ T1 (|R|/P ) · |V |

T pid4← πnombre(T pid

3b ✶ S ) (|S|/P )2

Send( 0, T pid4

) |S| · g + ℓ

SStep 4:

T4 ← ∪P−1

pid=0T pid

4|S|

print T4

Tabla 1: Solucion a pregunta 1.1

Supersteps Costo asintotico

SStep 1:Procesador 0 envıa 1111-1 al procesador que contieneel rut: Send( number(“1111-1”) mod P , “1111-1”)

g + ℓ

SStep 2:Procesador pid = number(“1111-1”) mod P ejecuta losiguiente:

T1 ← πcodigo(σrut=1111-1(R pid ) ) |R|/P

Divide T1 en P partes T i1

usando i = codigo mod P . |Nd|for( i = 0→ P − 1 ) Send( i, T i

1) |Nd| · g + ℓ

SStep 3:Cada procesador pid ejecuta lo siguiente:

T pid2← πdestino(V pid

✶ T pid1

) (|V |/P ) · (Nd/P )

Send( 0, T pid2

) |Nd| · g + ℓ

SStep 4:

T2 ← ∪P−1

pid=0T pid

2|Nd|

print T2

Tabla 2: Solucion a pregunta 1.2

Supersteps Costo asintotico

SStep 1:Cada procesador hace lo siguiente:

Ordena sus listas de adyacencia. (N/P ) · L · log LCalcula deltas en cada lista. (N/P ) · LCalcula frecuencias. (N/P ) · LBroadcast( tabla simbolos T pid). D · P · g + ℓ

SStep 2:Cada procesador recibe una tabla de tamano D y cal-cula las frecuencias globales: T = ∪P−1

pid=0T pid.

D · P

Cada procesador ordena las frecuencias. D · log DCada procesador asigna los sımbolos a cada delta. DCada procesador recorre sus listas y reemplaza sus del-tas por los sımbolos.

(N/P ) · L

Tabla 3: Solucion a pregunta 2 (compresion delta de grafos)

2. Se tiene un grafo representado con listas de adyacencia donde cada nodo con su listaesta distribuido utilizando la regla id nodo mod P = pid. Se pide fromular un algoritmode compresion delta a las listas. Cada lista es ordenada por id nodo y luego representadacon la diferencia entre el nodo actual y el nodo anterior. Por ejemplo,

(10)→ (8) (15) (20) (28) (33) (38) (39)(10)→ (8) (7) (5) (8) (5) (5) (1)

Luego se determinan los delta mas frecuebres y se ordenan de mayor a menor frecuencia.Luego se asigna un sımbolo de pocos bits a cada delta en orden de frecuencia de maneraque el delta mas frecuente queda representado con menos bits y menos frecuente con masbits.

delta frec bits5 3 008 2 017 1 10 001 1 10 012 1 11 003 1 11 01

Se debe demostrar que el costo total asintotico requerido para comprimir el grafo utilizandoparalelismo BSP esta dado por la siguiente expresion

N

P· L · log L + 3 ·

N

P· L + D · log D + (P + 1) ·D + D · P · g + ℓ

donde N es el total de listas de adyacencia, D el tamano de la tabla de sımbolos y L ellargo promedio de las listas de adyacencia. La solucion se encuentra en la Tabla 3.