jueves, 25 de febrero de 2016

Ley de Gustafson



La ley de Gustafson (1988) viene a compensar el pesimismo dejado por la ley de Amdahl. Ésta se refería a problemas con volumen de cálculo fijo en que se aumenta el número de procesadores. Sin embargo, en la práctica, el volumen del problema no es independiente del número de procesadores, ya que con mayor número de procesadores se pueden abordar problemas de mayores dimensiones. Por ello, la ley de Gustafson se refiere al crecimiento del volumen de cálculo necesario para resolver un problema. Cuando el volumen del problema crece, lo hace sólo en su parte paralela, no en su parte secuencial. Ello hace que el cuello de botella secuencial tienda a cero cuando el volumen  del problema aumenta.
La razón de que cierto tipo de problemas adquieran gran volumen de calulo es la disminución del tamaño de la malla de cálculo o también el aumento la extensión espacio-temporal del problema. Esto hace que el número de puntos aumente de forma cúbica respecto al grado  de disminución en la malla, si el problema es tridimensional. Hay muchos problemas en que, además de las tres dimensiones del espacio, también interviene el tiempo, por lo que el  aumento del volumen de cálculo es todavía mayor. Evidentemente, esto afecta, en general, a la parte paralelizable del problema y no a su parte secuencial, o al menos no en la misma medida. Si suponemos que el número de procesadores crece indefinidamente de la misma forma que las dimensiones del problema tendremos que

Siendo s y p, respectivamente, las partes secuencial y paralela del problema antes de ser aumentado en relación al número de procesadores (por ejemplo, incrementando el número de puntos de la malla).

Con estas premisas, podremos calcular ahora la ganancia de velocidad para esta nueva situación (la parte paralela del problema ha crecido en la misma proporción que el número de procesadores). Para calcular la ganancia de velocidad supondremos que el tiempo que se tardaría en ejecutar el programa (ya incrementado) en un monoprocesador  es:

Y en un sistema paralelo seria:

Donde N es el numero de procesadores; por tanto, la ganacia en velocidad vendrá dada por:

Que teniendo en cuenta la definición de la fracción no paralelizable dada por:

Se podrá escribir como:

Podría pensarse que hay una aparente contradicción entre las leyes de Amdahl y Gustafson. Esto no es  así  debido a  que las  premisas de  ambas leyes son distintas: la  ley de  Amdahl  se refiere a procesos con un volumen de calculo fijo mientras que la ley de Gustafson se refiere a problemas cuyo volumen de calculo puede aumentar según el numero de procesadores (esto se suele denominar escalado del problema).



Referencias:

No hay comentarios:

Publicar un comentario