Las primeras pruebas realizadas han consistido en escoger un tamaño pequeño para la función de estimación , de dos líneas de la imagen original, con la finalidad de realizar un un reparto equitativo de la carga entre distintos números de procesadores.
Analizando los resultados de la prueba (Tabla 3) vemos que los tiempos de procesamiento de cada procesador (al igual que en la versión secuencial) aumentan conforme aumenta el tamaño de la ventana; sin embargo, el tiempo empleado por cada nodo para calcular el workload es similar. Esto se debe a que son procesadores con idénticas características. Por otra parte, podemos comprobar que el balanceo es adecuado, ya que está comprendido en una rango aceptable de valores (entre 1 y 1,15, siendo 1 el mejor caso posible de balanceo de carga).
Procesadores Ventana 3x3 Ventana 5x5 Ventana 7x7 Ventana 9x9 Tiempo de proceso - Master 9,03837 33,615 68,692 125,005 T. en calcular Workload - Master 0,037222 0,0371 0,0372 0,037
Tiempo procesar Slave 8,77903 30,893 77,74 126,167
T. en calcular Workload - Slave 0,0371025 0,0373 0,0371 0,0373 Tiempo de proceso - Total 9,342234 33,9884 78,221 128,702
Balanceo Medio 1,0312 1,0943 1,138 1,044
Varianza 0,0004141 0,04023 0,0367 0,0008
Desviación típica 0,02035 0,2001 0,192 0,028
Balanceo Global 1,0295 1,088 1,132 1,009
Por otra parte, en la Figura 13 y en la Tabla 4 recogemos el tiempo de ejecución que cada nodo invierte en procesar la partición de la imagen que le corresponde y el tiempo que tarda en ejecutar la función workload en el caso que estamos estudiando de 2 líneas para la función de estimación, y de 26 procesadores.
Figura 13: Tiempos de ejecución con diferentes tamaños de ventana para una función de estimación de 2 líneas y 26 procesadores
A tenor de los resultados mostrados, tenemos que el tiempo empleado por cada nodo en procesar su porción de la imagen aumenta conforme aumentamos el tamaño de la ventana, manteniéndose siempre el valor del tiempo empleado en la función de estimación. Hacemos notar finalmente que el balanceo se encuentra dentro del rango de valores que se consideran como aceptables.
Ventana 3x3 Ventana 5x5 Ventana 7x7 Ventana 9x9
Tiempo de proceso - Total 1,766 3,505 6,461 11,723
Balanceo Medio 1,2413 1,254 1,271 1,33
Varianza 0,0061 0,006 0,0006 0,0015
Desviación típica 0,0783 0,0774 0,0235 0,0386
Balanceo Global 1,154 1,17 1,255 1,317
Tabla 4: Resultados finales para una estimación de 2 líneas y 26 procesadores
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 Tiempo3x3 Workload3x3 Tiempo5x5 Tiempo7x7 Tiempo9x9 Nodos (procesadores) T ie m po
Realizada esta batería de pruebas con distinto número de procesadores, pero manteniendo siempre el tamaño para la función de estimación, tenemos que los resultados obtenidos en el primer ejemplo son son extrapolables a diferentes experimentos donde tenemos un número mayor de nodos. Además, es preciso señalar que los procesadores más rápidos tardan menos tiempo en ejecutar la función de estimación de carga pero todos los nodos muestran tiempos muy similares en procesar la porción que les corresponde. Cabe destacar que conforme el número de nodos aumenta, el balanceo empeora ligeramente, pero nunca llega a valores superiores al de 1.26. Esta tendencia se rompe ligeramente para la prueba con 26 procesadores y una ventana de 9x9, en la que el balanceo supera los 1.3, debido seguramente a la carga de trabajo de algunos procesadores en el momento de realizar la prueba. Estas situaciones se resumen en la Figura 14.
Figura 14: Balanceo para una función de estimación de carga con 2 lineas
Teniendo en cuenta los resultados mostrados en la Figura 14, vemos como los valores del balanceo se mantienen y aumentan conforme aumentamos el número de procesadores. En el caso en el que tenemos un número elevado de procesadores (26 nodos) y un tamaño de ventana grande (9x9) observamos como el balanceo supera el
2 4 6 8 10 12 14 16 18 20 22 24 26 1 1,1 1,2 1,3 1,4 Balanceo
para función benchmark con 2 líneas
3x3 5x5 7x7 9x9 número de procesadores b a la n c e o
valor de1,3, como se ha comentado anteriormente. Esto es debido a que el uso de la arquitectura no ha podido ser exclusivo y al generar tanta carga de trabajo, la prueba se ha podido ver afectada por otras tareas concomitantes. Si tenemos en cuenta el efecto del número de procesadores con respecto al tiempo total de ejecución, podemos destacar que conforme aumentamos el número de procesadores, el tiempo de ejecución va disminuyendo.
Figura 15: Efecto del número de procesadores para una función de estimación con 2 lineas
Para continuar con el estudio, en un paso siguiente, aumentamos levemente el número de líneas que debe procesar la función de estimación de carga de cada procesador. Esta vez vamos a estimar la carga con 5 líneas de la imagen original, en un intento de llenar la memoria caché, para comprobar el comportamiento del algoritmo desarrollado. Con este cambio esperamos que el tiempo que cada nodo tarda en procesar la porción de imagen asignada no varíe con respecto a los resultados de las pruebas anteriores, donde se habían escogido 2 líneas para estimar la carga. Lo que sí cabría esperar sería que el tiempo empleado por cada nodo en ejecutar la función workload aumente, ya que ahora se han de procesar más líneas.
2 4 6 8 10 12 14 16 18 20 22 24 26 0 10 20 30 40 50 60 70 80 90 100 110 120 130
Efecto número de procesadores (tiempo)
para función benchmark con 2 líneas
3x3 5x5 7x7 9x9 número de procesadores tie m po
Procesadores Ventana 3x3 Ventana 5x5 Ventana 7x7 Ventana 9x9 Tiempo procesar Master 4.50564 15.47644 33.90883 61.06516
Tiempo en WORKLOAD MASTER 0.14520 0.14647 0.14584 0.14615
Tiempo de proceso - Slave 1 4.44562 15.44712 33.8602 62.85202 T. en calcular Workload - Slave 1 0.14826 0.14506 0.14655 0.14614
Tiempo de proceso - Slave 2 4.38932 15.55636 34.91404 62.98738 T. en calcular Workload - Slave 2 0.14729 0.14538 0.14621 0.14533
Tiempo de proceso - Slave 3 4.36154 15.13916 33.65559 59.47012 T. en calcular Workload - Slave 3 0.14635 0.14637 0.14760 0.14650
Tiempo de proceso - Total 5.10455 16.20939 35.40721 64.30177 Balanceo Medio 1.06108 1.05335 1.06107 1.08420
Varianza 0.00041 0.00030 0.00062 0.00183
Desviación típica 0.02033 0.01743 0.02490 0.04281
Balanceo Global 1.03303 1.02755 1.03739 1.05914
Tabla 5: Resultados para una estimación de 5 líneas y 4 procesadores
En la Tabla 5 se expresan los resultados, y queda patente que 1) el tiempo que cada nodo invierte en procesar su parte es similar al caso del estudio anterior, (con 2 líneas para estimar la carga) y 2) aumenta el tiempo empleado en ejecutar la función workload. Como resumen de las pruebas realizadas, la Figura 16 muestra una gráfica que expresa el comportamiento del algoritmo para los distintos valores de tamaño de ventana y del número de procesadores seleccionado.
Ventana 3x3 Ventana 5x5 Ventana 7x7 Ventana 9x9 Tiempo de proceso - Total 2.21031 4.57775 9.15289 16.60529
Balanceo Medio 1.18681 1.18351 1.22327 1.22064
Varianza .002403 0.00013 0.00057 0.00063
Desviación típica 0.04902 0.01183 0.02392 0.02521 Balanceo Global 1.15211 1.15088 1.19515 1.19498 Tabla 6: Resultados finales para una estimación de 5 líneas y 16 procesadores
En la Figura 16 y la Tabla 6 tenemos que los tiempos de ejecución para el caso en el que se utilizan 16 procesadores son menores que cuando utilizamos un número menor de ellos. En dicha gráfica el nodo 0 corresponde al nodo maestro.
Figura 16: Tiempos de ejecución con diferentes tamaños de ventana para una función de estimación de 5 líneas y 16 procesadores
En la Figura 17 se expresa el balanceo para una función de estimación de carga con 5 líneas; en ella se pone de manifiesto que los valores de balanceo están comprendidos entre 1 y 1.26, no llegando nunca a superar 1,28.
Figura 17: Balanceo para una función de estimación de carga con 5 lineas
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Tiempo3x3 Workload3x3 Tiempo5x5 Tiempo7x7 Tiempo9x9 Nodos (procesadores) Ti em po 2 4 6 8 10 12 14 16 18 20 22 24 26 0,98 1,03 1,08 1,13 1,18 1,23 1,28 1,33 Balanceo
para función benchmark con 5 líneas
3x3 5x5 7x7 9x9 número de procesadores ba la nc eo
Es conveniente dejar patente que conforme aumenta el número de procesadores y el tamaño de la ventana, el balanceo empeora ligeramente. Destacamos también que, al igual que en el supuesto anterior, conforme aumentamos el número de procesadores el tiempo de ejecución total se ve reducido, ya que la tarea de procesar la imagen se ve dividida entre un mayor número de procesadores.
El siguiente paso consiste en aumentar el número de líneas a procesar por la función benchmark, hasta un total de 10 líneas, con idéntico propósito de aumentar el tamaño a procesar para llenar la memoria caché. Con este cambio, los resultados esperados deberían ser similares a los descritos anteriormente, buscando un tamaño de la función benchmark que penalice dichos resultados.En el supuesto actual, al igual que en los estudios anteriores, obtenemos el tiempo que cada procesador tarda en ejecutar la función de estimación de carga, para así poder dividir y repartir de forma correcta la imagen a procesar. Consideramos que este tiempo será mayor que en los dos casos anteriormente explicados, ya que el número de líneas de la imagen que tiene que procesar la función es mayor. De forma complementaria, se calcula el tiempo empleado por cada procesador en procesar la porción de la imagen que le corresponde para poder observar si el reparto se ha realizado de forma correcta. La Tabla 7 muestra los resultados obtenidos después de haber realizado las pruebas. Así, se puede observar como el tiempo consumido en procesar la función de reparto de carga ha aumentado con respecto a los casos anteriores, pero el tiempo de ejecución es muy similar. El aumento en el número de líneas de estimación hace que el reparto de carga sea menos efectivo, pero conviene destacar que en este experimento el objetivo es encontrar un valor que optimice el tiempo de estimación/reparto de carga.
En cuanto a los valores de balanceo podemos concluir que son aceptables, aumentando ligeramente conforme incrementamos el número de procesadores, y se encuentran siempre en un rango de valores por encima de 1 y por debajo de 1,28.
Procesadores Ventana 3x3 Ventana 5x5 Ventana 7x7 Ventana 9x9
Tiempo de proceso - Master 2,0824 7,078 15,371 27,617
T. en calcular Workload - Master 0,32 0,32 0,322 0,325
Tiempo procesar Slave 1 2,1004 7,257 16,219 29,565
T. en calcular Workload - Slave 1 0,322 ,032 0,321 0,321
Tiempo procesar Slave 2 2,0559 7,363 16,188 29,784
T. en calcular Workload - Slave 2 0,3208 0,317 0,323 0,321
Tiempo procesar Slave 3 2,0962 7,198 16,219 29,913
T. en calcular Workload - Slave 3 0,3173 0,318 0,324 0,319
Tiempo procesar Slave 4 2,0077 7,15 16,15 29,73
T. en calcular Workload - Slave 4 0,3224 0,318 0,321 0,323
Tiempo procesar Slave 5 2,0305 7,16 17,026 29,679
T. en calcular Workload - Slave 5 0,3184 0,317 0,316 0,3178
Tiempo procesar Slave 6 2,3284 8,2 18,196 32,547
T. en calcular Workload - Slave 6 0,2507 0,249 0,25 0,249
Tiempo procesar Slave 7 2,3104 7,918 17,52 30,685
T. en calcular Workload - Slave 7 0,2502 0,249 0,249 0,251
Tiempo de proceso - Total 2,989 8,434 19,043 32,189
Balanceo Medio 1,185 1,179 1,224 1,179
Varianza 0,00053 0,0004 0,0149 0,00064
Desviación típica 0,0232 0,021 0,122 0,0253
Balanceo Global 1,1597 1,1585 1,184 1,083
Tabla 7: Resultados para una estimación de 10 líneas y 8 procesadores
Para complementar el estudio, resultaría apropiado comprobar el funcionamiento del algoritmo desarrollado, esta vez con un tamaño aún mayor para la función de estimación de carga, con 20 líneas de la imagen original. Con estas nuevas pruebas se persigue demostrar que el balanceo se realiza de forma correcta independientemente del número de líneas que tenga que procesar la función
benchmark. Además continuando con la línea de trabajo anterior, buscaremos un
valor de compromiso entre la precisión de la estimación y el tiempo de cálculo de la misma. Es probable que el tiempo empleado en ejecutar la función de estimación de carga por parte de cada procesador aumente, aunque la estimación debería ser mas precisa, y los resultados globales deberían mejorar.
Los resultados esperados serían los mismos que en las otras pruebas anteriores: mantener el tiempo de ejecución total y el tiempo que cada procesador en
un rango similar respecto a las situaciones anteriores.
Los resultados de estas pruebas se pueden ver de una forma gráfica en la Tabla 8.
Procesadores Ventana 3x3 Ventana 5x5 Ventana 7x7 Ventana 9x9 Tiempo procesar Master 8.98987 32.3979 69.5724 126.01296 T. en calcular Workload - Master 0.65077 0.64412 0.64857 0.65074
Tiempo de proceso - Slave 8.78709 32.2423 70.8109 122.76596 T. en calcular Workload - Slave 0.65185 0.64801 0.65090 0.64810
Tiempo de proceso - Total 9.29064 32.91644 72.7550 126.68787
Balanceo Medio 1.0245 1.01908 1.06703 1.03216
Varianza 0.00027 0.00020 0.00111 0.00126
Desviación típica 0.01656 0.01426 0.03341 0.03557
Balanceo Global 1.02307 1.00482 1.01780 1.02644
Tabla 8: Resultados para una estimación de 20 líneas y 2 procesadores
Finalmente tenemos que el tiempo empleado por cada procesador en estimar la carga es mayor en relación a los supuestos anteriores, pero los tiempos de ejecución no difieren de forma llamativa. Es necesario recalcar que obtenemos buenos valores de balanceo, estando cercanos al caso ideal (valor 1).
A continuación mostramos, en la Tabla 9, los resultados obtenidos tras la ejecución realizada para 16 procesadores. De esta forma podremos observar el comportamiento del algoritmo en un entorno en el que se trabaja con los dos grupos de procesadores comentados en el apartado 4.3.1 (“Estudio de la versión
secuencial”) y comprobaremos de esta forma si el reparto de carga se realiza de
forma correcta para este caso en particular.
La Tabla 9 nos permite ver que el tiempo empleado por cada procesador para estimar la carga es superior al encontrado en los supuestos anteriores, aunque los tiempos de ejecución no cambian de forma significativa. Los valores de balanceo hallados se encuentran dentro de un rango aceptable, aunque son algo peores que los expresados en la Tabla 8, debido al incremento en el número de procesadores.
Procesadores Ventana 3x3 Ventana 5x5 Ventana 7x7 Ventana 9x9 Tiempo procesar Master 1.02543 3.57324 7.83705 14.01906
T. en calcular Workload - Master 0.65135 0.64673 0.65073 0.647799
Tiempo de proceso - Slave 1 1.06793 3.77187 8.70780 16.00216
T. en calcular Workload - Slave 1 0.65322 0.65024 0.64739 0.65369
Tiempo de proceso - Slave 2 1.04522 3.75170 8.76706 15.9170
T. en calcular Workload - Slave 2 0.64917 0.654434 0.65485 0.648808
Tiempo de proceso - Slave 3 1.04258 3.78626 8.66262 15.98872
T. en calcular Workload - Slave 3 0.65347 0.65142 0.64717 0.64933
Tiempo de proceso - Slave 4 1.05484 3.70116 8.68468 15.92064
T. en calcular Workload - Slave 4 0.65129 0.64872 0.65166 0.64502
Tiempo de proceso - Slave 5 1.04237 3.72669 8.67039 15.88139
T. en calcular Workload - Slave 5 0.64753 0.64372 0.64808 0.65003
Tiempo de proceso - Slave 6 1.04532 3.66178 8.50833 15.42779
T. en calcular Workload - Slave 6 0.53717 0.53500 0.53383 0.53929
Tiempo de proceso - Slave 7 1.03979 3.63204 8.50240 15.37199
T. en calcular Workload - Slave 7 0.53743 0.53487 0.53400 0.535654
Tiempo de proceso - Slave 8 1.05843 3.62116 8.44539 15.41863
T. en calcular Workload - Slave 8 0.53566 0.53513 0.53847 0.53653
Tiempo de proceso - Slave 9 1.04826 3.671863 8.45562 15.50456
T. en calcular Workload - Slave 9 0.53473 0.53142 0.53397 0.53486
Tiempo de proceso - Slave 10 1.04298 3.64148 8.47163 15.49643
T. en calcular Workload - Slave 10 0.53687 0.53677 0.53286 0.53596
Tiempo de proceso - Slave 11 1.04805 3.64795 8.45515 15.57558
T. en calcular Workload - Slave 11 0.53477 0.53405 0.53314 0.53228
Tiempo de proceso - Slave 12 1.05031 3.67280 8.45219 15.5367
T. en calcular Workload - Slave 12 0.53296 0.53221 0.53382 0.53483
Tiempo de proceso - Slave 13 1.06586 3.62881 8.44278 15.47735
T. en calcular Workload - Slave 13 0.53230 0.53356 0.53397 0.53186
Tiempo de proceso - Slave 14 1.03118 3.75165 8.55228 15.96269
T. en calcular Workload - Slave 14 0.65903 0.65062 0.65691 0.65300
Tiempo de proceso - Slave 15 0.99788 3.59035 7.88515 14.3157
T. en calcular Workload - Slave 15 0.65367 0.65048 0.65114 0.65080
Tiempo de proceso - Total 2.14708 4.76804 9.12700 16.40380
Balanceo Medio 1.11329 1.08508 1.14443 1.16368
Varianza 0.00451 0.00063 0.00044 0.00020
Desviación típica 0.06719 0.02524 0.02109 0.01424
Balanceo Global 1.0701 1.05961 1.11866 1.14145
Tabla 9: Resultados para una estimación de 20 líneas y 16 procesadores
Por tanto, con 20 líneas para estimar la carga, observamos que los resultados son similares a los obtenidos anteriormente. El tiempo empleado por cada procesador
en ejecutar la función que sirve para estimar la carga aumenta debido a que ahora cada procesador procesa el doble de líneas. El tiempo que emplea cada procesador en procesar su porción de la imagen es similar al del resto de procesadores que intervienen en el proceso. Por ello, el efecto que tiene aumentar el número de procesadores no es otro que el de disminuir el tiempo total de ejecución, como se muestra en la Figura 18.
Figura 18: Efecto de número de procesadores en el tiempo para función benchmark con 20 líneas
Los valores de balanceo se encuentran entre 1 y 1.18, como observamos en la Figura 19. Es importante destacar que el balanceo se dispara en el caso en el que trabajamos con una ventana grande (9x9) y el máximo número de procesadores (26). Esto se puede explicar porque el uso de la arquitectura no ha sido de forma exclusiva y se ha tenido que compartir con los trabajos realizados por el IAA en dicha arquitectura, lo que ha podido penalizar el valor del balanceo en este caso.
2 6 10 14 18 22 26 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140
Efecto número de procesadores (tiempo) para función benchmark con 20 líneas
3x3 5x5 7x7 9x9 número de procesadores ti e m p o
Figura 19: Balanceo para función benchmark con 20 lineas
En la Tabla 10 tenemos los resultados obtenidos al utilizar 30 lineas para estimar la carga. Como en casos anteriores, esperamos que el reparto de la carga de trabajo se realice correctamente al aumentar el tamaño de la imagen a preprocesar. Este aumento va a perjudicar al tiempo que cada procesador emplea en ejecutar la función de estimación de carga, ya que aumentamos la porción de imagen que tiene que procesar, pero no tendría por que influir en el tiempo de procesamiento global.
Procesadores Ventana 3x3 Ventana 5x5 Ventana 7x7 Ventana 9x9
Tiempo procesar Master 4,49 15,508 33,6 59,286
T. en calcular Workload - Master 0,998 0,999 0,991 0,992
Tiempo de proceso - Slave 1 4,43 15,465 34,483 62,902
T. en calcular Workload - Slave 1 0,998 0,992 0,997 0,998
Tiempo de proceso - Slave 2 4,428 15,375 34,25 62,249
T. en calcular Workload - Slave 2 1,002 1,004 0,998 0,998
Tiempo de proceso - Slave 3 4,378 15,257 33,711 60,645
T. en calcular Workload - Slave 3 1,001 0,997 0,998 0,996
Tiempo de proceso - Total 5,087 16,166 35,178 63,135
Balanceo Medio 1,042 1,041 1,052 1,069
Varianza 0,000436 0,00042 0,000137 0,000292
Desviación típica 0,0209 0,02 0,012 0,017
Balanceo Global 1,026 1,016 1,026 1,061
Tabla 10: Resultados para una estimación de 30 líneas y 4 procesadores
2 4 6 8 10 12 14 16 18 20 22 24 26 0,98 1,03 1,08 1,13 1,18 1,23 1,28 Balanceo
para función benchmark con 20 líneas
3x3 5x5 7x7 9x9 número de procesadores b al a nc e o
De los datos mostrados en la Tabla 10 destacamos que el tiempo empleado por cada procesador en estimar la carga es mayor en relación a los supuestos anteriores, pero los tiempos de ejecución no difieren de forma considerable. También es necesario remarcar que obtenemos buenos valores de balanceo, con respecto al caso ideal.
Figura 20: Tiempos de ejecución con diferentes tamaños de ventana para una función de estimación de 30 líneas y 26 procesadores
La Figura 20 y en la Tabla 11 se muestra el tiempo de procesamiento para el caso en el que utilizamos 30 líneas en la función de estimación de carga y un total de 26 procesadores. Una vez más el tiempo empleado por cada procesador aumenta con relación al tamaño de ventana. El nodo que aparece identificado como el 0 es el maestro, como en todos los casos del presente estudio.El tiempo empleado por cada procesador en ejecutar la función de estimación de carga (T. en calcular Workload) ha aumentado con respecto a los casos analizados anteriormente, manteniéndose las diferencias entre los procesadores más rápidos y los procesadores más lentos. A pesar de esto, el tiempo de procesado es muy similar en todos los nodos, con lo que podemos concluir que el reparto de carga se ha realizado de forma correcta. El tiempo total de ejecución se ve perjudicado por el tamaño de la ventana, aunque el impacto en los resultados del mismo disminuye conforme aumentamos el número de
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2 3 4 5 6 7 8 9 10 11 12 Tiempo3x3 Workload3x3 Tiempo5x5 Tiempo7x7 Tiempo9x9 Nodos (procesadores) Ti e m po
procesadores.
Ventana 3x3 Ventana 5x5 Ventana 7x7 Ventana 9x9
Tiempo de proceso - Total 1,748 3,469 6,401 11,771
Balanceo Medio 1,171 1,192 1,244 1,284
Varianza 0,00364 0,00049 0,00158 0,00187
Desviación típica 0,0603 0,0221 0,0398 0,043
Balanceo Global 1,089 1,123 1,2 1,255
Tabla 11: Resultados para una estimación de 30 líneas y 26 procesadores
A la luz de los resultados vemos que los valores del balanceo se mantienen dentro del rango esperado (entre 1 y 1,26) y, como sucedía en casos anteriores, empeora ligeramente conforme aumentamos el número de procesadores y el tamaño de la ventana.
En la Figura 21 podemos ver que los casos más favorables se producen cuando utilizamos tamaños de ventana pequeños y en aquellos en los que se usan pocos procesadores.
Figura 21: Balanceo para función benchmark con 30 líneas
2 4 6 8 10 12 14 16 18 20 22 24 26 0,98 1,01 1,03 1,06 1,08 1,11 1,13 1,16 1,18 1,21 1,23 1,26 Balanceo
para función benchmark con 30 líneas
3x3 5x5 7x7 9x9 número de procesadores ba la n ce o
En la siguiente batería de pruebas incrementamos aún más el valor de la muestra nodo para estimar la carga de trabajo, en este caso, tendremos 60 líneas. De esta forma seguimos intentando encontrar un valor que optimice el tiempo de estimación/reparto de carga.
Procesadores Ventana 3x3 Ventana 5x5 Ventana 7x7 Ventana 9x9 Tiempo de proceso - Master 2.19699 7.36881 16.09807 29.08121 T. en calcular Workload - Master 1.96560 1.96434 1.98096 1.98277
Tiempo de proceso - Slave 1 2.16138 7.52456 16.72613 31.12371 T. en calcular Workload - Slave 1 1.96309 1.98278 1.97210 1.98644
Tiempo de proceso - Slave 2 2.15994 7.51084 16.88210 31.14490 T. en calcular Workload - Slave 2 1.98310 1.98781 1.97450 1.98716
Tiempo de proceso - Slave 3 2.17201 7.48201 16.78889 30.96783 T. en calcular Workload - Slave 3 1.97281 1.98556 1.98810 1.99986
Tiempo de proceso - Slave 4 2.14143 7.53281 16.78486 31.22164 T. en calcular Workload - Slave 4 1.99034 1.98644 1.978506 1.97941
Tiempo de proceso - Slave 5 2.12370 7.47009 16.71036 31.08012 T. en calcular Workload - Slave 5 1.97151 1.96889 1.971937 1.96434
Tiempo de proceso - Slave 6 2.11747 7.32039 16.26067 29.13480 T. en calcular Workload - Slave 6 1.79983 1.80210 1.79907 1.80171
Tiempo de proceso - Slave 7 2.07571 7.170718 15.62961 27.5810 T. en calcular Workload - Slave 7 1.79205 1.79343 1.79153 1.80331 Tiempo de proceso - Total 3.15607 8.27770 17.24698 31.70469
Balanceo Medio 1.074756 1.06495 1.09308 1.14414
Varianza 0.00104 0.00041 0.00016 0.00014
Desviación típica 0.03225 0.02026 0.01277 0.01222
Balanceo Global 1.05842 1.05049 1.08013 1.13199
Tabla 12: Resultados para una estimación de 60 líneas y 8 procesadores
En la Tabla 12 se objetiva que al aumentar el tamaño de la muestra, el tiempo global de procesado aumenta. Si bien, una vez más, la diferencia entre los tiempos de proceso de los distintos procesadores no se ve modificada, con lo que a simple vista parece que el reparto se sigue realizando de forma óptima. Además observamos de los datos obtenidos que el reparto de carga se realiza de forma correcta o con pocos procesadores o con un tamaño de la ventana pequeño (sobre todo con un tamaño de ventana de 3x3), viéndose perjudicado el balanceo conforme vamos
aumentando el número de procesadores y el tamaño de la ventana de proceso. Esta situación se aprecia más claramente en la Figura 22, que nos muestra como varían los valores del balanceo para los distintos tamaños de ventana y número de procesadores.
Figura 22: Balanceo para una función de estimación con 60 líneas
Una vez más, vemos la relación inversamente proporcional existente entre el tiempo de ejecución y el número de procesadores. Conforme aumenta el número de procesadores el tiempo de ejecución se ve disminuido. La Figura 23 muestra más claramente esta situación.
Figura 23: Efecto del número de procesadores para una función de estimación con 60 líneas
2 4 6 8 10 12 14 16 18 20 22 24 26 0 20 40 60 80 100 120 140
Efécto del número de procesadores (tiempo)
para función benchmark con 60 líneas
3x3 5x5 7x7 9x9 número de procesadores ti e m p o 2 4 6 8 10 12 14 16 18 20 22 24 26 0,98 1,03 1,08 1,13 1,18 1,23 Balanceo
para la función benchmark con 60 líneas
3x3 5x5 7x7 9x9 número de procesadores b a la n c e o
Ventana 3x3 Ventana 5x5 Ventana 7x7 Ventana 9x9 Tiempo de proceso - Master 1.09761 3.74247 8.32764 15.77775
T. en calcular Workload - Master 1.98003 1.98992 1.97489 1.99569
Tiempo de proceso - Slave 1 1.11416 3.95848 8.90911 30.79600
T. en calcular Workload - Slave 1 1.97159 1.98453 1.98118 1.95781
Tiempo de proceso - Slave 2 1.11163 3.96473 8.89106 28.09449