Act 4

21
Actividad #4 Equipo 5

description

Actividad #4

Transcript of Act 4

Page 1: Act 4

Actividad #4

Equipo 5

Page 2: Act 4

Aplicación del Algoritmo en paralelo

1.- Inicio2.- Incluir librerías3.- Definición de variables auxiliares (i,j)4.- Empieza a contar el reloj5.- Creación Matriz 16.- Llenado de matriz 1 (random)7.- Creación Matriz 28.- Llenado de matriz 2 (random)9.- Creación de 4 hilos10.- Asignación de tareas a los hilos (4 tareas) Para cada hilo se asignara una porcion de las matrices las cuales fueron divididas en 4 partes, y para cada hilo y cada parte de las matrices se les sumara la misma celda11.- Se creara la matriz resultante12.- Se imprimirá la matriz 1, 2 y resultante13.- Termina conteo de tiempo14.- Imprimir tiempo15.- Fin

Page 3: Act 4

Explicación

Page 4: Act 4

20% -> Creación de espacios en memoria

40% -> Llenado de matrices (random)

60% -> Creación de hilos y asignación de tareas

80% -> Sumas (Operaciones)

100% -> Impresiones (Fin)

Page 5: Act 4

Diagrama de Flujo

Page 6: Act 4

1 42 3

Page 7: Act 4

1 2

5 5

Page 8: Act 4

3 4

5 5

Page 9: Act 4

5

Page 10: Act 4

Python con Hilos

Page 11: Act 4

Python sin Hilos

Page 12: Act 4

Tabla comparativa

0% 20% 40% 60% 80% 100%0

0.2

0.4

0.6

0.8

1

1.2

Con hilosSin hilos

Page 13: Act 4

C con Hilos

Page 14: Act 4

C sin Hilos

Page 15: Act 4

C++

20% 40% 60% 80% 100%0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Con hilosSin Hilos

Page 16: Act 4

Java con Hilos

Page 17: Act 4

Java sin Hilos

Page 18: Act 4

Java

0% 20% 40% 60% 80% 100%0

0.2

0.4

0.6

0.8

1

1.2

1.4

con hilosSin hilos

Page 19: Act 4

Comparación entre los 3 lenguajes (con hilos)

0% 20% 40% 60% 80% 100%0

0.2

0.4

0.6

0.8

1

1.2

C++PythonJava

Page 20: Act 4

0% 20% 40% 60% 80% 100%0

0.2

0.4

0.6

0.8

1

1.2

1.4

C++

Python

Java

Comparación entre los 3 lenguajes (Sin hilos)

Page 21: Act 4

ConclusiónComo se observó en las tablas, el lenguaje Java se tarda mas su tiempo de ejecución; esto es debido a que Java se maneja atreves de una máquina virtual.Para este ejemplo en especifico los lenguajes con menor tiempo de ejecución son c++ seguido de python.Otra de las observaciones, es que en definitiva al momento de dividir las tareas (y asignárselas a los hilos) y paralelizar, reduce el tiempo de ejecución del programa. Aunque en este ejemplo se ve muy poca la diferencia, conforme mas se amplié la matriz mas fácilmente se apreciará el cambio