La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Clustering Redes II 2014. Sobre la base que ya conocen… … los clusters requieren un apilamiento de máquinas de diversa estructura, con el fin de repartirse.

Presentaciones similares


Presentación del tema: "Clustering Redes II 2014. Sobre la base que ya conocen… … los clusters requieren un apilamiento de máquinas de diversa estructura, con el fin de repartirse."— Transcripción de la presentación:

1 Clustering Redes II 2014

2 Sobre la base que ya conocen… … los clusters requieren un apilamiento de máquinas de diversa estructura, con el fin de repartirse entre ellas una(s) carga(s) computacionales que en equipos separados tomarían mas tiempo. Sin embargo, la idea es pasar de esto… …a esto!

3 Filosofía del Multiprocesamiento…

4 Según para lo que quiera operar en el cluster, estos se dividen en: HPCC (High Performance Computing Clusters).– investigación HA o HACC (High Availability Computing Clusters). -- empresa HT o HTCC (High Throughput Computing Clusters). -- empresa El HPCC (o HPC para otros autores), es el típico para el manejo de cargas científicas ya que se requiere que hagan lo mejor posible con lo que tienen, archivos de gran tamaño (gigas) o de gran carga computacional (o ambos!!) El HA (o HAC para otros autores), es el requerido para aplicaciones criticas con incidencia 24/7*365, o sea, NUNCA se deben apagar por el costo que ello implica o sea, máxima disponibilidad y confiabilidad. El HTC es el que se emplea para ejecutar la mayor cantidad de tareas en el menor tiempo posible, como por ejemplo los sistemas bancarios de simulación de datos financieros (e.g. Wall Street) y demás requerimientos donde se necesitan los resultados en el menor tiempo posible.

5

6 Ley de Moore y Amdahl Ley de Moore fue acuñado por el profesor de Caltech Carver Mead en honor al cofundador de Intel Gordon E. Moore quien introdujo el concepto en un paper en 1965. En el verano de 1968, Gordon Moore creó Intel junto con Robert Noyce, compañero de labores en la empresa donde trabajaban:

7 Ley de Moore y Amdahl Esta planteó inicialmente que el número de transistores que puede colocarse dentro de un chip de Si, se dobla aprox. 2 años. Sin embargo, Mead modificó su propia ley en 1975 al corroborar que el ritmo bajaría, y que la capacidad de integración se duplicaría aproximadamente cada 18 meses. siempre el crecimiento de transistores incremento directo de rendimiento La capacidad de cada componente de un computador se ve afectada por la Ley de Moore. Generalmente estos aumentos son exponenciales. Pero en términos de procesadores, no siempre el crecimiento de transistores no se traduce en un incremento directo de rendimiento.

8 Ley de Moore y Amdahl Por ello, el propio Moore determinó una fecha de caducidad para su ley: "Mi ley dejará de cumplirse dentro de 10 o 15 años -desde 2007-", según aseguró durante la conferencia en la que afirmó, no obstante, que una nueva tecnología vendrá a suplir a la actual.

9

10

11

12 Ley de Moore y Amdahl Particularmente, en los procesadores multicore, las aplicaciones seriales no se ejecutan sustancialmente más rápido. Hay muchos casos, donde hay un incremento de un 45% en el número de transistores, éste sólo se traduce a un rango entre el 10 al 20% de rendimiento. teóricamente Ahora; teóricamente, si uno dobla el número de procesadores, el tiempo de ejecución debería reducirse a la mitad. Si se dobla el número de procesadores sucesivamente, entonces se debería acortar a la mitad el tiempo de ejecución pero ello está atado a otra consideración paradigmática…

13 Ley de Moore y Amdahl La ley de Amdahl es un modelo matemático que describe la relación entre la aceleración esperada de la implementación paralela de un algoritmo y la implementación serial del mismo algoritmo. Técnicamente la ley de Amdahl trata sobre la aceleración S que se puede alcanzar a partir de las modificaciones (mejoras) de una porción P de un cálculo.

14 Ley de Moore y Amdahl Como así?? La Ley define el S peedup (aceleración del rendimiento) que se puede alcanzar al usar cierta mejora El S peedup depende de dos factores: 1.La fracción del proceso original que puede ser mejorado. Si la mejora afecta 20 segundos de un proceso que tarda 60 segundos, entonces Fracción mejora = 20/60. 2.Aceleración de la fracción que puede ser mejorada. Si la mejora hace que la parte que tardaba 20 segundos ahora tarde 12, Speedup mejora = 20/12.

15 Ley de Moore y Amdahl Luego, si se realiza una mejora del 30% en el tiempo de ejecución del cálculo, entonces la porción modificada (mejorada) será 0.3 Y si la porción modificada se ejecuta el doble de rápido, entonces la aceleración será igual a 2. Si se considera el número de procesadores ( N ) en la relación tendremos

16

17 Tiempo de ejecución El tiempo de ejecución mejorado es igual al tiempo que no se usa la mejora mas el tiempo que si usa la mejora.

18 ¬ Tiempo de ejecución original: 60 segundos. ¬ Mejora: 20 segundos se hacen ahora en 12. ¬ Fracción de la mejora: 20/60 = 0.333. ¬ Speedup de la mejora: 20/12 = 1.667. ¬ Tiempo de ejecución con la mejora: 60 x ((1 – 0.333) + 0.333/1.667) = 60 x (0.667 + 0.2) = 60 x (0.867) = 52 Ejemplo

19 Speedup global El speedup global es: Alternativamente:

20 Ejemplo Fracción mejora: 20/60 = 0.333. Speedup mejora: 20/12 = 1.667. Tiempo de ejecución original: 60 segundos. Tiempo de ejecución con la mejora: 52 segundos. Speedup global = 60 / 52 = 1.15. Speedup global = 1 / ((1 – 0.333) + (0.333 / 1.667)) = 1.15.

21 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 más rápido?

22 Otro ejemplo Usamos la ley de Amdahl: Tiempo de ejecución original: 100 segundos. Tiempo de ejecución nuevo: 20 segundos. Fracción mejorada: 80 / 100 = 0.8 Falta por saber el speedup de la mejora.

23 Otro ejemplo 20 = 100 x ((1 – 0.8) + (0.8 / Speedupmejora)) 20 = 100 x (0.2 + 0.8 / Speedupmejora) 20 = 20 x 80 / Speedupmejora 20 – 20 = 80 / Speedupmejora 0 = 80 / Speedupmejora No hay forma de que el programa mejorado corra en 20 segundos.

24 Corolario de la ley de Amdahl El speedup global está limitado por la fracción del programa que se puede mejorar. ¿Cómo se interpreta ese límite cuando Fracción mejora es 1?

25 Ejemplo Se tiene un servidor de Web. Se le cambia la CPU por una CPU que es 10 veces más rápida que la antigua. La CPU antigua estaba 40% del tiempo haciendo cálculos y 60% ociosa esperando I/O. ¿Cuál es el speedup global con la nueva CPU?

26 Ejemplo Fracción que se puede mejorar: 40% = 0.4. Speedup de la mejora: 10. El corolario de la ley de Amdahl limita el speedup global: Speedupglobal < 1 / (1 – 0.4) = 1.67 Usando la ley de Amdahl, el speedup global es:

27 Ejemplo El speedup global es: 1 / ((1 – 0.4) + (0.4 / 10)) = 1.56 El servidor con la nueva CPU es 1.56 veces más rápido que el servidor con la antigua CPU.

28 Test Se tiene un servidor Dell con procesador Xeon de 3,2 GHz. Se tiene además varios PC´s Dell con procesadores Pentium 4 de 3 GHz. Con cuantos PC´s se puede tener un desempeño superior al del servidor? ¿Cuál es el speedup global del servidor y de los PC´s?

29 Claramente nos faltan detalles al respecto… buscando “Xeon de 3,2 GHz vs Pentium 4 de 3GHz”, nos aparece esta página:

30 Tarea-Taller Con base en algún algoritmo matemático que posean, hacer lo siguiente: 1. Determinar cuanto tiempo demora su ejecución en una maquina de referencia, para al menos 10 valores, los cuales deber ser tomados con un mínimo de 3 muestras 2. diagramar las curvas de desempeño en varias ejecutadas vs. Tiempo de ejecución 3. Mejorar dicho algoritmo para que corra mas eficientemente. 4. repetir paso 1 5. Hacer los pasos 1 a 4 en otra maquina diferente en hardware 6. Comparar las graficas logradas entre una y otra maquina en los sectores de la curva donde sea mas plano, o donde se pueda acotar un comportamiento lineal. 7. Volver a los colorarios de Amdahl y determinar que tan potente es una máquina frente a otra. 8. Concluir.

31 Modelos de Programación Paralela El modelo debe proveer un mecanismo para el desarrollo de programas paralelos eficientes! Debe permitir concurrencia, abstracción, portabilidad y modularidad. Debe ser escalable, independiente de la asignación y con un modelo de costo fiable

32 La computación paralela implica una o mas tareas concurrentes. Estas tareas se llaman JOBS Cada JOB implica: programa secuencial + uso memoria local + id dentro del contexto de comunicación. Se envía el mensaje > se recibe el mensaje > se crea el JOB > se destruye el JOB Modelos de Programación Paralela

33 Retomando la ley de Amdahl: cada algoritmo tiene una parte intrínsecamente no paralelizable, o sea, secuencial. Esto limitará la velocidad que se logra en un clúster. El T mínimo de ejecución en paralelo implica la relación contra el componente secuencial del mismo: T/s O sea: si el 20% de un algoritmo no es paralelizable, la ganancia máxima es 5 Modelos de Programación Paralela

34

35 Tiempo de ejecución paralelo: Tiempo transcurrido desde que el primer procesador empieza a ejecutar el programa hasta que el último termina su ejecución. Modelos de Programación Paralela


Descargar ppt "Clustering Redes II 2014. Sobre la base que ya conocen… … los clusters requieren un apilamiento de máquinas de diversa estructura, con el fin de repartirse."

Presentaciones similares


Anuncios Google