Вы находитесь на странице: 1из 7

Prueba 1 (2/2012): Computaci´on Paralela

Departamento de Ingenier´ıa Inform´atica, USACH

Profesores: 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 las siguientes expresiones del algebra relacional secuencial:

T 1 T 2 T 3 T 4 print

π destino (V ) V R

π rut,destino (T 2 ) T 3 ÷ T 1

π nombre (T 4 S )

Costo peor caso O ( |V | )

O ( |V | · |R | )

O ( |R | ) O ( |R | · |V | ) O ( |S | · |S | )

Se pide describir un algoritmo BSP que sea capaz de resolver la misma consulta en paralelo utilizando tiempo asint´otico

|V | + |S | + |V |

P

+

|V | · |R | + |S |

P

2

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

donde las tuplas de las tablas est´an distribuidas utilizando las reglas de precedencia rut mod P = pid y codigo mod P = pid, y el procesador 0 recibe el comando y reune los resultados para responder al usuario. La soluci´on est´a dada por la secuencia de supersteps presentada en la Tabla 1. La consulta (2) “las ciudades a las que ha viajado la persona con rut= 1111-1”, se puede resolver con las siguientes expresiones del algebra r elacional secuencial:

T 1 print

Costo peor caso

O ( |V | · |N d | )

π codigo (σ rut=11111 (R )) O ( |R | )

π destino (V T 1 )

Se pide describir un algoritmo BSP que sea capaz de resolver la misma consulta en paralelo utilizando tiempo asint´otico

N d + |R | + |V | · |N d |

P

P 2

+

N d · g +

donde N d es el total de ciudades destino. La soluci´on est´a dada por la secuencia de su- persteps presentada en la Tabla 2.

Supersteps Costo asint´otico SStep 1: El procesador 0 recibe el comando y lo env´ıa a
Supersteps
Costo asint´otico
SStep 1:
El procesador 0 recibe el comando y lo env´ıa a todos
los procesadores
P · g + ℓ
SStep 2:
Cada procesador pid ejecuta lo siguiente:
pid
T
0
← π codigo,destino (V pid )
pid
Broadcast( T
)
|V |/P
|V | · g + ℓ
0
SStep 3:
Cada procesador pid ejecuta lo siguiente:
P−1
pid
T 0 ← ∪
pid=0 T 0
T 1 ← π destino (T 0 )
pid
T
← T 0 ✶ R pid
|V |
|V |
|V | · (|R |/P )
2
pid
pid
T
)
3
← π rut,destino (T
2
pid
pid
T
← T
÷ T 1
|R |/P
(|R |/P ) · |V |
3b
3
pid
pid
T
✶ S )
4
← π nombre ( T
3b
pid
Send( 0, T
)
(|S |/P ) 2
|S | · g + ℓ
4
SStep 4:
P−1
pid
T 4 ← ∪
print T 4
|S |
pid=0 T 4

Tabla 1: Soluci´on a pregunta 1.1

Supersteps Costo asint´otico SStep 1: Procesador 0 env´ıa 1111-1 al procesador que contiene el rut:
Supersteps
Costo asint´otico
SStep 1:
Procesador 0 env´ıa 1111-1 al procesador que contiene
el rut: Send( number(“1111-1”) mod P , “1111-1”)
g + ℓ
SStep 2:
Procesador pid = number(“1111-1”) mod P ejecuta lo
siguiente:
|R |/P
T 1 ← π codigo ( σ rut=1111-1 ( R pid ) )
Divide T 1 en P partes T usando i = codigo mod P .
for( i = 0 → P − 1 ) Send( i, T
i
|N d |
1
i
)
|N d | · g + ℓ
1
SStep 3:
Cada procesador pid ejecuta lo siguiente:
pid
pid
T
)
2
← π destino ( V pid ✶ T
1
pid
Send( 0, T
)
(|V |/P ) · (N d /P )
|N d | · g + ℓ
2
SStep 4:
pid
T 2 ← ∪ P−1 pid=0 T 2
|N d |
print T 2

Tabla 2: Soluci´on a pregunta 1.2

Supersteps Costo asint´otico SStep 1: Cada procesador hace lo siguiente: Ordena sus listas de adyacencia.
Supersteps
Costo asint´otico
SStep 1:
Cada procesador hace lo siguiente:
Ordena
sus listas
de adyacencia.
(N/P ) ·
L · log L
Calcula deltas en cada lista.
Calcula
frecuencias.
Broadcast( tabla simbolos
T pid ).
(N/P ) · L
(N/P ) · L
D · P · g + ℓ
SStep 2:
Cada procesador recibe una tabla de tama˜no D y cal-
D · P
cula las frecuencias globales: T = ∪ P−1
pid=0 T pid .
Cada
procesador
ordena las frecuencias.
D · log D
Cada procesador asigna los s´ımbolos a cada delta. D
Cada procesador recorre sus listas y reemplaza sus del-
(N/P ) · L
tas por los s´ımbolos.

Tabla 3: Soluci´on a pregunta 2 (compresi´on delta de grafos)

2. Se tiene un grafo representado con listas de adyacencia donde cada nodo con su lista

est´a distribuido utilizando la regla id nodo mod P = pid. Se pide fromular un algoritmo de compresi´on delta a las listas. Cada lista es ordenada por id nodo y luego representada con 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 m´as 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 manera que el delta m´as frecuente queda representado con menos bits y menos frecuente con m´as bits.

delta frec

bits

5

3

00

8

2

01

7

1

10 00

1

1

10 01

2

1

11 00

3

1

11 01

Se debe demostrar que el costo total asint´otico requerido p ara comprimir el grafo utilizando paralelismo BSP est´a dado por la siguiente expresi´on

N

P

· L · log L + 3 · N · L + D · log D

P

+

(P + 1) · D

+ D · P · g

+

donde N es el total de listas de adyacencia, D el tama˜no de la tabla de s´ımbolos y L el largo promedio de las listas de adyacencia. La soluci´on se encuentra en la Tabla 3.