Académique Documents
Professionnel Documents
Culture Documents
ResumenParalelizacion de multiplicacion matricial para hacerla mas rapida utilizando metodos propios, con ayuda del
lenguaje de programacion C y el uso de Procesos e Hilos.
I.
.
I NTRODUCCI ON
I-A.
Multiplicacion Matricial
Ley de Amdahl
Llamada as por el arquitecto de computadores Gene Amdahl, se utiliza para conocer el rendimiento maximo de un
sistema cuando solo una parte de e ste es paralelizado. La
mejora obtenida en el rendimiento de un sistema debido a
la alteracion de uno de sus componentes esta limitada por la
fraccion de tiempo que se utiliza dicho componente.
La formula original de la ley de Amdahl es la siguiente:
Fm
F = Fa ((1 Fm ) + A
)
m
Siendo Fm = tiempo de ejecucion mejorado y Fa =Tiempo
de ejecucion antiguo.
I-C.
DEL ALGORITMO .
PARALELIZACI ON
E XPERIMENTOS Y RESULTADOS .
Teniendo los algoritmos correctamente planteados, decidimos empezar a realizar las pruebas. El proceso que realizamos
fue utilizar el comando time de Ubuntu, que se encarga
de medir el tiempo de ejecucion de un programa, y para
tener una mayor confiabilidad, realizamos varias mediciones y
promediamos el tiempo. Podemos ver estos datos en las Tablas
1 al 4.
Podemos ver claramente que para matrices grandes, los
tiempos se reducen considerablemente mediante el uso de paralelismo, sin embargo, teniendo en cuenta la ley de Amdahl,
existe un punto en el que la paralelizacion encuentra un limite, por lo que es recomendable no seguir utilizando recursos
para intentar mejorar el tiempo, pues llega a una cota inferior
de la que no puede disminuir. Podemos verlo muy claramente
en las matrices grandes. Para el uso de procesos, podemos ver
perfectamente como el tiempo disminuye a la mitad en las
matrices mas grandes que 64*64, lo que nos da una muestra
clara de que la paralelizacion si da resultado. Por ejemplo, el
tiempo que le toma a un proceso multiplicar una matriz de
1024*1024 es de 58.648 segundos aproximadamente, pero, al
paralelizar el algoritmo, y utilizar dos procesos, este tiempo
se reduce a mas de la mitad, llegando a tener una duracion en
promedio de 26.548 segundos.
Similarmente ocurre con el uso de Hilos, en donde claramente se puede evidenciar el decrecimiento del tiempo. Si
1
0.001
0.001
0.002
0.002
0.006
0.023
0.155
1.353
58.684
2
0.002
0.002
0.002
0.002
0.004
0.015
0.084
0.742
26.548
4
0.002
0.002
0.002
0.002
0.005
0.015
0.081
0.702
18.412
Matriz \Hilos
4
8
16
32
64
128
256
512
1024
1
0.002
0.002
0.002
0.003
0.008
0.035
0.2
1.572
49.874
2
0.002
0.002
0.003
0.003
0.007
0.027
0.101
0.831
32.427
4
0.002
0.002
0.003
0.003
0.006
0.023
0.096
0.707
22.832
8
0.002
0.003
0.003
0.006
0.023
0.104
0.704
19.916
Matriz \Hilos
4
8
16
32
64
128
256
512
1024
16
0.003
0.004
0.005
0.021
0.1
0.694
19.249
32
0.005
0.008
0.019
0.098
0.691
22.821
64
0.012
0.022
0.098
0.706
22.227
128
0.03
0.107
0.685
25.512
Matriz \Hilos
4
8
16
32
64
128
256
512
1024
256
0.123
0.706
23.523
512
0.716
21.185
1024
23.61
III-A.
Hilos
Speedup
Mediciones de rendimiento
2
0.76901964
4
0.35506087
4
2.184390329
8
2.504217714
16
2.59099174
2
1.538039288
8
0.14330186
Hilos
Speedup
32
2.185443232
64
2.243847573
128
1.954923173
256
2.120222761
Hilos
Speedup
512
2.354212886
1024
2.112409996
16
0.064665696
Hilos
Eficiencia
32
0.026358671
64
0.0160425
128
0.00680650
256
0.00423654
Hilos
Eficiencia
512
0.002168674032
1024
0.0008762590666
Procesos
Eficiencia
2
1.105243333
4
0.7209428633
Procesos
Speedup
2
2.210486666
4
3.187269172
B IBLIOGRAFI A
Figura 3: Idea ley de Amdahl
60
Linea Procesos
Linea Hilos
Tiempo
50
40
30
20
1
1,5
2,5
3,5
Cantidad
En la grafica se puede observar una comparacion de la
duracion en tiempo de ejecucion de Procesos V S Hilos, para
matrices de tamano 1024 1024, como podemos ver, a medida
que se aumenta el numero de hilos y/o procesos, el tiempo se
reduce considerablemente hasta llegar a un lmite inferior.
La grafica 3 resume la idea conceptual de la ley de amdhal,
vemos como el aumento del procesamiento paralelo tiende a
una grafica logaritmica, debido a que se llega al punto que no
de puede paralelizar mas un algoritmo.
C ONCLUSIONES .
Se logro comprobar la interpretacion de la Ley de Amdhal; en la cual se llega a un punto en el cual no se
puede paralelizar mas un algoritmo, se observo que la
mejora del rendimiento reduca los tiempos de ejecucion
el alrededor del 50 % y a pesar de aumentar los procesos
de paralelizacion, el tiempo de ejecucion tenda a una
asntota.
Se logro observar como la paralelizacion mejora notablemente el rendimiento de los programas concretamente
en el ejercicio de hilos se alcanzo mejoras con respecto
de 1,53x de tiempo con solo 2 hilos, sin embargo se
https://es.wikipedia.org/wiki/Ley de Amdahl
https://es.wikipedia.org/wiki/Computaci %C3 %B3n paralela
https://conceptosarquitecturadecomputadoras.wordpress.com/
computacion-paralela/
Analisis de rendimiento de programas paralelos, Cesar
Pedraza Bonilla, 2015