Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porJaime Castillo Macías Modificado hace 9 años
1
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Planificación y Gestión de Recursos en Computación de Altas Prestaciones Rafael Mayo García - CIEMAT Curso de Promoción Interna Madrid, 1 de diciembre de 2015
2
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 La Computación de Altas Prestaciones Problema Justificación Soluciones Algunos resultados Bibliografía Índice 2
3
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 La Computación de Altas Prestaciones Problema Justificación Soluciones Algunos resultados Índice 3
4
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Los computadores han servido para hacer simulaciones numéricas de fenómenos físicos, químicos, socioeconómicos, de tratamiento de datos, etc. Estas simulaciones sirven para realizar modelos, prever comportamientos, encontrar soluciones… Han cambiado el modelo en el que se corroboraban teoría y experimentos – Diseño de nuevas instalaciones, predicción de proteínas, confirmación experimental de modelos complejos, etc. Computación de Altas Prestaciones 4
5
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 La Computación de Altas Prestaciones se divide en – Computación de Alta Productividad High Throughput Computing (HTC) – Computación de Alto Rendimiento High Performance Computing (HPC) Computación de Altas Prestaciones 5
6
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 La Computación de Alta Productividad (HTC) – Su objetivo es aumentar el número de ejecuciones por unidad de tiempo – Su rendimiento se mide en número de trabajos ejecutados por segundo – Áreas de aplicación Códigos Monte Carlo, Barrido de parámetros… Es decir, problemas en los que se hacen muchos cálculos independientes unos de otros Radiofísica, Economía, Finanzas, Medioambiente, Física de Altas Energías, Ingeniería, Estadística, Física de Plasmas, Química, Técnicas de optimización, etc. Computación de Alta Productividad 6
7
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Ejemplos de Computación de Alta Productividad (HTC) HTC síncrono HTC asíncrono Maestro–Esclavo Computación de Alta Productividad 7
8
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Ejemplo “tonto” de Computación de Alta Productividad (HTC) – Calcular la media aritmética de los resultados de estas operaciones 19+21 19+22 18+21 18+22 40 18+23 17+22 17+23 Computación de Alta Productividad 8 Estos cálculos se pueden hacer todos a la vez independientemente unos de otros
9
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 La Computación de Alto Rendimiento (HPC) – Su objetivo es reducir el tiempo de ejecución de una única aplicación paralela – Su rendimiento se mide en número de operaciones en punto flotante por segundo – Áreas de aplicación: Estudio de fenómenos a escala microscópica (dinámica de partículas) Resolución limitada por la potencia de cálculo del computador Cuantos más grados de libertad (puntos), mejor reflejo de la realidad Estudio de fenómenos a escala macroscópica (sistemas descritos por ecuaciones diferenciales fundamentales) Precisión limitada por la potencia de cálculo del computador Cuantos más puntos, más se acerca la solución discreta a la continua Computación de Alto Rendimiento 9
10
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Ejemplo de Computación de Alto Rendimiento (HPC) – Ecuación no lineal de Schrödinger – Ecuaciones de Maxwell-Bloch – Esquemas numéricos Computación de Alto Rendimiento 10
11
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Ejemplo “tonto” de Computación de Alto Rendimiento (HPC) – (1+5*3+6*7)/2 + 4 5*3 (15+42) + 1 6*7 (58)/2 (29)+4 33 Computación de Alto Rendimiento 11 Estos cálculos no se pueden hacer hasta que termine el anterior
12
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Con un mayor número de procesadores, se aumenta algunos de los parámetros que definen una simulación numérica – Resolución de problemas en menor tiempo de ejecución, usando mas procesadores (crítico en T) – Resolución de problemas con mayor precisión, usando mas memoria (crítico en P) – Resolución de problemas más ambiciosos, usando modelos matemáticos más complejos (crítico en C) Computación de Altas Prestaciones 12
13
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Algunos ejemplos de la necesidad de la potencia de cálculo en ámbitos científicos Nº de operaciones = Rendimiento * Tiempo Computación de Altas Prestaciones 13
14
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 En qué órdenes nos estamos moviendo… Leyenda de los granos de trigo y del tablero de ajedrez – T = 1+2+4+ … +9.223.372.036.854.780.000 – T = 2 0 +2 1 +2 2 + … + 2 63 – T = = 2 64 –1 = 18.446.744.073.709.551.615 ~ 18,5·10 18 – Por curiosidad, esta suma es ~ 15,4·10 12 Tm ~ 22.000 veces la producción anual mundial de trigo Computación de Altas Prestaciones 14
15
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Un ejemplo más actual… Predicción meteorológica Computación de Altas Prestaciones 15
16
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Predicción meteorológica – El clima es una función de la longitud, latitud, altura y tiempo – Para cada uno de estos puntos se debe calcular temperatura, presión, humedad y velocidad del viento (3 componentes) – Conocida la función clima(i,j,k,t), el simulador debe proporcionar el valor clima(i,j,k,t+∆t) Predicción 1 Minuto Celdas de 1 Km 2 y 10 celdas en altura oEuropa 5·10 9 celdas (0,1 TB) ∆t = 1 minuto: 100 flops por celda (estimación optimista) o100*5*10 9 operaciones en menos de un minuto Computación de Altas Prestaciones 16
17
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Infraestructuras Memoria Compartida (UMA – SMP) Uniform Memory Access Symmetric Multi-Processing Memoria Distribuida (MPP) Massively Multi-Processing NUMA (Memoria virtualmente compartida y físicamente distribuida) Computación de Altas Prestaciones 17
18
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 NUMA – Cada procesador tiene su propia memoria local pero también tiene acceso a la memoria de otros (de forma más lenta) – Ofrece la "escalabilidad" de MPP y la programación simple de SMP – CC-NUMA (Cache Coherent NUMA) Extensión de SMP para soportar capacidades MPP Con acceso por hardware a la memoria de otros procesadores mediantes canales de conexión de componentes (buses) El acceso también se puede hacer a través del Sistema Operativo La memoria caché es la memoria de acceso rápido Guarda temporalmente los datos procesados recientemente Más pequeña que la principal Computación de Altas Prestaciones 18
19
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Infraestructuras – HPC (SMP o MPP) Supercomputadores, Clústeres locales Hospedados en un único CPD Cores Procesadores Nodos Servidores/Chasis (CPU) Aceleradores (co-procesadores) oGPU (cálculo vectorial – son MPP en modo local) oXeon Phi (multithreading, paralelización dentro del procesador) Recursos comunicados por Infiniband Computación de Altas Prestaciones 19
20
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Infraestructuras – HTC (MPP) Federación de sitios (sites) heterogéneos Grid oRecursos permanentes Cloud oRecursos bajo demanda oPúblicas y privadas Distribuidos geográficamente Misma arquitectura que HPC, pero en menor número Se salen del dominio de administración de la institución (no son clústeres locales) Conectados por fibra óptica o redes de datos (Ethernet) Computación de Altas Prestaciones 20
21
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Infraestructuras actuales – Top500 (HPC) Nº 1: Tianhe-2 (China) con 33,86 Pflops CPU + Intel Xeon Phi Nº 2: Titan (EE.UU.) con 17,59 Pflops CPU + NVIDIA GPU … Nº 7: Shaheen II (Arabia Saudí) con 5,54 Tflops … Nº 77: Mare Nostrum (España) con 925 Gflops – EGI (HTC) Grid: 4,7·10 9 horas KSI2K FedCloud: 700.000 Máquinas virtuales, 9·10 6 horas de CPU Computación de Altas Prestaciones 21
22
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 La Computación de Altas Prestaciones Problema Justificación Soluciones Algunos resultados Índice 22
23
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Se dispone de – Una mayor potencia de cálculo y almacenamiento – Redes de interconexión cada vez más rápidas – Problemas que se pueden dividir en partes más pequeñas de tal forma que cada una de ellas se ejecute en un sitio distinto de la infraestructura computacional ¿Cómo se divide ese problema? – Paralelización o distribución de las tareas que lo componen… ¿Cómo se ejecutan esas tareas distribuidas? – Ha de hacerse de tal forma que se optimice la eficiencia computacional Problema 23
24
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 El quid de la cuestión es saber qué tipo de infraestructura sirve para resolver el problema de interés – No todo sirve para todo – No es bueno matar moscas a cañonazos – A veces una solución aproximada con un pequeño margen de error es más que suficiente No es imprescindible la solución exacta en caso de que ésta sea posible – Hay que tener la infraestructura computacional ocupada, pero con problemas que realmente lo requieran El mayor supercomputador se puede llenar fácilmente con códigos que buscan soluciones por “fuerza bruta” Problema 24
25
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Algunas leyes que han regido el desarrollo de la Computación de Altas Prestaciones – Ley de Moore (1965 / 1975) La densidad de circuitos en un chip se dobla cada 12 / 24 meses – Ley de Amdahl (1967) La eficiencia obtenida en una implementación paralela viene limitada por la parte secuencial, por ello el límite superior de mejora obtenida es independiente del número de procesadores – Respuesta de Gustafson (1988) En la práctica, la mayoría de las aplicaciones son críticas en precisión, por lo que el tamaño de problema crece con el número de procesadores Problema 25
26
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Mejoras obtenidas hasta el momento – A partir de las metodologías computacionales (SW) Ganancia de un factor ~80 cada 10 años – A partir de la arquitectura (HW) Ganancia de un factor ~50 cada 10 años – Estas ganancias se van estancando poco a poco También la Ley de Moore, lógicamente… Problema 26
27
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Análisis previo a la paralelización – Complejidad numérica del código/algoritmo Escalabilidad y recursos que serán necesarios – Grado de paralelismo del código/algoritmo Ley de Amdahl – Granularidad de la implementación paralela Grado de acoplamiento requerido en la arquitectura subyacente – Análisis del código ¿Por qué? ¿Dónde? ¿Cómo? – Último análisis: ¿Qué ganancia (speedup) final se espera? Problema 27
28
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 La Computación de Altas Prestaciones Problema Justificación Soluciones Algunos resultados Índice 28
29
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Un código científico se compone básicamente de una parte de entrada (prólogo), una parte principal de ejecución y una parte de salida (epílogo) Se mide – El tiempo de ejecución (wall-time) de la parte del programa que se va a paralelizar (código potencialmente paralelo) usando las rutinas de tiempos que nos aporte el S. Operativo Se quitan las partes secuenciales, como las sumas globales y entrada/salida de datos – El tiempo del programa entero, desde la primera sentencia hasta la última Justificación 29
30
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Se calcula el contenido paralelo c p = número de CPU Justificación 30 c =
31
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Justificación 31 Nº de CPU Speedup teórico 11,00 21,94 32,82 43,65 54,43 65,17 75,86 86,52 97,15 107,75 Nº de CPU Speedup La diferencia creciente entre el speedup ideal y el teórico es debida al tanto por ciento secuencial que cada vez se hace más dominante El speedup real se debe al tiempo consumido en creación, sincronización y comunicación, la competencia por recursos y la desigualdad en la carga de los procesadores
32
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 La Computación de Altas Prestaciones Problema Justificación Soluciones Algunos resultados Índice 32
33
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Para paralelizar una aplicación científica acoplada (sus partes no son independientes), hay que definir la granularidad de la división (cuán pequeñas hacemos las particiones) – En un cálculo HTC, la división es de todas y cada una de las partes del cálculo independientes La granularidad es una medida de la cantidad de computación de un proceso software – Se considera como el segmento de código escogido para su procesamiento paralelo Define la arquitectura óptima Soluciones 33
34
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Soluciones 34 Ejemplo de granularidad
35
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 El siguiente paso es analizar cómo reducir el tiempo de ejecución – ¿Por qué no se ejecuta eficientemente? – ¿Dónde se encuentran los puntos críticos del código? Principio de Pareto o Regla 80/20 Paralelizar aquellas partes idóneas para ellas – Optimización Soluciones 35
36
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 La optimización se produce a partir de varios factores – Tipo de procesador – Procesos de Entrada / Salida en el código – Uso y acceso a la memoria de la infraestructura – Llamadas al sistema – Conocimiento del código Es muy común el uso de herramientas para saber cómo se comporta el código (profiling) – Indican qué partes del código consume más recursos Soluciones 36
37
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Algunos ejemplos de técnicas a tener en cuenta – Procesador Opciones de compilación para optimización secuencial y paralelización automática Técnicas de optimización para mejorar la explotación de la arquitectura y de la memoria caché Inclusión de directivas de paralelización en el código – Entrada/Salida Reorganizar E/S para evitar muchas peticiones cortas Funciones para mapear ficheros en memoria Funciones para indicar al sistema el uso de las páginas de fichero en memoria Soluciones 37
38
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Algunos ejemplos de técnicas a tener en cuenta – Memoria virtual Técnicas de optimización para mejorar la explotación de la memoria virtual Funciones para indicar al sistema el uso de las páginas de fichero en memoria – Conocimiento del código Aplicación de distintos modelos para un mismo dato de entrada Bucles Cálculos más pesados Soluciones 38
39
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Ya se dispone de – Una infraestructura paralela o distribuida – Un código adaptado para su ejecución en esa infraestructura ¿Se pueden usar todos los procesadores de los que dispone la infraestructura? Soluciones 39
40
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Las infraestructuras computacionales a partir de cierto tamaño están – Compartidas por varios usuarios – Gestionadas por administradores Con permisos para el uso de los recursos superiores a los de los usuarios Los administradores implementan reglas de uso (AUP) que delimitan – El software que está instalado – El nº de recursos al que cada usuario puede acceder – El empleo de esos recursos para que la máquina esté operativa de la forma más eficiente posible Soluciones 40
41
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Se instalan programas destinados a la gestión de los recursos computacionales y una buena calidad de servicio (QoS) – Sistemas de colas batch Las peticiones de trabajos a ejecutarse (con un nº de recursos solicitados) se encolan para irles dando prioridad – Portable Batch System (PBS, Slurm) que provee una serie de comandos con los que se ejecuta el envío de trabajos – Sistema de gestión de carga para entornos distribuidos HTC – Librerías que permiten la coordinación e intercomunicación de los trabajos paralelos o distribuidos MPI, OpenMP, DRMAA… – Herramientas de monitorización de recursos y sistemas de información de sites Soluciones 41
42
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Para conseguir esa optimización del uso de la infraestructura, es conveniente realizar labores de – Configuración y mantenimiento de los recursos – Planificación de qué recursos se asignan a qué cálculo/usuario – Aprovisionamiento de recursos Algunas de estas labores las puede hacer también el usuario – Implementación de herramientas que permiten definir cómo se va a ejecutar el trabajo Estas labores pueden ser – Manuales, automáticas o semiautomáticas – Estáticas o dinámicas Soluciones 42
43
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Planificación y gestión en HPC Soluciones (HPC) 43
44
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Ejemplos típicos de políticas de uso de un supercomputador – Nº máximo de procesadores permitidos a un único usuario – Nª máximo de trabajos permitidos a un único usuario – Nº máximo de procesadores y trabajos permitidos a un grupo de usuarios – Tiempo máximo que puede durar un trabajo ejecutándose – Porcentaje reservado para la ejecución de trabajos paralelos Los gestores de recursos disponen de algoritmos de planificación que gestionan la carga del supercomputador acorde a las políticas anteriores – Estos algoritmos también se pueden diseñar e implementar para que actúen sobre el gestor de recursos Soluciones (HPC) 44
45
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Para mejorar la eficiencia o resolver fallos de ejecución, se realiza la migración de tareas Secuenciales ParalelasContendores Para ello, se necesita de – Gestor de recursos LRMS (Slurm, PBS…) – Librería de puntos de chequeo (DMTCP, BLCR…) – Librería de paso de mensajes MPI (MPICH3, MVAPICH2…) – Hipervisores de entornos virtualizados (KVM, Xen) – Gestores de entornos virtualizados (OpenNebula, OpenStack…) Soluciones (HPC) 45
46
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Puede ser útil la compactación de tareas – Para liberar recursos que requieran de trabajos paralelos – Para dejar parte del supercomputador libre con el fin de realizar trabajos de configuración, actualización, apagado… – Aumentar la localidad para reducir el tiempo empleado en la gestión de los recursos (overhead), por ejemplo, el ancho de banda de procesos con pasos de mensajes MPI Soluciones (HPC) 46
47
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 A veces, por el contrario, se aumentará el rendimiento planificando tareas en distintos nodos Cuando se migran tareas, también ha de tenerse en cuenta cuáles son las más demandantes de recursos (en uso de memoria, por ejemplo) para ver cuáles van antes y cuáles van después Soluciones (HPC) 47
48
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 ¿Qué pasa si tenemos un cálculo paralelo de 1 millón de tareas y una falla? ¿Hemos de empezar de nuevo con el coste energético y computacional que eso origina? Relacionado con la migración de tareas se encuentra la tolerancia a fallos – El código y el sistema están preparados para responder a posibles errores imprevistos – Se hace mediante metodologías de puntos de chequeo (checkpointing) y detección proactiva de errores (SW y HW) – Dan robustez al sistema, lo que redunda principalmente en que las ejecuciones sean desatendidas Soluciones (HPC) 48
49
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Planificación, aprovisionamiento y gestión en HTC – Algunos de los conceptos anteriormente citados son válidos, pero el escenario es distinto – Sites heterogéneos distribuidos geográficamente Distintos recursos (potencia de cálculo, memoria, etc.) Distintas configuraciones Distinto ancho de banda para acceder a ellos Mover volúmenes de datos más o menos grandes Mayor posibilidad de fallos – El problema de ajustar carga de trabajo y recursos disponibles es por definición es NP-Completo Nondeterministic Polynomial time Únicamente se pueden hallar soluciones sub-óptimas Soluciones (HTC) 49
50
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 El mayor problema en este tipo de infraestructuras es que los Sistemas de Información (IS) no publican información real – Nº de trabajos que se aceptan o Máquinas Virtuales (MV) que se pueden levantar Por usuario Por Organización Virtual – Estado en el que se encuentran los recursos Las infraestructuras HTC son mucho más dinámicas ¿Cómo hago la división de mi cálculo para que se ejecute de forma eficiente? ¿Qué posibilidades existen de provisionar (“reservar”) recursos por anticipado? Soluciones (HTC) 50
51
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 La planificación de tareas en entornos HTC es objeto de varias líneas de investigación – Replicación de tareas M/N (con M>N) La proporción M/N se obtiene a través de la tasa media de finalización de tareas en el sistema Bolsa de tareas (Bag of tasks) – Agrupamiento de tareas Se determina el tamaño del chunk ≡ nº de samples Pero en general… – No se ha tenido en cuenta el carácter dinámico de la infraestructura – No se ha estimado el overhead – Las soluciones se han probado en simuladores 51 Soluciones (HTC)
52
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 52 PendingPrologExecutionEpilog – – Infraestructura física – – Computación Grid – – Gestión de trabajos computacionales – – Infraestructura virtualizada – – Computación en la nube – – Gestión de MM.VV y trabajos Soluciones (HTC)
53
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 53 PendingPrologExecutionEpilog DINÁMICO Estatus de la infraestructura – Dinámico Número de tareas a ejecutar – Dinámico Soluciones (HTC)
54
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 54 EpilogProlog PendingExecution DINÁMICO Tamaño de los ficheros de entrada/salida – Puede conocerse antes de la ejecución Conexión de red local y remota – Aproximadamente constante para cada site Soluciones (HTC)
55
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 55 ExecutionPendingPrologEpilog DINÁMICO Rendimiento del sitio remoto – Aproximadamente constante para cada site – Fluctuaciones dependiendo del uso Soluciones (HTC)
56
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 56 PendingPrologExecutionEpilog Métodos vinculantes iniciales (early-binding): la carga se planifica antes de que se asignen los recursos Métodos vinculantes finales (late-binding): se actúa sobre la asignación de recursos (provisioning) Posibilidades para la planificación y aprovisionamiento de recursos Soluciones (HTC)
57
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 57 PendingPrologExecutionEpilog Métodos vinculantes iniciales (early-binding): la carga se planifica antes de que se asignen los recursos Métodos vinculantes finales (late-binding): se actúa sobre la asignación de recursos (provisioning) Posibilidades para la planificación y aprovisionamiento de recursos Soluciones (HTC)
58
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 El punto de partida es que hay que modelar problemas complejos que generalmente siguen un patrón – (Muchas) Simulaciones + Matemáticas Números aleatorios para inicializar simulaciones Tareas simples e independientes Estadística u operaciones diversas para unir los resultados – Inicialización (I): tiempo constante y/o variable – Simulación (S): tiempo variable – Análisis de los resultados (R): tiempo constante y/o variable T ejec = I c + I v · N + S v · N + R c + R v · N ~ a· N + b (con N = número de samples) 58 Soluciones (HTC)
59
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Se hace un estudio de cómo se ejecuta el código de interés en cada site (profiling) – Realizar 1, 10, 100, 1.000… simulaciones (u otra serie) – Obtener a y b (recordemos que T ejec ~ a· N + b) – Ejecutar el benchmark Whetstone en el mismo site Adecuado para monoprocesadores – Normalizar – Repetir este proceso en varios sites para evitar distorsiones 59 Soluciones (HTC)
60
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Se actualiza la información de cada site – Cada vez que cambia algo en él (memoria, CPU…) o aparece uno nuevo Globus Monitoring & Discovering System – Después de cada ejecución Rendimiento Eficiencia, tareas fallidas, slots disponibles Tiempo de cola Ancho de banda – Los resultados tras cada ejecución se ponderan Fórmula de Biessel Las ejecuciones nuevas cuentan más que las viejas 60 Soluciones (HTC)
61
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Con toda esa información, se diseña un algoritmo que decide cómo y dónde se ejecuta el código – Para tener una eficiencia optimizada – Para alcanzar una política de tiempo máximo de espera de resultados Se implementa una herramienta que con ese algoritmo (u otro, ha de ser modular) sirva como interfaz para el usuario – Utiliza información estática y dinámica – Actúa en 2 niveles: recurso local y remoto – Produzca un overhead lo menor posible 61 Soluciones (HTC)
62
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 62 PendingPrologExecutionEpilog Métodos vinculantes iniciales (early-binding): la carga se planifica antes de que se asignen los recursos Métodos vinculantes finales (late-binding): se actúa sobre la asignación de recursos (provisioning) Posibilidades para la planificación y aprovisionamiento de recursos Soluciones (HTC)
63
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 El objetivo es implementar metodologías que actúen directamente sobre los recursos remotos más allá de una obtención precisa de su información Se sigue una estrategia de caballo de Troya (trabajos pilotos o pilot jobs) – Aprovisionamiento de recursos La planificación se desarrolla para mejorar el rendimiento de – La ejecución del código cumpliendo los requisitos computacionales del mismo – Las MM.VV. que se hayan iniciado (si estamos en la nube) – La localización de los datos para la distribución de trabajos 63 Soluciones (HTC)
64
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Aunque no únicamente, se desarrolla sobre infraestructuras federadas – En la nube, se actúa sobre IaaS (Infrastructure-as-a-Service) 64 Soluciones (HTC) MV, Servidores, Almacenamiento, Red… Entorno de desarrollo, BBDD, Serv. Web Correo-e, Escritorio remoto, Aplicaciones…
65
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Los sistemas de pilotos (pilot systems) han de – Ser capaces de gestionar grid y cloud E incluso clústeres locales y computación voluntaria – Ser compatibles con aplicaciones ya portadas a HTC – Mejorar la productividad y rendimiento previo – Ser interoperables con estándares ya desarrollados para distintas infraestructuras – Ser configurables por el usuario para adaptarse a las necesidades del código – Gestionar adecuadamente trabajos de corta duración Peor escenario para pilot systems 65 Soluciones (HTC)
66
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Provider A Provider B OCCI DRMAA GridWay Core CLI GWpilot Factory pilots GWcloud Execution Driver GWpilot Server HTTPS pull task IaaS Federation abstraction Scheduler Federated IaaS Cloud GWcloud Information Driver LDAP Legacy Application task launching applications Top BDII BES task Launching applications
67
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Como en el caso anterior, se diseña un algoritmo que decide cómo y dónde se ejecuta el código y se implementa una herramienta que sirva como interfaz para el usuario – Para reducir el overhead en la nube, lo ideal es levantar una MV para cada trabajo – Si estamos en la nube y estamos accediendo a una infraestructura privada, hay que tener en cuenta el coste económico además Es posible acoplar herramientas de early- y late-binding para maximizar el uso de la infraestructura (stacking) 67 Soluciones (HTC)
68
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 La Computación de Altas Prestaciones Problema Justificación Soluciones Algunos resultados Índice 68
69
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Existe una variedad de herramientas que implementan las metodologías explicadas anteriormente – Algunas de ellas son módulos integrados en los gestores de recursos (LRMS) Aquí se mostrarán algunos resultados de las herramientas desarrolladas en el CIEMAT – Early-binding Montera – Late-binding GWpilot Resultados (HTC) 69
70
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 70 Montera (HTC)
71
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Montera es una aplicación Phyton residente en el área de usuario – API para la creación de chunks y controlar la ejecución local – Plantilla name=isdep.sh num_samples=5000 input_files=isdep.sh, lgv_LHD_ion_2species. files.tar.gz, crea_input, config_mag_LHD.ini output_files=output${TASK_ID}.tar.gz scheduling_policy=dytss max_profiling time (optional) environment_variables (optional – Comando final run.montera template.mt Montera (HTC) 71
72
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Dynamic Trapezoidal Self Scheduling – Algoritmo implementado para Montera Asymptotic performance Half performance length – Necesita Profiling de los Monte Carlo (o códigos muy desacoplados) Profiling de los Recursos – Funcionamiento (simplificado) Más samples a los recursos más potentes (chunk) Replicación de tareas para evitar cuellos de botella en tiempo real, no sólo al principio Montera (HTC) 72
73
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Deadline Policy (Entorno real de producción EGI) – Ejecución de tantas tareas de FAFNER2 como sea posible en 2.000 s Montera (HTC) 73
74
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Adaptación a slots libres ( ce01-tic.ciemat.es ) Montera (HTC) 74
75
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 DyTSS (Entorno real de producción EGI) – 5.000 partículas (~ 10% de un caso real de estudio de FastDEP) – UMD es el planificador más usado en EGI – GridWay es el planificador en el que está basado Montera Montera (HTC) 75 MonteraScheduler/Montera [hh:mm]GridWayUMD Walltime60:261,161,62
76
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 DyTSS (Entorno real de producción EGI) – 4·10 8 partículas (caso real de estudio de BeamNRC) Montera (HTC) 76 Simulated samples Walltime GW / Walltime Montera 50 tasks100 tasks250 tasks 10 4 0,70,94,6 10 6 1,11,42,4 10 8 1,81,51,3
77
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Comparativa de sistemas de pilotos GWpilot (HTC) 77
78
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 78 GWpilot ( DKEsG – Entorno real de producción EGI) – – 5·10 5 tareas independientes (configuración estándar del TJ-II) GWpilot (HTC)
79
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 79 GWpilot (Entorno real de producción EGI FedCloud) – – 4·10 8 partículas (caso real de estudio de BeamNRC) GWpilot (HTC)
80
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 80 GWpilot + DyTSS (Entorno real de producción EGI FedCloud) – – 2·10 7 partículas (caso real de estudio de Nagano) GWpilot (HTC)
81
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Referencias y ampliación de contenido – Computación de Altas Prestaciones y Aplicaciones – Ignacio Martín Llorente (Coord. Máster Ingeniería Informática UCM) – Ejecución eficiente de códigos Monte Carlo en infraestructuras Grid – Manuel A. Rodríguez Pascual (tesis doctoral) – Planificación multinivel eficiente con aprovisionamiento dinámico en Grids y Clouds – Antonio J. Rubio Montero (tesis doctoral) Bibliografía 81
82
Curso Promoción Interna – Madrid, 1 de diciembre de 2015 MUCHAS GRACIAS CIEMAT – Avda. Complutense, 40 – 28040 Madrid 91 346 6000 rafael.mayo@ciemat.es http://rdgroups.ciemat.es/web/sci-track/
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.