Saltar al contenido principal
Library homepage
 
LibreTexts Español

2.1: La ley de Amdahl

  • Page ID
    154352
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Introducción

    La sección introduce a los alumnos a la ley de Amdahl; esta ley introduce el concepto de cómo encontrar la máxima mejora esperada a un sistema general cuando solo se mejora una parte del sistema.

    Detalles de la actividad

    La ley de Amdahls también se conoce como argumento de Amdahl. Se utiliza para encontrar la mejora máxima esperada para un sistema general cuando solo se mejora una parte del sistema. A menudo se utiliza en computación paralela para predecir la máxima velocidad teórica usando múltiples procesadores.

    La ley lleva el nombre del arquitecto informático Gene Amdahl.

    Ley de Amdahl: es ley utilizada para encontrar la máxima mejora esperada a un sistema general cuando solo se mejora parte del sistema. A menudo se utiliza en computación paralela para predecir la máxima velocidad teórica usando múltiples procesadores.

    La aceleración de un programa que utiliza múltiples procesadores en computación paralela está limitada por el tiempo necesario para la fracción secuencial del programa. Por ejemplo, si un programa necesita 20 horas usando un solo núcleo de procesador, y una porción particular del programa que tarda una hora en ejecutarse no se puede paralelizar, mientras que las 19 horas restantes (95%) del tiempo de ejecución se pueden paralelizar, entonces independientemente de cuántos procesadores estén dedicados a una ejecución paralelizada de este programa, el tiempo mínimo de ejecución no puede ser inferior a esa hora crítica. De ahí que la aceleración teórica se limite a como máximo 20\(\times\).

    Ecuación

    Una tarea que puede ser paralelizada se puede dividir en dos partes:

    • Una parte no paralelizable (o parte en serie) que no puede ser paralelizada;
    • Una parte paralelizable que puede ser paralelizada.

    Ejemplo\(\PageIndex{1}\)

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

    Se denota el tiempo necesario para ejecutar toda la tarea en serie (no en paralelo)\(T\). El tiempo\(T\) incluye el tiempo tanto de las partes no paralelizables como paralellizables. La porción de tiempo para ejecutar en serie la parte paralelizable se denota P. La porción de tiempo para ejecutar en serie la parte no paralizable es entonces\(1 - P\).

    De esto se desprende que:\(T=(1-P)T+PT\)

    Es la parte paralelizable\(P\) que se puede acelerar ejecutándola en paralelo. Cuánto se puede acelerar depende de cuántas subtareas se ejecuten en paralelo. El tiempo de ejecución teórica de la parte paralelizable en un sistema capaz de ejecutar\(N\) subtareas en paralelo.

    La ley de Amdahl da el tiempo de ejecución teórico T (N) de toda la tarea en un sistema capaz de ejecutar N subtareas en paralelo:

    En consecuencia, el mejor tiempo de ejecución teórica (con un número infinito de subtareas) de toda la tarea es

    En términos de aceleración teórica general, la ley de Amdahl se da como

    y la mejor aceleración general teórica es

    Como ejemplo, si\(P\) es 90%, entonces\(1 - P\) es 10%, y la tarea puede acelerarse en un máximo de un factor de 10, no importa cuán grande sea el valor de N utilizado. Por esta razón, la computación paralela solo es útil para pequeñas cantidades de procesadores y problemas con valores muy altos de\(P\) (cercanos al 100%): los llamados problemas vergonzosamente paralelos. Gran parte del oficio de la programación paralela consiste en intentar reducir el componente\(1 - P\) al menor valor posible.

    En computación paralela, se\(P\) puede estimar usando la aceleración medida\(S(N)\) en un número específico de procesadores\(N\) usando

    \(P\)estimado de esta manera puede entonces ser utilizado en la ley de Amdahl para predecir la aceleración para un número diferente de procesadores.

    Conclusión

    Esta dependencia introdujo al alumno a la ley de Amdahl. Se utilizaron ejemplos para enseñar al alumno cómo encontrar la mejora máxima esperada de un sistema general cuando solo se mejora una parte del sistema.

    1. Describir brevemente la ley Amdahls sobre computación paralela

    En la arquitectura informática, la ley de Amdahl (o el argumento de Amdahl) da la aceleración teórica en la latencia de la ejecución de una tarea a 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 fue presentado en la Conferencia Conjunta de Computación AFIPS Spring en 1967.

    La ley de Amdahl puede formularse de la siguiente manera:

    donde

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

    • \(s\)es la aceleración en la latencia de la ejecución de la parte de la tarea que se beneficia de la mejora de los recursos del sistema;

    • \(p\)es el porcentaje del tiempo de ejecución de toda la tarea concerniente a la parte que se beneficia de la mejora de los recursos del sistema antes de la mejora.


    This page titled 2.1: La ley de Amdahl is shared under a CC BY-SA license and was authored, remixed, and/or curated by Harrison Njoroge (African Virtual University) .