3. Diferentes sistemas cooperan a la hora de realizar una tarea con la máxima eficacia, sin embargo… estos tienen características diferentes (distinto rendimiento) ¿Cómo obtener entonces un buen rendimiento? Existen sistemas heterogéneos dedicados y no dedicados
4. La representación interna de datos: Sobrecarga asociada a la conversión de los datos durante el intercambio de mensajes entre máquinas. Problemas en algoritmos de tipo numérico que demandan una alta precisión. Ejemplo: clusters que combinan arquitecturas de 32/64 bits.
5. La memoria: cuando las cantidades de memoria disponibles en cada máquina no son las mismas o aún siendo las mismas, puede haber diferencias en algunos niveles de la jerarquía de memoria.
6. La red: diferentes capacidades de comunicación que tienen los distintos procesadores. Ts tw El envío de n datos punto a punto entre dos procesadores puede ser modelado mediante la fórmula: tcom=tsi,j+twi,j n
7. El programa: Una forma de caracterizarlo es mediante los tipos de bucles existentes: Bucles homogéneos o regulares: el número de operaciones por iteración es siempre el mismo y los procesadores realizan siempre la misma cantidad de trabajo. Bucles heterogéneos o irregulares: el número de operaciones por iteración puede variar de una iteración a otra.
8. El software base: En un sistema paralelo se pueden encontrar diferencias en: Los sistemas operativos de las máquinas. En el sistema de archivos. En la comunicación entre procesos. En los compiladores y lenguajes disponibles, etc.
9. Solución Se asigna trabajo a cada sistema en función de sus características 9
10. Los beneficios que se obtienen: Proporciona un mecanismo de colaboracióntransparente entre gruposdispersos, tanto científicos comocomerciales. - Posibilita el funcionamiento de aplicacionesa gran escala. - Facilita el acceso a recursos distribuidosdesde nuestros PCs.
11. Servicios requeridos: servicio de autenticación servicio de autorización servicio de acceso a datos remotos servicio de caracterización servicios de monitorización servicio de planificación de los recursos
12. Planificación de trabajos: Proceso de toma dedecisiones que tienen que ver con recursos sobre múltiples dominios administrativos Los planificadores grid tienen que tomar decisiones basándose en la información de la que disponen Selección de recursos (a veces denominada como descubrimiento derecursos), Aasignación de los trabajos a estos recursos ( resource mapping o matching) Etapas de planificación: Descubrimiento derecursos Selección de losmejores recursos Reserva Eejecución deltrabajo
13. Ejemplo 1 GRID: LHC (CERN)- ¿QUE ES EL LHC? LHC: es una red mundial que conecta miles de universidades y centros de investigación de todo el mundo, y que permitirá distribuir toda esta información a los 7 mil físicos que conforman la red. Se envian datos provenientes de 150 millones de sensores, los cuales estudian 600 millones de colisiones de protones por segundo Se generan 15 millones de GB por año. ¿Cómo harán los físicos para analizar toda esta información? Divide y venceras-> grid ¿SE NECESITAN TANTOS GIGABYTES PARA DESCRIBIR UN EXPERIMENTO DONDE SOLO INTERVIENEN DOS PARTICULAS?
16. Tier 1, es decir, los servidores de mayor rango, son 9: AOL, AT&T, Global Crossing, Level3, Verizon Business, NTT Communications, Qwest, Cogent, SAVIS y SprintLink
17. Éstos, a su a vez, distribuyen la información a más de 150 Tier 2, y de ahí la información pasa a los físicos
20. Ejemplo 3: BOINC (http://boinc.berkeley.edu) Boinc es un programa que te permite donar tiempo de inactividad de su ordenador a proyectos como SETI@HOME ClimatePrediction Rosetta@home WorldcommunityGrid Muchos otros Despues de instalar BOINC puedes unir tu ordenador a tantos de dichos proyectos como quiera MULTIPLES VERSIONES PARA SISTEMAS OPERATIVOS. ESPECIAL INTERES AQUELLAS VERSIONES CON GPU ESPECIAL INTERES LINUX.
21. A A1 ¿Cómo reparto las tareas? A2 Versión secuencial del programa Formado por 4 tareas A3 A4
22. ¿Como valorar el rendimiento? Potencia computacional Nivel de heterogeneidad Speedup Eficiencia
23. Potencia computacional Depende de las características físicas del procesador pero también de la tarea que se esta ejecutando y del problema a resolver Puede variar para diferentes aplicaciones en un mismo procesador
26. A A1 A2 Tu vas a Recibir la Tarea mas pequeña A3 A4 Pci Potencia computacional
27. S Tiempo en ejecutar A para el mas rápido (menos tiempo) Ahora cada procesador podra recibir un tamaño del problema acorde a sus potencia computacional Tiempo en ejecutar A para el procesador i Velocidad del procesador i al ejecutar A Velocidad del mas rápido de todos al ejecutar A
28. Nivel de heterogeneidad Refleja La varianza de las potencias computacionales de los elementos de proceso. Refleja los efectos dinámicos que se producen en el sistema, por ejemplo, cuando se introducen en el sistema elementos de proceso mucho más rápidos o mucho más lentos. Nº de equipos
29. Speedup Si ejecuto el programa secuencial en paralelo, ¿Qué velocidad se gana? -> Speedup (rendimiento de un algoritmo en paralelo) Tiempo que ha tardado el procesador mas rápido en ejecutar A Tiempo total que se ha tardado ejecutándose A en paralelo (con todos los procesadores: A1, A2, …) Vs
30. Eficiencia: Indica porción de tiempo que los procesadores dedican a trabajo útil S(A): ganancia en velocidad de cómputo. SpeedUp Potencia computacional total
31. Ideas principales: A mayor heterogeneidad en el sistema: Necesidad de mayor adaptación el algoritmo a la arquitectura para obtener un buen rendimiento. A menor heterogeneidad en el sistema: No es necesario una adaptación del algoritmo a la arquitectura
32. Rendimiento obtenido por un programa paralelo no adaptado al sistema heterogéneo. Todos los procesadores reciben la misma carga (sean mas rápidos o lentos) Procesadores mas rápidos Procesadores mas lentos Rendimiento obtenido por un programa paralelo adaptado. Cada procesador recibe una carga de trabajo proporcional a su potencia computacional
33. Para este apartado vamos a suponer que nuestra plataforma heterogénea presenta: -Heterogeneidad en las comunicaciones: -Medio compartido (bus), acceso de los procesadores de forma exclusiva. -Heterogeneidad en la potencia computacional de los elementos de proceso.
37. Caso 1: tres procesadores. Maestro Envio de tareas Envió de resultados Procesadores P3 P2 Sobrecarga P1 Sobrecarga Tiempo
38. Caso 2: tres procesadores. Maestro Envio de tareas Envió de resultados Procesadores P3 P2 zzZZzzZ Sobrecarga P1 Tiempo
39. Caso 3: tres procesadores. Maestro Envio de tareas Envió de resultados Procesadores P3 P2 Mas trabajo al mas rapido P1 Tiempo
40. Conclusiones: -Las tareas se deben generar y distribuir de forma dinámica, equilibrando la carga de trabajo. -Se busca un mayor número de tareas que de procesadores, procesadores más potentes ejecutarán más tareas que los menos potentes. -Compromiso entre equilibrar la carga de trabajo y no generar un volumen excesivo de comunicaciones.
41. -La heterogeneidad en las comunicaciones: -Utilizar procesadores muy potentes pero que están geográficamente muy dispersos. -Estos procesadores pueden estar conectados a través de una red de comunicaciones de bajas prestaciones.
42.
43. Bases del pipeline: Dividir la ejecución completa de la instrucción en varias actividades que se puedan realizar de forma solapada Para resolver un problema es necesario particionar el conjunto de tareas en n partes, cada una de las cuales se denominan etapas del algoritmo. Supondremos que tenemos tantos procesadores como etapas
46. El procesador mas lento no es el de la menor potencia computacional, sino el que mas tiempo invierto en recibir, computar y enviar -> Necesidad de equilibrar la carga: Primer procesador: aquel con mayor coste de recepción porque (no recibe datos) Ultimo procesador el de mayor coste de envío porque no envía datos.
47. Sistema hibrido: Entorno que combina arquitecturas de memoria compartida y de paso de mensajes ( para comunicación de procesos)….pero…¿y eso que es?
55. Programación en sistemas híbridos: Mediante el uso de programas de paso de mensajes puro que utilizan la librería MPI. A través de esquemas de programación que combinan códigos MPI y OpenMP.
57. TEST [V][F] La heterogeneidad se produce al sustituir un procesador por otro con características diferentes. [V][F] Un sistema heterogéneo se puede clasificar en dos clases: sistemas dedicados y sistemas no dedicados. [V][F] La potencia computacional siempre varia para diferentes aplicaciones en un mismo procesador debido al tamaño del problema de la aplicación. [V][F] Si el nivel de heterogeneidad del sistema es alto, no es necesario adaptar el algoritmo a la arquitectura. [V][F] La distintas potencias computacionales de los procesadores que forman el sistema heterogéneo, no influyen en la capacidad de comunicarse entre ellos.
58. TEST [V][F] Si el nivel de heterogeneidad del sistema es bajo, no vale la pena adaptar el algoritmo a la arquitectura, ya que la mejora es baja. [V][F] En un algoritmo pipeline, el primer procesador del pipeline debería ser aquel con menor coste de recepción y el último el de mayor coste de envío. [V][F] La heterogeneidad asociada a la red viene dada por las diferentes capacidades de cómputo que tienen los distintos procesadores. [V][F] Cuando el procesador más lento esta en los extremos del pipeline el tiempo de ejecución se reduce. [V][F] En sistemas híbridos, el uso de memoria compartida tiene un rendimiento beneficioso si se utilizan paquetes de pequeño tamaño.
Hasta ahora hemos tratado temas donde los sistemas eran todos iguales, a partir de ahora se tratara de sistemas compuestos por estaciones de trabajo con diferentes características (rendimiento) entre si.
El CERN (Organización Europea para la Investigación Nuclear) tiene experiencia haciendo innovaciones en el Internet. La World Wide Web fue inventada en sus instalaciones, y la primera página web fue la página la suya: http://info.cern.ch/hypertext/WWW/TheProject.html, siendo el primer servidor web http://info.cern.ch, creado en 1990.
El CERN (Organización Europea para la Investigación Nuclear) tiene experiencia haciendo innovaciones en el Internet. La World Wide Web fue inventada en sus instalaciones, y la primera página web fue la página la suya: http://info.cern.ch/hypertext/WWW/TheProject.html, siendo el primer servidor web http://info.cern.ch, creado en 1990.
El CERN (Organización Europea para la Investigación Nuclear) tiene experiencia haciendo innovaciones en el Internet. La World Wide Web fue inventada en sus instalaciones, y la primera página web fue la página la suya: http://info.cern.ch/hypertext/WWW/TheProject.html, siendo el primer servidor web http://info.cern.ch, creado en 1990.
Por cierto, transferencias como éstas se pueden ver en vivo en decenas de páginas web del Reino Unido o de Estados Unidos, con gráficas así o en mapas mundiales bidimensionales y tridimensionales con plataformas en Google Earth y Java, pues el CERN debe dar cuenta a sus contribuyentes acerca de los 180 millones invertidos en este proyecto, y así deben hacerlo los demás países respecto a lo que invertieron en sus respectivas redes.
Por cierto, transferencias como éstas se pueden ver en vivo en decenas de páginas web del Reino Unido o de Estados Unidos, con gráficas así o en mapas mundiales bidimensionales y tridimensionales con plataformas en Google Earth y Java, pues el CERN debe dar cuenta a sus contribuyentes acerca de los 180 millones invertidos en este proyecto, y así deben hacerlo los demás países respecto a lo que invertieron en sus respectivas redes.
Por cierto, transferencias como éstas se pueden ver en vivo en decenas de páginas web del Reino Unido o de Estados Unidos, con gráficas así o en mapas mundiales bidimensionales y tridimensionales con plataformas en Google Earth y Java, pues el CERN debe dar cuenta a sus contribuyentes acerca de los 180 millones invertidos en este proyecto, y así deben hacerlo los demás países respecto a lo que invertieron en sus respectivas redes.
Sea Si(A) la velocidad del procesador i al ejecutar A en modo dedicado-> velocidad del procesador i para ejecutar la version secuencial ASea Tsi(A) el tiempo de ejecucion del programa A en el procesador i.
Sea Si(A) la velocidad del procesador i al ejecutar A en modo dedicado-> velocidad del procesador i para ejecutar la version secuencial ASea Tsi(A) el tiempo de ejecucion del programa A en el procesador i.
Sea Si(A) la velocidad del procesador i al ejecutar A en modo dedicado-> velocidad del procesador i para ejecutar la version secuencial ASea Tsi(A) el tiempo de ejecucion del programa A en el procesador i.
Sea Si(A) la velocidad del procesador i al ejecutar A en modo dedicado-> velocidad del procesador i para ejecutar la version secuencial ASea Tsi(A) el tiempo de ejecucion del programa A en el procesador i.
La potencia de computo toma el valor 1 en los procesadores mas rapidos del sistema.
Este valor varia entre 0 (sistemas homogeneos) y 1 (sistemas muy heterogéneos)
Lo ideal es que sea igual a 1Para un sistema heterogéneo, se obtendra la mejor eficiencia en el sistema cuando la carga de trabajo esta perfectamente repartida.