Anda di halaman 1dari 12

Ley de Amdahl - Wikipedia https://translate.googleusercontent.com/translate_c?depth=2&hl=es&rurl...

Este artículo incluye una lista de referencias , pero sus fuentes siguen sin estar claras porque no tiene suficientes
citas en línea . Learn more

La evolución según la ley de Amdahl de la aceleración teórica es la


latencia de la ejecución de un programa en función del número de
procesadores que lo ejecutan. La aceleración está limitada por la parte
en serie del programa. Por ejemplo, si el 95% del programa se puede
paralelizar, la aceleración máxima teórica usando computación paralela
sería 20 veces.

En la arquitectura de computadoras , la ley de Amdahl (o el argumento de Amdahl [1] ) es una


fórmula que proporciona la aceleración teórica en la latencia de la ejecución de una tarea con
una carga de trabajo fija que se puede esperar de un sistema cuyos recursos se mejoran. Lleva el
nombre del científico informático Gene Amdahl , y se presentó en la Conferencia Conjunta de
Computación AFIPS Spring en 1967.

La ley de Amdahl se usa a menudo en la computación paralela para predecir la aceleración


teórica cuando se usan múltiples procesadores. Por ejemplo, si un programa necesita 20 horas
usando un solo núcleo de procesador, y una parte particular del programa que tarda una hora en
ejecutarse no se puede paralelizar, mientras que las 19 horas restantes ( p = 0,95 ) del tiempo de
ejecución se pueden paralelizar, entonces independientemente de cuántos procesadores se
dediquen a una ejecución paralela de este programa, el tiempo mínimo de ejecución no puede
ser inferior a esa hora crítica. Por lo tanto, la aceleración teórica se limita a un máximo de 20

veces . Por esta razón, la computación paralela con muchos

procesadores es útil solo para programas altamente paralelizables.

1 de 12 9/8/2019 10:35 p. m.
Ley de Amdahl - Wikipedia https://translate.googleusercontent.com/translate_c?depth=2&hl=es&rurl...

definición

La ley de Amdahl se puede formular de la siguiente manera:

dónde

La latencia es la aceleración teórica de la ejecución de toda la tarea;

s es la aceleración de la parte de la tarea que se beneficia de la mejora de los recursos del


sistema;

p es la proporción del tiempo de ejecución que la parte que se beneficia de los recursos
mejorados originalmente ocupaba.

Además,

muestra que la aceleración teórica de la ejecución de toda la tarea aumenta con la mejora de los
recursos del sistema y que, independientemente de la magnitud de la mejora, la aceleración
teórica siempre está limitada por la parte de la tarea que no puede beneficiarse de la mejora .

La ley de Amdahl se aplica solo a los casos en que se soluciona el tamaño del problema. En la
práctica, a medida que hay más recursos informáticos disponibles, tienden a acostumbrarse a
problemas más grandes (conjuntos de datos más grandes), y el tiempo dedicado a la parte
paralelizable a menudo crece mucho más rápido que el trabajo inherentemente en serie. En este

2 de 12 9/8/2019 10:35 p. m.
Ley de Amdahl - Wikipedia https://translate.googleusercontent.com/translate_c?depth=2&hl=es&rurl...

caso, la ley de Gustafson ofrece una evaluación menos pesimista y más realista del desempeño
paralelo. [2]

Derivación

Una tarea ejecutada por un sistema cuyos recursos se mejoran en comparación con un sistema
similar inicial se puede dividir en dos partes:

una parte que no se beneficia de la mejora de los recursos del sistema;

una parte que se beneficia de la mejora de los recursos del sistema.

Un ejemplo es un programa de computadora que procesa archivos desde el disco. Una parte de
ese programa puede escanear el directorio del disco y crear una lista de archivos internamente
en la memoria. Después de eso, otra parte del programa pasa cada archivo a un hilo separado
para su procesamiento. La parte que escanea el directorio y crea la lista de archivos no se puede
acelerar en una computadora paralela, pero la parte que procesa los archivos sí.

El tiempo de ejecución de toda la tarea antes de la mejora de los recursos del sistema se denota
como   . Incluye el tiempo de ejecución de la parte que no se beneficiaría de la mejora de los
recursos y el tiempo de ejecución de la parte que se beneficiaría de ella. La fracción del tiempo

de ejecución de la tarea que se beneficiaría de la mejora de los recursos se denota por   . Por
lo tanto, la que concierne a la parte que no se beneficiaría de ella es   . Entonces:

Es la ejecución de la parte que se beneficia de la mejora de los recursos que el factor acelera  
después de la mejora de los recursos. En consecuencia, el tiempo de ejecución de la parte que no
se beneficia de él sigue siendo el mismo, mientras que la parte que se beneficia de él se convierte
en:

El tiempo de ejecución teórico.   de toda la tarea después de la mejora de los recursos


es entonces:

3 de 12 9/8/2019 10:35 p. m.
Ley de Amdahl - Wikipedia https://translate.googleusercontent.com/translate_c?depth=2&hl=es&rurl...

La ley de Amdahl proporciona la aceleración teórica en la latencia de la ejecución de toda la tarea


con una carga de trabajo fija   , cuyos rendimientos

Programas paralelos

Si el 30% del tiempo de ejecución puede ser objeto de una aceleración, p será 0.3; si la mejora
hace que la parte afectada sea el doble de rápido, s será 2. La ley de Amdahl establece que la
aceleración general de la aplicación de la mejora será:

Por ejemplo, suponga que se nos asigna una tarea en serie que se divide en cuatro partes
consecutivas, cuyos porcentajes de tiempo de ejecución son p 1 = 0.11 , p 2 = 0.18 , p 3 = 0.23 y

4 de 12 9/8/2019 10:35 p. m.
Ley de Amdahl - Wikipedia https://translate.googleusercontent.com/translate_c?depth=2&hl=es&rurl...

p 4 = 0.48 respectivamente. Luego se nos dice que la primera parte no se acelera, entonces
s 1 = 1 , mientras que la segunda parte se acelera 5 veces, entonces s 2 = 5 , la tercera parte se
acelera 20 veces, entonces s 3 = 20 , y la cuarta parte se aceleró 1.6 veces, entonces s 4 = 1.6 . Al
usar la ley de Amdahl, la aceleración general es

Observe cómo las aceleraciones 5 y 20 veces en la 2da y 3ra parte respectivamente no tienen
mucho efecto en la aceleración general cuando la 4ta parte (48% del tiempo de ejecución) se
acelera solo 1,6 veces.

Programas en serie

Suponga que una tarea tiene dos partes independientes, A y B. La


Parte B toma aproximadamente el 25% del tiempo de todo el cálculo.
Al trabajar muy duro, uno puede hacer que esta parte sea 5 veces más
rápida, pero esto reduce el tiempo del cálculo completo solo

5 de 12 9/8/2019 10:35 p. m.
Ley de Amdahl - Wikipedia https://translate.googleusercontent.com/translate_c?depth=2&hl=es&rurl...

ligeramente. En contraste, uno puede necesitar realizar menos trabajo


para hacer que la parte A funcione dos veces más rápido. Esto hará
que el cálculo sea mucho más rápido que al optimizar la parte B , a
pesar de que la aceleración de la parte B es mayor en términos de la
relación (5 veces versus 2 veces).

Por ejemplo, con un programa en serie en dos partes A y B para el cual T A = 3 sy T B = 1 s ,

si la parte B se ejecuta 5 veces más rápido, es decir s = 5 y p = T B / ( T A + T B ) = 0.25 ,


entonces

si la parte A se ejecuta 2 veces más rápido, es decir s = 2 y p = T A / ( T A + T B ) = 0.75 ,


entonces

Por lo tanto, hacer que la parte A se ejecute 2 veces más rápido es mejor que hacer que la parte B
se ejecute 5 veces más rápido. El porcentaje de mejora en la velocidad se puede calcular como

6 de 12 9/8/2019 10:35 p. m.
Ley de Amdahl - Wikipedia https://translate.googleusercontent.com/translate_c?depth=2&hl=es&rurl...

Mejorar la parte A en un factor de 2 aumentará la velocidad general del programa en un factor


de 1.60, lo que lo hace un 37.5% más rápido que el cálculo original.

Sin embargo, mejorar la parte B en un factor de 5, que presumiblemente requiere más


esfuerzo, logrará un factor de aceleración general de 1.25 solamente, lo que lo hace un 20%
más rápido.

Optimizar la parte secuencial de programas paralelos

Si la parte no paralelizable está optimizada por un factor de   , entonces

De la ley de Amdahl se deduce que la aceleración debida al paralelismo está dada por

7 de 12 9/8/2019 10:35 p. m.
Ley de Amdahl - Wikipedia https://translate.googleusercontent.com/translate_c?depth=2&hl=es&rurl...

Cuando   , tenemos   , lo que significa que la aceleración

se mide con respecto al tiempo de ejecución después de que se optimiza la parte no


paralelizable.

Cuando   ,

8 de 12 9/8/2019 10:35 p. m.
Ley de Amdahl - Wikipedia https://translate.googleusercontent.com/translate_c?depth=2&hl=es&rurl...

Si   ,   y   , entonces:

Transformando partes secuenciales de programas paralelos en paralelizable

A continuación, consideramos el caso en el que la parte no paralelizable se reduce por un factor

9 de 12 9/8/2019 10:35 p. m.
Ley de Amdahl - Wikipedia https://translate.googleusercontent.com/translate_c?depth=2&hl=es&rurl...

de   , y la parte paralelizable se incrementa correspondientemente. Entonces

De la ley de Amdahl se deduce que la aceleración debida al paralelismo está dada por

La derivación anterior está de acuerdo con el análisis de Jakob Jenkov del tiempo de ejecución
frente a la compensación de aceleración. [3]

Relación con la ley de rendimientos decrecientes

La ley de Amdahl a menudo se combina con la ley de rendimientos decrecientes , mientras que
solo un caso especial de aplicación de la ley de Amdahl demuestra la ley de rendimientos
decrecientes. Si uno elige de manera óptima (en términos de la aceleración lograda) qué mejorar,
entonces verá mejoras que disminuyen monotónicamente a medida que mejora. Sin embargo, si
uno elige de manera no óptima, después de mejorar un componente subóptimo y avanzar para
mejorar un componente más óptimo, se puede ver un aumento en el rendimiento. Tenga en
cuenta que a menudo es racional mejorar un sistema en un orden "no óptimo" en este sentido,
dado que algunas mejoras son más difíciles o requieren un mayor tiempo de desarrollo que
otras.

La ley de Amdahl representa la ley de rendimientos decrecientes si al considerar qué tipo de

10 de 12 9/8/2019 10:35 p. m.
Ley de Amdahl - Wikipedia https://translate.googleusercontent.com/translate_c?depth=2&hl=es&rurl...

rendimiento se obtiene al agregar más procesadores a una máquina, si se está ejecutando un


cálculo de tamaño fijo que utilizará todos los procesadores disponibles a su capacidad. Cada
nuevo procesador agregado al sistema agregará menos energía utilizable que el anterior. Cada
vez que se duplica el número de procesadores, la relación de aceleración disminuirá, ya que el
rendimiento total se dirige hacia el límite de 1 / (1 - p ).

Este análisis descuida otros posibles cuellos de botella, como el ancho de banda de memoria y el
ancho de banda de E / S. Si estos recursos no se escalan con el número de procesadores,
simplemente agregar procesadores proporciona retornos aún más bajos.

Una implicación de la ley de Amdahl es que para acelerar las aplicaciones reales que tienen
porciones en serie y paralelas, se requieren técnicas de computación heterogéneas . [4] Por
ejemplo, un procesador heterogéneo CPU-GPU puede proporcionar un mayor rendimiento y
eficiencia energética que un procesador solo de CPU o GPU. [5]

Ver también

Ley de Gustafson

Método del camino crítico

La ley de Moore

Referencias

1. ( Rodgers 1985 , p. 226)

2. Michael McCool; James Reinders; Arch Robison (2013). Programación paralela estructurada:
patrones para computación eficiente . Elsevier pag. 61)

3. http://tutorials.jenkov.com/java-concurrency/amdahls-law.html

4. "Ley de Amdahl en la era multinúcleo", computadora, 41 (7), 33-38, 2008

5. " Una encuesta de técnicas de computación heterogéneas CPU-GPU ", ACM Computing
Surveys, 47 (4), 69: 1–69: 35, 2015

Lecturas adicionales

Amdahl, Gene M. (1967). "Validez del enfoque de procesador único para lograr capacidades
informáticas a gran escala" (PDF) . Actas de la Conferencia AFIPS (30): 483–485. doi : 10.1145

11 de 12 9/8/2019 10:35 p. m.
Ley de Amdahl - Wikipedia https://translate.googleusercontent.com/translate_c?depth=2&hl=es&rurl...

/ 1465482.1465560 .
Rodgers, David P. (junio de 1985). "Mejoras en el diseño de sistemas multiprocesador" . ACM
SIGARCH Noticias de Arquitectura de Computadores . Nueva York, NY, EE. UU .: ACM . 13 (3):
225–231. doi : 10.1145 / 327070.327215 . ISBN 0-8186-0634-7 . ISSN 0163-5964 .

Enlaces externos

Wikimedia Commons tiene medios relacionados con la ley de Amdahl .

"Programación paralela: ¿Cuándo la ley de Amdahl es inaplicable?" . Archivado desde el


original el 14/04/2013 . Consultado el 26 de junio de 2011 .
Entrevista de historia oral con Gene M. Amdahl Charles Babbage Institute , Universidad de
Minnesota (1989). Amdahl habla sobre su trabajo de posgrado en la Universidad de Wisconsin
y su diseño de WISC . Discute su papel en el diseño de varias computadoras para IBM,
incluyendo STRETCH , IBM 701 e IBM 704 . Analiza su trabajo con Nathaniel Rochester y la
gestión del proceso de diseño de IBM. Menciona el trabajo con Ramo-Wooldridge ,
Aeronutronic y Computer Sciences Corporation.

Ley de Amdahl: no todas las mejoras de rendimiento son iguales (2007)

"Ley de Amdahl" por Joel F. Klein, Wolfram Demonstrations Project (2007)

Ley de Amdahl en la era multinúcleo (julio de 2008)

Lo que el $ # @! es el paralelismo, de todos modos? (Charles Leiserson, mayo de 2008)

Evaluación de la función Intel Core i7 Turbo Boost , por James Charles, Preet Jassi, Ananth
Narayan S, Abbas Sadat y Alexandra Fedorova (2009)

Cálculo de la aceleración de programas paralelos en función del número de hilos , por


George Popov, Valeri Mladenov y Nikos Mastorakis (enero de 2010)

Danny Hillis - Probar mal la ley de Amdahl, video grabado en octubre de 2016

Last edited 3 months ago by InternetArchiveBot

12 de 12 9/8/2019 10:35 p. m.

Anda mungkin juga menyukai