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 -

Slides:



Advertisements
Presentaciones similares
III - Gestión de memoria
Advertisements

Sistemas Expertos Caso de Estudio: Selecci ó n de un microcontrolador.
PROGRAMACIÓN PARALELA Tema 4: Metodología de la programación
Procesamiento paralelo
Desarrollo de aplicaciones para ambientes distribuidos
O Funcionamiento, ventajas y alcance o ESTUDIANTE: EDWIN ARAY VÉLEZ o PROFESOR: ING. JOSÉ MEDINA o FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN.
Computación en la Nube UASF.
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
Cluster de Computadores de Alto Desempeño con Acceso Remoto
TALLER DE SISTEMAS OPERATIVOS
1 RAID (Redundant Array of Inexpensive Disks). RAID Una serie de sistemas para organizar varios discos como si de uno solo se tratara. Haciendo que trabajen.
Computadoras de Alto Rendimiento (HPC)
Computación en la Nube.
Un Sistema Operativo (SO) es el software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos.
COMPUTADORAS DE TERCERA GENERACIÓN Integrantes: Barrios, Yessica Betancourt, Aldrid Gobea, Adrián Rivas, Ricardo Garcia, Edgardo Ministerio de educación.
SOM- UD1. Introducción a los sistemas informáticos 1 UD1. INTRODUCCIÓN A LOS SISTEMAS INFORMÁTICOS 1. Introducción 2. El sistema informático, software.
2_1 Procesador y memoria Apoyo SSD2. Mtl Lourdes Cahuich2 El procesador y la memoria son los componentes esenciales que permiten que una computadora pueda.
Instituto de Nivel Terciario Profesor: ¨Eduardo A. Fracchia¨ Integrantes: Marianela Ramírez. Uliambre Carlos. Farana Marisel. Integrantes: Marianela Ramírez.
Clustering Redes II Sobre la base que ya conocen… … los clusters requieren un apilamiento de máquinas de diversa estructura, con el fin de repartirse.
INTRODUCCIONHISTORIAQUE ES UN PLCELEMENTOS VENTAJAS TIPOSCONCLUSIONESREFERENCIAS.
Accesibilidad web. ¿Qué es la accesibilidad web? Hablar de Accesibilidad Web es hablar de un acceso universal a la Web, independientemente del tipo de.
7 Fragmentación Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
Ingenieria de Sistemas Juan Gamboa 10a. Tabla de Contenido Deficion Objetivo Social Perfil Profesional Pensum Universidades Semejanzas y diferencias con.
Colegio San Estanislao de Kostka. Jesuitas – Salamanca INTRODUCCIÓN AL ORDENADOR Y LOS PERIFÉRICOS.
CAPABILITY MATURITY MODEL INTEGRATION Álvarez, Wilsandy V Castillo, Kerwint V García, María F.V
TEMA 2: HARDWARE Y SISTEMAS OPERATIVOS
Equipo 10: NIÑO SUAREZ VERONICA USCANGA COLUNGA BRENDA YURIDIA.
TrasguNET, funcionalidades de la web Lola García Escribano Ingeniería de productoo Junio de 2010.
Arquitectura y Sistemas Operativos Gestión de Memoria Parte 1 1 Gestión de Memoria – Parte 1 Agenda Parte 1 –RequisitosRequisitos –EvoluciónEvolución –Carga.
biografía  Nació el(20 de marzo de de marzo de 1915) Germantown (Pennsylvania) fue un ingeniero mecánico y economista estadounidense, promotor.
1 Conferencia 5 OLAP. 2 Contenido Definición OLAP. Reglas de Codd. Gestores que dan soporte OLAP y los diferentes modos de Almacenamiento.
SISTEMAS OPERATIVOS Contenido: Descripción del proceso proceso nulo estado del procesador imagen del proceso información del BCP Miguel Ángel Martínez.
Tema 7: Ingeniería del software Definición de software El software es: 1. instrucciones (programas de computadora) que cuando se ejecutan proporcionan.
Planificación adaptativa en Grid: Códigos Monte Carlo Rafael Mayo García CIEMAT I Jornadas de Computación Distribuida Inteligente y Sistemas Complejos.
Un sistema distribuido de computo es una colección de computadoras separadas físicamente y conectadas entre sí por una red de comunicaciones distribuida.
TEMA 8 Introducción a Windows 2008 Server Msc. Rina Arauz.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
PROGRAMA DE FORTALECIMIENTO INSTITUCIONAL LOCAL ESCUELAS DE LIDERAZGO Y/O GOBIERNO NIVEL 5 - MÓDULO 3 MARCO LÓGICO.
Unidades funcionales de un ordenador 1. ¿Qué es un ordenador? Máquina que recibe unos datos, los procesa y ofrece los resultados de ese procesamiento.
PROTEC VIRGINIA CAROLINA GALLARDO SANCHEZ. Hardware y software En computación tenemos dos elementos básicos: Hardware En términos simples, corresponde.
Tipos de Modelos en Investigación de Operaciones
Diagramas de control CONSIDERACIONES BÁSICAS. DIAGRAMAS DE CONTROL  El Control Estadístico de Proceso (Statistical Process Control SPC) es la herramienta.
El modelo jerárquico de 3 capas La jerarquía tiene muchos beneficios en el diseño de las redes y nos ayuda a hacerlas más predecibles. En si, definimos.
Básico Módulo Básico FSRM Administrador de Recursos del Servidor de Archivos.
 Los servidores Microsoft salen al mercado en 1993 con el Windows NT avance server 3.1 el cual se convierte en el primer sistema operativo para redes.
Una base de datos, a fin de ordenar la información de manera lógica, posee un orden que debe ser cumplido para acceder a la información de manera coherente.
Conceptos de sistemas de información 4 Sistema de información formal –Es un medio informativo organizacionalmente eficaz, que es diseñado con la finalidad.
Desventajas Poco eficiente: lectura y escritura en disco es lenta Necesita otro mecanismo de sincronización para acceder a los datos Son los procesos.
Concurso 2010 de premiación a la innovación en la Administración Tributaria.
Dirección de Marketing ESTRATEGIAS DE PRECIOS
Representación en espacio de estado
Ejecuciones más eficientes de códigos Monte Carlo en Grid Rafael Mayo García CIEMAT Red Gallega de Computación de Altas Prestaciones Santiago de Compostela,
Yaritza Ortega Astrid Zúñiga Vishal Patel
1 Tema 13: Lectura y Escritura Sistemas Operativos (Tema 10 en apuntes prof. Rovayo)
Optimización de Consultas Distribuidas. ÍNDICE Definiciones básicas Modelo de costo Estadísticas de la base de datos Optimización centralizada de consultas.
Asignaturas: Informática/Electiva I. Definición de Sistema operativo Conceptos Básicos Funciones de los Sistemas Operativos Clasificación Componentes.
G ESTIÓN DE LA MEMORIA Paginación y segmentación.
Melissa Victoria Mendiola Peralta.  Los algoritmos son las series de pasos por los cuales se resuelven los problemas.
ANÁLISIS DE LAS ESTRATEGIAS TECNOLÓGICAS QUE PERMITAN EL MEJORAMIENTO DEL SISTEMA DE GESTIÓN RELACIONADAS CON LOS CLIENTE (CRM). CASO: TECHTROL SISTEMAS.
Planificación de CPU. Ráfagas de CPU Ciclo de ráfagas de CPU–E/S – La ejecución de procesos consiste en un ciclo de ejecución de CPU y esperas de E/S.
Formulación de plan de ventas. ¿Qué es un plan de ventas? Una herramienta que permite identificar el estado de las principales variables estratégicas.
3. Organización de proyectos. Estructura y cultura.
El ser humano actual, haciendo uso de las nuevas tecnologías, puede recibir en un solo día, una cantidad de información similar a la que recibían los individuos.
Taller introducción a los conceptos básicos de Estadística PRIMERA PARTE 2016 Propósito: Introducir algunos conceptos básicos de Estadística por medio.
Republica Bolivariana De Venezuela Ministerio Del Poder Popular Para La Defensa Universidad Nacional Experimental Politécnica De La Fuerza Armada Nacional.
Entregable D4 20 de diciembre de 2017
Conceptos básicos de la Computación de Altas Prestaciones
Transcripción de la presentación:

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

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

Curso Promoción Interna – Madrid, 1 de diciembre de 2015 La Computación de Altas Prestaciones Problema Justificación Soluciones Algunos resultados Índice 3

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

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

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

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

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        Computación de Alta Productividad 8 Estos cálculos se pueden hacer todos a la vez independientemente unos de otros

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

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

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

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

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

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 = … – T = … – T = = 2 64 –1 = ~ 18,5·10 18 – Por curiosidad, esta suma es ~ 15,4·10 12 Tm  ~ veces la producción anual mundial de trigo Computación de Altas Prestaciones 14

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

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

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

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

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

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

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: Máquinas virtuales, 9·10 6 horas de CPU Computación de Altas Prestaciones 21

Curso Promoción Interna – Madrid, 1 de diciembre de 2015 La Computación de Altas Prestaciones Problema Justificación Soluciones Algunos resultados Índice 22

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

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

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

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

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

Curso Promoción Interna – Madrid, 1 de diciembre de 2015 La Computación de Altas Prestaciones Problema Justificación Soluciones Algunos resultados Índice 28

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

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 =

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

Curso Promoción Interna – Madrid, 1 de diciembre de 2015 La Computación de Altas Prestaciones Problema Justificación Soluciones Algunos resultados Índice 32

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

Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Soluciones 34 Ejemplo de granularidad

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

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

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

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

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

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

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

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

Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Planificación y gestión en HPC Soluciones (HPC) 43

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

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

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

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

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

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

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

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)

Curso Promoción Interna – Madrid, 1 de diciembre de 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)

Curso Promoción Interna – Madrid, 1 de diciembre de PendingPrologExecutionEpilog DINÁMICO Estatus de la infraestructura – Dinámico Número de tareas a ejecutar – Dinámico Soluciones (HTC)

Curso Promoción Interna – Madrid, 1 de diciembre de 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)

Curso Promoción Interna – Madrid, 1 de diciembre de ExecutionPendingPrologEpilog DINÁMICO Rendimiento del sitio remoto – Aproximadamente constante para cada site – Fluctuaciones dependiendo del uso Soluciones (HTC)

Curso Promoción Interna – Madrid, 1 de diciembre de 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)

Curso Promoción Interna – Madrid, 1 de diciembre de 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)

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)

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)

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)

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)

Curso Promoción Interna – Madrid, 1 de diciembre de 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)

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)

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…

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)

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

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)

Curso Promoción Interna – Madrid, 1 de diciembre de 2015 La Computación de Altas Prestaciones Problema Justificación Soluciones Algunos resultados Índice 68

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

Curso Promoción Interna – Madrid, 1 de diciembre de Montera (HTC)

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

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

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 s Montera (HTC) 73

Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Adaptación a slots libres ( ce01-tic.ciemat.es ) Montera (HTC) 74

Curso Promoción Interna – Madrid, 1 de diciembre de 2015 DyTSS (Entorno real de producción EGI) – 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

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 ,70,94, ,11,42, ,81,51,3

Curso Promoción Interna – Madrid, 1 de diciembre de 2015 Comparativa de sistemas de pilotos GWpilot (HTC) 77

Curso Promoción Interna – Madrid, 1 de diciembre de GWpilot ( DKEsG – Entorno real de producción EGI) – – 5·10 5 tareas independientes (configuración estándar del TJ-II) GWpilot (HTC)

Curso Promoción Interna – Madrid, 1 de diciembre de GWpilot (Entorno real de producción EGI FedCloud) – – 4·10 8 partículas (caso real de estudio de BeamNRC) GWpilot (HTC)

Curso Promoción Interna – Madrid, 1 de diciembre de GWpilot + DyTSS (Entorno real de producción EGI FedCloud) – – 2·10 7 partículas (caso real de estudio de Nagano) GWpilot (HTC)

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

Curso Promoción Interna – Madrid, 1 de diciembre de 2015 MUCHAS GRACIAS CIEMAT – Avda. Complutense, 40 – Madrid