You are on page 1of 3

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL

MAESTRÍA EN SISTEMAS DE INFORMACIÓN GERENCIAL

TENDENCIAS DE LA INFORMÁTICA

ACTIVIDAD III
Profundizando en la Ley de Amdahl

1. Objetivo

Conocer con más profundidad y aplicar la Ley de Amdahl.

2. Metodología

El curso se divide en grupos de 5 personas, preferiblemente los mismos grupos creados


para la escritura de artículos. Cada grupo deberá trabajar con problemas relacionados a la
Ley de Amdahl. Para ello, se recomienda tomar en cuenta las dos siguientes
observaciones:

1. La ley de Amdahl puede aplicarse para determinar cualquier tipo de mejora en un


sistema de procesamiento, no únicamente los causados por paralelismo. En forma
general entonces Ws podría ser vista como aquella carga que no puede estar sujeta
a la mejora introducida y Wp a la parte de la carga que si puede aprovechar la
mejora.
2. Si se tienen dos sistemas, el uno sin mejorar y el otro mejorado (por ejemplo, el
uno sin paralelismo y el otro con paralelismo). Se podría trabajar en términos de
porcentajes de la carga de trabajo que puede aprovechar la mejora introducida en
el sistema. En ese caso la ley de Amdahl puede expresarse como:

Donde PCs es el porcentaje de carga no mejorable, PCp es el porcentaje de carga


mejorable. Además PCs + PCp = 1

Los integrantes de cada grupo deben organizarse para resolver los siguientes problemas:

PROBLEMA 1:
Suponga que el 80% de un programa puede correrse de forma paralela. Determine la
máxima aceleración posible que se puede lograr con un sistema de múltiples
procesadores. Si el tiempo de ejecución del programa en un computador de un solo
procesador es de 10 segundos, entonces ¿cuál es el mejor resultado (mínimo tiempo de
ejecución) que se puede lograr con el sistema de múltiples procesadores?

PROBLEMA 2:
Suponga que un fabricante construye un nuevo CPU que es 10 veces más rápido que el
mejor de los procesadores que actualmente tiene el mismo fabricante. Sin embargo,
debido a limitaciones del sistema de I/O, el 60% del tiempo de cualquier cómputo se
invierte en espera por ser atendido por el sistema de I/O. Es decir, la rapidez con la que
los datos son procesados es más rápida que la de la rapidez para leer o escribir los datos
(este problema en inglés se denomina I/O bound). Basado en estos datos, determine la
aceleración (S) del nuevo CPU. Pregunta de opinión: ¿Si este fabricante vendería su
nuevo CPU indicando que tiene una velocidad 10x sobre su antecesor, estaría mintiendo o
no?

PROBLEMA 3:
Se le presenta la oportunidad de escoger entre dos computadores. El primero es un
computador mono-procesador que ejecuta cinco billones de instrucciones por segundo. El
segundo es un computador con un procesador de 10 núcleos (cores) donde cada uno
ejecuta un billón de instrucciones por segundo. Explicar justificadamente cual usted
escogería dependiendo de aplicaciones específicas que usted desea procesar.

PROBLEMA 4:
Considere que usted tiene un computador basado en 10 procesadores. Entonces,
determinar la aceleración para cada uno de los siguientes casos:
1. El 60% del programa puede correr concurrentemente
2. El 80% del programa puede correr concurrentemente
3. El 90% del programa puede correr concurrentemente

Discuta brevemente la posibilidad de llegar a lograr un incremente de 10 veces la


velocidad en este computador vs uno con un solo procesador de idénticas características.

PROBLEMA 5:
Suponga que se proponen 3 mejoras para una arquitectura de computador. Cada mejora
presenta una aceleración (S) diferente:

 Mejora 1 presenta una aceleración de 60


 Mejora 2 presenta una aceleración de 20
 Mejora 3 presenta una aceleración de 10

Se conoce que la primera mejora puede ser utilizada el 10% del tiempo de procesamiento.
La segunda mejora el 15% del tiempo. La tercera mejora puede ser utilizada el 45% del
tiempo. El resto del tiempo de procesamiento no puede aprovechar las mejoras. Entonces
determinar la aceleración que introduce el sistema mejorado. Discusión ¿Qué tanto
impacto ha tenido la mejora 1? ¿A qué se debe esto?

PROBLEMA 6:
Para la misma arquitectura del problema anterior con las mismas mejoras propuestas.
Suponga que se mantienen las fracciones de los tiempos de ejecución correspondientes a

PROBLEMA 7:
Una tarea dedica el 25% de su tiempo en la ejecución de operaciones de punto flotante.
¿Cuál es la aceleración máxima posible si se introducen mejoras en el sistema únicamente
para la ejecución de operaciones de punto flotante?
PROBLEMA 8:
Suponga que se tiene un algoritmo para procesamiento de imágenes. La imagen está
representada como una matriz de bits de dimensiones N x N (N filas y N columnas). El
algoritmo está compuesto de dos etapas. En la primera etapa se debe transformar cada
elemento de la matriz. En la segunda etapa se debe calcular la suma de todos los
elementos de la matriz. Entonces:
1. Determinar el número de operaciones que se deben realizar de manera secuencial.
2. Asuma que la primera etapa se la puede procesar paralelamente en P
procesadores diferentes. Calcular la aceleración que esta mejora introduce.

PROBLEMA 9:
Su compañía ha comprado un nuevo computador que incluye un procesador de cuatro
núcleos. Entonces se le pide a usted optimizar el software que se va a correr en este
procesador. Específicamente, son dos aplicaciones pero de características diferentes.
Entonces
1. Si el 30% de la primera aplicación es paralelizable, ¿cuál sería la aceleración si
esa aplicación se corre por separado?
2. Si el 90% de la segunda aplicación es paralelizable, ¿cuál sería la aceleración si
esa aplicación se corre por separado?

3. Entregable

Cada grupo deberá entregar un documento con la solución a los problemas.