Está en la página 1de 18

13/02/2013

1
Computacin
Paralela
Eficiencia
La eficiencia y aceleracin
La aceleracin de un algoritmo paralelo
ejecutado usando p procesadores es la razn
entre el tiempo que tarda el mejor algoritmo
secuencial en ser ejecutado usando un
procesador en un computador y el tiempo
que tarda el correspondiente algoritmo
paralelo en ser ejecutado en el mismo
computador usando p procesadores
La eficiencia de un algoritmo paralelo
ejecutado en p procesadores es la
aceleracin dividida por p.
13/02/2013
2
Mtricas de rendimiento
Mtricas del rendimiento.
Tiempo de respuesta, productividad
Mtricas del costos.
Generalmente , $...,
Mtricas de las prestaciones.
Relacin entre rendimiento y productividad.
Importan a los clientes y vendedores de computadores
Qu mquina proporciona el mayor rendimiento?
Qu mquina tiene el menor costo?
Qu mquina tiene la mejor relacin rendimiento/costo?
Importan a lo diseadores de computadores
Qu diseo proporciona mayor rendimiento?
Qu diseo tiene menor costo?
Qu diseo tiene la mejor relacin rendimiento/costo?
Tiempo de respuesta y
productividad
Una lnea de ensamble de un producto comienza un
producto nuevo cada 30s y en la lnea existen 6 productos
en distintas fases de la lnea de produccin.
Tiempo de respuesta (usuario) de 180s (30*6)
Productividad de 1 producto /30 segundos.

El cambio de procesador de un computador disminuye el
tiempo de respuesta, aumenta la productividad o ambos?
La adicin de procesadores a un computador que asigna
un procesador a cada tarea disminuye el tiempo de
respuesta, aumenta la productividad o ambos?

13/02/2013
3
rendimiento
El rendimiento de un computador es el
inverso del tiempo de ejecucin.


Un computador X es n veces ms rpido que
un computador Y cuando


Un computador X (Y) es n% veces ms rpido
(lento) que un computador Y (X) cuando:


Ejemplo
Una computadora ejecuta un programa
en 10s y otra computadoras con
caractersticas distintas lo ejecuta en 15s
determinar:
Que tanto es ms rpida la primer
maquina respecto a la segunda
Que tan lenta es la segunda respecto a la
primera

13/02/2013
4
Mtricas de rendimiento
MIPS (Million Instructions PerSecond)
MFLOPS (Millions of Floating Point Operations Per Second)
Frecuencia del reloj (MHz, GHz) inversa del periodo de reloj
Tiempo de ejecucin.
MIPS, MFLOPS no son medidas fiables
El tiempo es la nica medida fiable del rendimiento de un
computadorMedida del tiempo
El sistema operativo UNIX proporciona la orden time nombre de
programa para medir el tiempo
Ejemplo de salida de time:
$ time ls
1 2 3 back.tar.gz backup.tar
real 0m0.01s
user 0m0.00s
sys 0m0.01s
Forma bsica
El tiempo de CPU es el tiempo que la CPU
tarda en la ejecucin de un programa
T cpu = # ciclo de reloj pro programa X tiempo
de ciclo
Ciclo por instruccin (medio)
CPI medio = (# ciclo de reloj por programa)/ #
instrucciones
Tiempo de CPU = # de instrucciones por
programa Ciclos por instruccin(medio)
Tiempo de ciclo.
Tcpu = N x CPI x Tc


13/02/2013
5
El clculo del CPImedio considera los tipos,
los CPI individuales y los promedios de uso de
las instrucciones
CPI medio = CPIi X IC i
IC es el porcentaje del # de instrucciones de
tipo-i ejecutadas
CPIi es el # de ciclos de reloj por instruccin
del tipo-i
n es el # de instrucciones
CPImedio vara con los programas y los datos
de entrada
Ejemplo
Si tenemos dos computadoras A y B con
idnticas arquitecturas en su conjunto de
instrucciones:
A tiene Tc= 1ns y CPI = 2 para un programa
concreto
B tiene Tc= 2ns y CPI de 1.2 para ese
programa.
Cunto ms rpida (en %) sera una
mquina que la otra?
Cunto ms lenta (en %) sera una mquina
que la otra?
13/02/2013
6
Ejemplo 2
Un programa escrito en C#
tarda 30s en un procesador.
Con la nueva versin del
compilador C# el nmero de
instrucciones a ejecutar es
reducido en un 40% pero el CPI
aumenta en un 1.1%. Cunto
tiempo tardar la aplicacin en
terminar?
Ley de amdahl
Eugene Myron
Amdahl
16 de noviembre de
1922
Arquitecto de
computadoras.
Trabajo para IBM.
IBM System/360
Comercial Data
Servers
13/02/2013
7
Ley de Amdahl

La ley de Amdahl es un modelo
matemtico que describe la relacin
entre la aceleracin
esperada de la implementacin paralela
de un algoritmo y la implementacin
serial del mismo algoritmo
Ley de amdahl
Hipotticamente, si uno dobla el nmero
de procesadores, el tiempo de
realizacin de una tarea, debera
reducirse a la mitad.
Si se duplica el nmero de procesadores
continuamente, entonces se debera
acortar a la mitad el tiempo de ejecucin

13/02/2013
8
Algunas de la restricciones que se deben considera al
momento de pensar en paralelizar.
Una o ms porciones que no se pueden paralelizar
Una o ms porciones paralelizables
13/02/2013
9
Definicin
Evala como cambia el rendimiento al mejorar una
parte de la computadora.
Define el aceleracin (aceleracin) que se puede
alcanzar al usar cierta mejora.


Alternativamente

mejora la usar sin o Rendimient
mejora la usar al o Rendimient
n Aceleraci =
mejora la con ejecucin de Tiempo
mejora la sin ejecucin de Tiempo
n Aceleraci =
17
Factores
El aceleracin depende de dos factores:
1. La fraccin del proceso original que puede ser
mejorado.
Si la mejora afecta 20 segundos de un proceso
que tarda 60 segundos, entonces Fraccin
mejora
=
20/60.
2. Aceleracin de la fraccin que puede ser
mejorada.
Si la mejora hace que la parte que tardaba 20
segundos ahora tarde 12, aceleracin
mejora
=
20/12.
18
13/02/2013
10
Tiempo de ejecucin
El tiempo de ejecucin mejorado es igual al tiempo
que no se usa la mejora mas el tiempo que si usa la
mejora.


|
.
|

\
|
+ =
mejora
mejora
mejora viejo nuevo
n Aceleraci
Fraccin
) Fraccin - (1 ejecucin de Tiempo ejecucin de Tiempo
19
Ejemplo
Tiempo de ejecucin original: 60 segundos.
Mejora: 20 segundos se hacen ahora en 12.
Fraccin
mejora
: 20/60 = 0.333.
aceleracin
mejora
: 20/12 = 1.667.
Tiempo de ejecucin con la mejora:
60 x ((1 0.333) + 0.333/1.667) =
60 x (0.667 + 0.2) =
60 x (0.867) =
52
20
13/02/2013
11
aceleracin global
El aceleracin global es:
mejora
original
global
ejecucin de Tiempo
ejecucin de Tiempo
n Aceleraci =
mejora
mejora
mejora
global
n Aceleraci
Fraccin
) Fraccin - (1
1
n Acelaraci
+
=
21
Alternativamente:
Ejemplo
Fraccin
mejora
: 20/60 = 0.333.
aceleracin
mejora
: 20/12 = 1.667.
Tiempo de ejecucin original: 60 segundos.
Tiempo de ejecucin con la mejora: 52 segundos.
aceleracin
global
= 60 / 52 = 1.15.
aceleracin
global
= 1 / ((1 0.333) + (0.333 / 1.667)) =
1.15.

22
13/02/2013
12
Otro ejemplo
Un programa tarda 100 segundos en correr.
El programa pasa 80 segundos en un
procedimiento.
Qu tanto se debe mejorar ese procedimiento
para que todo el programa corra 5 veces ms
rpido?
23
Otro ejemplo
Usamos la ley de Amdahl:


Tiempo de ejecucin original: 100 segundos.
Tiempo de ejecucin nuevo: 20 segundos.
Fraccin mejorada: 80 / 100 = 0.8
Falta por saber el aceleracin de la mejora.
|
.
|

\
|
+ =
mejora
mejora
mejora viejo nuevo
n Aceleraci
Fraccin
) Fraccin - (1 ejecucin de Tiempo ejecucin de Tiempo
24
13/02/2013
13
Otro ejemplo
20 = 100 x ((1 0.8) + (0.8 / aceleracin
mejora
))
20 = 100 x (0.2 + 0.8 / aceleracin
mejora
)
20 = 20 x 80 / aceleracin
mejora

20 20 = 80 / aceleracin
mejora

0 = 80 / aceleracin
mejora


No hay forma de que el programa mejorado corra
en 20 segundos.
25
Corolario de la ley de Amdahl
El aceleracin global est limitado por la fraccin del
programa que se puede mejorar.
mejora
global
Fraccin - 1
1
n Aceleraci <
26
Cmo se interpreta ese lmite cuando Fraccin
mejora
es 1?
13/02/2013
14
Ejemplo
Se tiene una computadora personal
Se le cambia la CPU por una CPU que es 10 veces
ms rpida que la antigua.
La CPU antigua estaba 40% del tiempo haciendo
clculos y 60% ociosa esperando I/O.
Cul es el aceleracin global con la nueva CPU?

27
Ejemplo
Fraccin que se puede mejorar: 40% = 0.4.
aceleracin de la mejora: 10.
El corolario de la ley de Amdahl limita el
aceleracin global:
aceleracin
global
< 1 / (1 0.4) = 1.67
Usando la ley de Amdahl, el aceleracin global es:
mejora
mejora
mejora
global
n Aceleraci
Fraccin
) Fraccin - (1
1
n Aceleraci
+
=
28
13/02/2013
15
Ejemplo
El aceleracin global es:

1 / ((1 0.4) + (0.4 / 10)) = 1.56

El servidor con la nueva CPU es 1.56 veces ms
rpido que el servidor con la antigua CPU.

29
Aplicaciones
La ley de Amdahl se puede usar para comparar
entre dos opciones.
Se quiere mejorar un programa que hace ciertos
clculos. Hay dos opciones:
1. Comprar un chip que acelera el 20% del programa
10 veces.
2. Recodificar el 50% del programa para que corra 1.6
veces ms rpido.
Qu opcin ofrece mejor aceleracin?

30
13/02/2013
16
Aplicaciones
Se usa la ley de Amdahl:



Opcin 1:
Fraccin
mejora
= 0.2
aceleracin
mejora
= 10
aceleracin
global
= 1 / ((1 0.2) + (0.2 / 10)) = 1.219
mejora
mejora
mejora
global
n Aceleraci
Fraccin
) Fraccin - (1
1
n Aceleraci
+
=
31
Aplicaciones
Opcin 2:
Fraccin
mejora
= 0.5
aceleracin
mejora
= 1.6
aceleracin
global
= 1 / ((1 0.5) + (0.5 / 1.6)) = 1.231
No hay mucha diferencia entre 1.219 y 1.231.
Hay que considerar otros factores en la decisin.
32
13/02/2013
17
Aplicaciones
La ley de Amdahl se puede usar en otros estudios.
Un sistema de discos en un centro de cmputo tiene
varios componentes.
Cuando se presenta una falla, el porcentaje de que sea
alguno de los componentes es como sigue:
Componente Porcentaje
Discos 43%
Controlador SCSI 9%
Fuente de poder 22%
Abanico 22%
Cable SCSI 4%
33
Aplicaciones
Un estudio determina que instalando otra fuente de
poder eleva la confiabilidad (tiempo medio entre
fallas) de las fuentes de poder en 4,150 veces.
Qu tanto se eleva la confiabilidad de todo el
sistema de discos?
34
13/02/2013
18
Aplicaciones
La ley de Amdahl se puede adaptar:



Fraccin
mejora
= 0.22.
Confiabilidad
mejora
= 4150.
La confiabilidad global es:
1 / ((1 0.22) + (0.22 / 4150) = 1.28
La confiabilidad del sistema con dos fuentes de
poder es 1.28 veces que con una sola fuente de
poder.

mejora
mejora
mejora
global
dad Confiabili
Fraccin
) Fraccin 1 (
1
dad Confiabili
+
=
35
Gracias por
su atencin

También podría gustarte