La ley de Gustafson (tambin conocida como ley de Gustafson-Barsis)
1 es una ley en ciencia de la computacin que establece que cualquier problema suficientemente grande puede ser eficientemente paralelizado. La ley de Gustafson est muy ligada a la Ley de Amdahl, que pone lmite a la mejora por Speed Up que se puede tener debido a la paralelizacin, dado un conjunto de datos de tamao fijo, ofreciendo as una visin pesimista del procesamiento paralelo. Por el contrario la ley de Gustafson ofrece un nuevo punto de vista y as una visin positiva de las ventajas del procesamiento paralelo. John L. Gustafson enunci por primera vez la ley que lleva su nombre en 1988.
donde P es el nmero de procesadores, S es el speedup, y la parte no paralelizable del proceso. La ley de Gustafson aborda las limitaciones de la Ley de Amdahl, la cual no escala la disponibilidad del poder de cmputo a medida que el nmero de mquinas aumenta. La ley de Gustafson propone que los programadores establezcan el tamao de los problemas para utilizar el equipamiento disponible en su solucin en un tiempo prctico. Por consiguiente, si existe equipamiento ms rpido disponible, mayores problemas se pondrn resolver en el mismo tiempo. La Ley de Amdahl se basa en una carga de trabajo o tamao de entrada prefijados. Esto implica que la parte secuencial de un programa no cambia con respecto al nmero de procesadores de la mquina, sin embargo, la parte paralelizable es uniformemente distribuida en el nmero de procesadores. El impacto de la ley de Gustafson fue el cambio de direccin de los objetivos de investigacin hacia la seleccin o reformulacin de problemas a fin de que fuera posible la solucin de mayores problemas en el mismo intervalo de tiempo. En particular la ley redefine la eficiencia como una necesidad para minimizar la parte secuencial de un programa, incluso si esto incrementa la cantidad total de clculos. ndice 1 Derivacin de la Ley de Gustafson 2 Metfora de la conduccin 3 Aplicaciones o 3.1 Aplicaciones en la investigacin o 3.2 Aplicaciones cotidianas en sistemas computacionales 4 Limitaciones 5 Vase tambin 6 Referencias Derivacin de la Ley de Gustafson El tiempo de ejecucin de un programa en una computadora paralela es descompuesto en:
donde es el tiempo secuencial y es el tiempo paralelo, en cualquiera de los P procesadores. La suposicin clave de Gustafson y Barisis es que la cantidad total de trabajo a realizar en paralelo vara linealmente con el nmero de procesadores. La implicacin prctica es que un procesador capaz de procesar ms de la carga de procesamiento asignada a este, puede ejecutar en paralelo otras tareas generalmente similares. Esto implica que b, el tiempo de procesamiento en paralelo por proceso, debe ser fijo mientras P vara. El tiempo correspondiente para el procesamiento secuencial es:
El speedup(aceleramiento) es en concordancia:
Definiendo
como la fraccin secuencial del tiempo de ejecucin en paralelo, obtenemos
Por consiguiente, si es pequeo, el aceleramiento es aproximadamente P, como es deseado. Incluso se puede dar el caso en que disminuya mientras P junto con el tamao del problema aumente; si esto se cumple, S se aproxima a P montonamente con el crecimiento de P. De esta forma, la Ley de Gustafson aparenta rescatar el procesamiento en paralelo de la Ley de Amdahl. Est basada en la idea de que si el tamao de un problema puede crecer monotnicamente con P, entonces la fraccin secuencial de la carga de trabajo no representar la parte dominante de dicha carga. Esto es posible haciendo la mayora de las asignaciones de trabajo contenibles dentro del mbito de procesamiento de un solo procesador; de aqu que un solo procesador pueda servir para mltiples asignaciones, mientras que una asignacin no debe expandirse a ms de un procesador. Esta es tambin la regla para proyectos en sitios de trabajo, teniendo muchos proyectos por sitio, pero solo un sitio por proyecto. Metfora de la conduccin La ley de Amdahl aproximadamente sugiere: Supongamos que un auto est viajando entre dos ciudades que se encuentran a 60 millas de distancia, y ya ha estado una hora viajando la mitad de la distancia a 30 millas por hora. Sin importar cun rpido viaje la mitad restante es imposible alcanzar una velocidad promedio de 90 millas por hora antes de terminar el recorrido. Debido a que ya le ha tomado 1 hora y ha de recorrer 60 millas; aunque viaje infinitamente rpido solo alcanzara una velocidad promedio de 60 millas por hora. La ley de Gustafson aproximadamente enuncia: Supongamos que un auto ha estado viajando algn tiempo a 90 millas por hora. Teniendo distancia y tiempo suficiente para viajar, la velocidad promedio del auto podra alcanzar eventualmente las 90 millas por hora, sin importar cunto o a qu velocidad haya viajado. Por ejemplo, si el auto demor una hora viajando a 30 millas por hora, podra alcanzar las 90 millas por hora de velocidad promedio conduciendo a 120 millas por hora durante 2 horas, o a 150 millas por hora durante una hora, etc. Aplicaciones Aplicaciones en la investigacin La ley de Amdahl presupone que los requerimientos de cmputo se mantendrn invariables, dado el incremento del poder de procesamiento. En otras palabras, el anlisis de la misma cantidad de datos toma menos tiempo dado ms poder de cmputo. Gustafson, por otra parte, argumenta que ms poder de cmputo causar que los datos sean analizados ms profunda y cuidadosamente: pixel por pixel o unidad por unidad, en lugar de ser analizados a gran escala. Donde no sera posible o prctico simular el impacto de una detonacin nuclear en todas las construcciones, autos y sus contenidos (incluyendo muebles, accesorios, etc.) debido a que tales clculos tomaran ms tiempo del disponible para dar una respuesta, el incremento del poder de cmputo incita a los investigadores a aadir ms datos para simular ms variables, brindado resultados ms precisos. Aplicaciones cotidianas en sistemas computacionales La ley de Amdahl presenta una limitacin en, por ejemplo, la capacidad de los ncleos mltiples de reducir el tiempo que toma a una computadora iniciar su sistema operativo y estar lista para el uso. Asumiendo que el proceso de iniciado fuera mayormente paralelizado, cuadruplicando el poder de cmputo en un sistema que toma un minuto para cargar, podra cargar en solo 15 segundos. Pero mayor paralelizacin fallara eventualmente en hacer el inicio ms rpido, si alguna parte del proceso de inicio fuera esencialmente secuencial. La ley de Gustafson argumenta que un aumento cudruple del poder de cmputo conllevara a un incremento similar en las capacidades del sistema. Si un minuto de tiempo de inicio de un sistema es aceptable para la mayora de los usuarios, entonces esto es un punto de inicio desde donde incrementar las funcionalidades y caractersticas del sistema. El tiempo de inicio del sistema operativo se mantendr igual, o sea un minuto, pero el nuevo sistema incluir mejores caractersticas grficas y funcionalidades para el usuario. Limitaciones Algunos problemas no tienen fundamentalmente grandes cantidades de datos. Por ejemplo, procesar un dato por ciudadano del mundo crece un bajo por ciento anualmente. El punto principal de la ley de Gustafson es que tales problemas no son los que ms pueden explotar las ventajas del paralelismo. Los algoritmos no lineales dificultan la utilizacin de las ventajas del paralelismo expuestas por la ley de Gustafson. Snyder 2 muestra que un algoritmo O(N 3 ) mediante la duplicacin de la concurrencia solo permite el aumento de un 26% de la cantidad de datos. Por consiguiente, mientras sea posible ocupar grandemente la concurrencia, hacerlo pude traer una relativamente pequea ventaja sobre la solucin original; sin embargo en la prctica han ocurrido mejoras considerables. Hill and Marty 3 enfatiza adems que mtodos de acelerar la ejecucin secuencial todava son necesarios, incluso para mquinas con ncleos mltiples. Ellos sealan que mtodos localmente ineficientes pueden ser globalmente eficientes cuando reducen la fase secuencial. Adicionalmente, Woo and Lee 4 estudia la implicacin de energa y poder en procesadores futuros de mltiples ncleos basados en la ley de Amdahl, mostrando que un procesador multincleo asimtrico puede alcanzar la mayor eficiencia energtica posible mediante la activacin del nmero ptimo de ncleos dado que la cantidad de paralelismo es conocida antes de la ejecucin.