Ley de Amdahl

Ley de Amdahl

La Ley de Amdahl, llamada así por el arquitecto de ordenadores Gene Amdahl, se usa para averiguar la mejora máxima de un sistema cuando solo una parte de éste es mejorado.

El incremento de velocidad de un programa utilizando múltiples procesadores en computación distribuida está limitada por la fracción secuencial del programa. Por ejemplo, si la porción 0.5 del programa es secuencial, el incremento de velocidad máximo teórico con computación distribuida será de 2 (1/(0.5+(1-0.5)/N)) cuando N sea muy grande.

Contenido

Introducción

La Ley de Amdahl establece que "la mejora obtenida en el rendimiento de un sistema debido a la alteración de uno de sus componentes está limitada por la fracción de tiempo que se utiliza dicho componente".

La fórmula original de la ley de Amdahl es la siguiente:

F = {F_{a} \cdot \left((1 - F_{m}) + {F_{m} \over A_{m}}\right)} * (Ver Deducción)

donde:

F = tiempo de ejecución mejorado y
Fa = tiempo de ejecución antiguo.

Esta fórmula se puede reescribir usando la definición del incremento de la velocidad que viene dado por \scriptstyle  A = F_a/F, por lo que la fórmula anterior se puede reescribir como:

A = {1 \over (1 - F_{m}) + {F_{m} \over A_{m}}}

donde:

A\, es la aceleración o ganancia en velocidad conseguida en el sistema completo debido a la mejora de uno de sus subsistemas.
A_{m}\,, es el factor de mejora que se ha introducido en el subsistema mejorado.
F_{m}\,, es la fracción de tiempo que el sistema utiliza el subsistema mejorado.
Asumiendo que una tarea tiene dos partes independientes, A y B. B lleva el 25% del tiempo total de computación. Trabajando muy duro, se puede realizar esta parte 5 veces más rápido, sin embargo ésto solo reduce el tiempo de computación un poco. En contraste, una pequeña mejora de la parte A hace que vaya esta el doble de rápido. Esto hace que sea mucho mejor la optimización de la parte A que la parte B aunque se mejore mucho más dicha parte B (5x contra 2x).

Por ejemplo, si en un programa de ordenador el tiempo de ejecución de un cierto algoritmo supone un 30% del tiempo de ejecución total del programa, y conseguimos hacer que este algoritmos se ejecute en la mitad de tiempo tendremos:

- Am = 2

- Fm = 0.3

- A \approx{1.18}

Es decir, hemos mejorado la velocidad de ejecución del programa en un factor de 1,18. La ley de Amdahl se mide en unidades genéricas, es decir los resultados no son porcentajes, ni unidades de tiempo.

La Ley de Amdahl se puede interpretar de manera más técnica, pero en términos simples, significa que es el algoritmo el que decide la mejora de velocidad, no el número de procesadores. Finalmente se llega a un momento que no se puede paralelizar más el algoritmo.

Referencias

  • Gene Amdahl, "Validity of the Single Processor Approach to Achieving Large-Scale Computing Capabilities", AFIPS Conference Proceedings, (30), pp. 483-485, 1967.

Véase también

Enlaces externos


Wikimedia foundation. 2010.

Mira otros diccionarios:

  • Ley de Gustafson — La Ley de Gustafson (también conocida como ley de Gustafson Barsis) es una ley en Ingeniería informática que establece que cualquier problema suficientemente grande puede ser eficientemente paralelizado. La ley de Gustafson esta muy ligada a Ley… …   Wikipedia Español

  • Gene Amdahl — Eugene Myron Amdahl Nacimiento …   Wikipedia Español

  • Cluster (informática) — Un clúster en la Universidad McGill. Un ejemplo de clúster en l …   Wikipedia Español

  • Algoritmo paralelo — En las ciencias de la computación, un algoritmo paralelo, en oposición a los algoritmos clásicos o algoritmos secuenciales, es un algoritmo que puede ser ejecutado por partes en el mismo instante de tiempo por varias unidades de procesamiento,… …   Wikipedia Español

  • Computación paralela — La supercomputadora Cray 2 fue la más rápida del mundo desde 1985 hasta 1989. La computación paralela es una técnica de programación en la que muchas instrucciones se ejecutan simultáneamente.[1] Se basa …   Wikipedia Español

  • Cray-1 — Saltar a navegación, búsqueda Cray 1 Laboratorio Nacional Los Álamos Interior del supercomputador Cray 1 Localización California, Estados Unidos …   Wikipedia Español

  • Escalabilidad — Saltar a navegación, búsqueda En telecomunicaciones y en ingeniería informática, la escalabilidad es la propiedad deseable de un sistema, una red o un proceso, que indica su habilidad para extender el margen de operaciones sin perder calidad, o… …   Wikipedia Español

  • FLOPS — Saltar a navegación, búsqueda el rendimiento del equipo Nombre flops megaflops 106 gigaflops 109 teraflops 1012 petaflops 1015 exaflops …   Wikipedia Español

  • Problemas no resueltos de la informática — Los siguientes son algunos de los problemas no resueltos de las Ciencias de la Computación. Una solución de los problemas de esta lista tendría un impacto notable en el campo de estudio al que pertenecen. Contenido 1 Teoría de Complejidad… …   Wikipedia Español

  • Operaciones de coma flotante por segundo — Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas. Puedes añadirlas así o avisar …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”