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