• No se han encontrado resultados

4.11 Cargas de trabajo y Modelos de speedup

4.11.2 Modelo de tiempo jo

Uno de los principales \defectos" al aplicar la ley de Amdahl es que el tama~no del problema (carga de trabajo) se mantiene jo y no puede escalarse para adecuarlo al poder de computo disponible cuando el tama~no de maquina crece. En otras palabras, la carga ja previene la escalabilidad en performance. Aunque el cuello de botella secuencial es un problema serio, puede aliviarse removiendo la restriccion de carga ja (o tama~no de problema jo). Esto fue observado por Gustafson en 146], donde propuso el concepto de speedup de tiempo jo.

Las aplicaciones de tiempo crtico promovieron el desarrollo del modelo de speedup de carga ja y la ley de Amdahl. Existen otras aplicaciones que enfatizan la precision mas que el tiempo mnimo. Cuando el tama~no de maquina es modicado para obtener mayor poder de computo, puede quererse incrementar el tama~no del problema para crear una mayor carga de trabajo, produciendo una solucion mas precisa y manteniendo el tiempo de ejecucion sin cambios.

En el sentido usual, speedup escalado signica que el tama~no del problema crece con la cantidad de procesadores. La pregunta es >cuanto crece?. SiN

0es el tama~no del problema

que cabe en la memoria local de un unico procesador, entonces el tama~no de problema es generalmente escalado para ajustarse a la memoria total de los p procesadores. Si el

almacenamiento es proporcional a N

0, entonces

p procesadores corren un problema de

tama~no pN

0. Luego, el speedup escalado esta dado por el cociente entre la complejidad

del mejor algoritmo serial para un problema de tama~nopN

0y la complejidad del algoritmo

paralelo para un problema del mismo tama~no en p procesadores. Esta expresion podra

requerir una aproximacion de memoria plana debido a que el denominador podra ser demasiado grande para un unico procesador del ensamble. Entre los primeros \usuarios" de speedup escalado se encontraron Seitz, Gustafson y Moler.

La idea de que el tiempo debera jarse cuando se realiza evaluacion de performance de problemas escalables fue presentada por primera vez en 146], aunque Worley ya lo haba notado en la resolucion de ecuaciones diferenciales parciales sobre ensambles de computadoras. La distincion entre speedup escalado y speedup de tiempo jo aparecio alrededor de 1988. En algunos casos se utiliza el termino \speedup escalado" para sig-

nicar cualquier medida que permita que el tama~no del problema cambie. En el modelo de tiempo jo, es el trabajo el que crece con p, no el almacenamiento.

Muchas modelizaciones cientcas y aplicaciones de simulacion demandan la solucion de problemas de matrices a gran escala basados en formulaciones de ecuaciones diferen- ciales parciales (PDE) discretizadas con un gran numero de puntos de grilla. Ejemplos representativos incluyen el uso de metodos de elementos nitos para realizar analisis es- tructural, o el uso de metodos de diferencias nitas para resolver problemas computa- cionales de dinamica de uidos en pronostico meteorologico.

Las grillas gruesas requieren menos computacion las nas necesitan muchas mas, brindando mayor precision. La simulacion de pronostico meteorologico puede demandar la solucion de PDEs de 4 dimensiones. Si se reduce el espaciado de grilla en cada dimension fsica (x, y, y z) en un factor de 10, y se incrementan los pasos de tiempo en la misma

magnitud, entonces habra un incremento de 104 veces mas puntos de grilla. Luego, la

carga de trabajo sera al menos 10000 veces mayor tal escalado de problema necesita mayor poder de computo para obtener el mismo tiempo de ejecucion.

La principal ventaja en este caso no es ahorrar tiempo sino producir resultados mucho mas precisos. Este escalado de problema para precision motivo a Gustafson desarrollar un modelo de speedup de tiempo jo. El problema escalado mantiene todos los recursos ocupados, resultando en un mejor cociente de utilizacion del sistema.

En las aplicaciones de precision crtica, se quiere resolver el tama~no de problema mas grande posible sobre una maquina mas grande con aproximadamente el mismo tiempo de ejecucion que para resolver un problema mas chico sobre una maquina mas chica. Cuando el tama~no de maquina crece, hay que tratar con una carga de trabajo incrementada y un nuevo perl de paralelismo. Sea q

0 el maximo grado de paralelismo con respecto al

problema escalado y W 0

i la carga de trabajo escalada con grado de paralelismo i. En general W 0 i > W i para 2 i q 0 y W 0 1 = W 1. El speedup de tiempo jo se

dene bajo la suposicion de queT 1 = T 0 p, donde T 0

p es el tiempo de ejecucion del problema

escalado y T

1 corresponde al problema original sin escalar. Una formula general para

speedup de tiempo jo se dene por S 0 p = T 1 =T 0 p, modicado de la Ec. 4.4: S 0 p = T 1 T 0 p = P q 0 i=1 W 0 i P q 0 i=1 W 0 i i d i p e+Q(p) = P q 0 i=1 W 0 i P q i=1 W i (4.7) El speedup de tiempo jo fue desarrollado originalmente por Gustafson para un perl de paralelismo especial conW

i = 0 si

i6= 1 ei6=p. De manera similar a la ley de Amdahl,

Figura 4.5: Modelo de speedup de tiempo jo y ley de Gustafson S 0 p = P q 0 i=1 W 0 i P q i=1 W i = W 0 1 + W 0 p W 1 + W p = W 1+ pW p W 1+ W p (4.8) dondeW 0 p = pW p y W 1+ W p = W 0 1+ W 0 p

=p, correspondiendo a la condicion de tiempo jo.

De la Ec. 4.8, la carga de trabajo paralela W 0

p fue escalada hasta

p veces W

p de manera

lineal.

La relacion de una carga de trabajo escalada con el speedup escalado de Gustafson se muestra en la Figura 4.5 182]. De hecho, la ley de Gustafson puede ser reescrita en

terminos de =W 1 y 1

;=W

p bajo la misma suposicion hecha para la ley de Amdahl

de que W 1+ W p = 1: S 0 p = +p(1;) + (1;) = p;(p;1) (4.9)

En la Figura 4.5(a), se muestra la situacion al escalar la carga de trabajo. La Figu- ra 4.5(b) muestra el estilo de ejecucion de tiempo jo. La Figura 4.5(c) ploteaS

0

pcomo una

funcion de la porcion secuencial de un programa corriendo en un sistema con p= 1024

procesadores 145, 149, 230] la pendiente de la curva en este caso es mucho mas chata que para carga ja. Esto implica que la ley de Gustafson soporta performance escalable cuando crece el tama~no de la maquina. La idea es mantener a todos los procesadores ocu- pados incrementando el tama~no del problema. Cuando el problema puede escalar para matchear el poder de computo disponible, la fraccion secuencial ya no es un cuello de botella y puede extraerse eciencia muy alta de un procesador masivamente paralelo.

En 149], Gustafson enumero una serie de consecuencias del modelo de tiempo jo. Por ejemplo: que el speedup de tiempo jo no favorece a los procesadores mas lentos, que la medicion de tiempo jo crea un nuevo tipo de speedup superlineal, y que el tiempo jo predice nuevos lmites al speedup paralelo.

En 308], Yuan Shi plantea que las leyes de Amdahl y Gustafson son identicas, y que en realidad son dos formulaciones distintas de una ley. Su mayor justicacion es que los porcentajes seriales de cada caso no son iguales sino que estan relacionados por una ecuacion, y que al reemplazar el porcentaje serial dependiente del numero de procesadores en la formulacion de Gustafson se obtiene una formula identica a la de Amdahl. Ademas, indica que un prerrequisito para aplicar la ley de Amdahl es que el algoritmo secuencial retenga su estructura tal que el mismo numero de instrucciones sean procesadas por las implementaciones serial y paralela para la misma entrada esto no siempre es posible cuan- do los programas son particionados, y puede derivar en un \abuso" de la ley. Shi sugiere usar metodos basados en el tiempo de procesamiento para la evaluacion de performance paralela.