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,

Slides:



Advertisements
Presentaciones similares
Gestar Survey Sistema de encuestas ¿Cómo puede asegurarse una eficiente y rápida recolección de información, con independencia del tipo y volumen que usted.
Advertisements

Sistemas Operativos Administración del procesador.
Planificación de Monoprocesadores
Aplicación de la tecnología Grid: Portal de recursos de supercomputación José Ruedas Sánchez Instituto de Astrofísica de Andalucía Consejo Superior de.
Virtual PC.
INTRODUCCIÓN A JAVA.
Ing. Horacio Carlos Sagredo Tejerina
INSTITUTO TECNOLOGICO DE MINATITLAN
2.4 - Windows Server 2008 r2 – MEDICION Y DESEMPEÑO
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
TUTOR: ING. RAYNER DURANGO
Diseño e implementación de un ambiente virtualizado para un Sistema de Administración de Contenidos usando Microsoft SharePoint con cada uno de sus componentes.
Ingeniería de sw.
Diseño de Experimentos
Econometría I Tema 1 Introducción
Introducción a los SSOO Sebastián Sánchez Prieto.
Definición de un modelo colaborativo entre Especializada y Primaria aplicado al diagnóstico por imagen médica.
PROGRAMACIÓN PARALELA Tema 4: Metodología de la programación
Arquitectura de una aplicación
Principios del diseño experimental Maestría Ingeniería Industrial
SOFTWARE DE PROGRAMACIÓN
Clusters Presentado por : Manuel Alejandro ahumada trochez Yenny carabali.
(C) Universidad de Las Palmas de Gran Canaria
Desarrollo de aplicaciones para ambientes distribuidos
Software Testing Juan Carlos Olivares Rojas MSN:
Planificación de Procesos
SOLUCIÓN DE PROBLEMAS POR MEDIO DE LA SIMULACION
12 Reglas para un SBDD Autonomía local.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Despliegue de la aplicación Web
Servicio horario NTP - Protocolo NTP Luis Villalta Márquez.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
Arquitecturas Paralelas
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
Primer Foro Universitario de Software Libre 6, 7, 8 y 9 de Mayo de 2013 Proyecto GNU FreeBSD Linux Simulación de Flooding en OMNeT++ para Redes de Sensores.
Una introducción a la computación evolutiva
ROOT TOOLKIT (Parallel ROOT Facility, PROOF) Técnicas Fundamentales de Simulación, Reconstrucción y Análisis de Datos en Física Experimental de Partículas.
NOTA: Para cambiar la imagen de esta dispositiva, seleccione la imagen y elimínela. A continuación haga clic en el icono Imágenes en el marcador de posición.
Introducción a la Simulación de Eventos Discretos José Daniel García Sánchez Grupo de Arquitectura Comunicaciones y Sistemas Universidad Carlos III de.
Sistemas, Procesos y Modelos
Centro Comunicaciones CSIC RedIRIS. Spanish NREN Grupo de Sistemas Distribuidos y Seguridad Dpto. de Arquitectura de Computadores UCM Lab. Computación.
1 Problemas de decisión Tipo particular de problemas de optimización Sistemas que evolucionan con el tiempo Se toman decisiones en momentos sucesivos de.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
Términos y Conceptos Básicos
Servicio Remoto de Monitoreo
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
Cluster de Computadores de Alto Desempeño con Acceso Remoto
Rendimiento de la CPU y sus factores
Software El software permite comunicar al computador los problemas y hace posible que nos comunique las soluciones Los programas son el software del computador.
ARQUICTECTURA DE SERVIDORES
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
Pixelación de imágenes avanzada usando el algoritmo slic
TEMA: PROCESOS y PLANIFICACIÓN
Estimación de Puntos de Función
Proceso de desarrollo de Software
INTRODUCCIÓN A LA INGENIERIA DE SOFTWARE ALUMNO MILLER ANDRES GALINDO DUCUARA (412088)
Investigación preliminar  Entender la naturaleza del problema  Definir el alcance y las restricciones o limitaciones del sistema  Identificar los beneficios.
¿Qué es la Ingeniería De Software? Ingeniería de Software.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
PROCESADOR.- El procesador es el cerebro del sistema, encargado de procesar toda la información. Básicamente, es el "cerebro" de la computadora. Prácticamente,
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
INSTITUTO TECNOLÓGICO DE SALINA CRUZ Taller de Investigación II FLORES BAUTISTA EDUARDO GUTIERREZ SANCHEZ ALEXIA OCEJO LUIS CARLOS JESUS Propuesta taller.
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 -
Planificación adaptativa en Grid: Códigos Monte Carlo Rafael Mayo García CIEMAT I Jornadas de Computación Distribuida Inteligente y Sistemas Complejos.
Decoupling Computation and Data Scheduling in Distributed Data-Intensive Applications Kavitha Ranganathan, Ian Foster University of Chicago 11th IEEE International.
Análisis de Factibilidad para la Implementación del Protocolo OpenFlow en Redes Definidas por Software en la UdG Protocolo de tesis para obtener el grado.
Transcripción de la presentación:

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, 23 de junio de 2011

GHPC – Santiago de Compostela, 23 de junio de El trabajo realizado para poder hacer esta presentación supone el eje central que, para optar al Grado de Doctor, ha llevado a cabo en estos años Manuel A. Rodríguez Pascual…

Ejecuciones más eficientes de códigos Monte Carlo en Grid Manuel Rodríguez Pascual, Rafael Mayo García CIEMAT Red Gallega de Computación de Altas Prestaciones Santiago de Compostela, 23 de junio de 2011

GHPC – Santiago de Compostela, 23 de junio de Índice Problema – Justificación – Códigos Monte Carlo Solución (Montera) Resultados Conclusiones

GHPC – Santiago de Compostela, 23 de junio de Justificación Los códigos Monte Carlo se usan habitualmente en – 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.

GHPC – Santiago de Compostela, 23 de junio de Justificación La planificación de tareas en Grid… – Ha sido y es objeto de un amplio estudio – Técnicas en  Replicación de tareas (M/N, bag of tasks)  Agrupamiento de tareas (chunk ≡ nº de samples) Pero en general… – No se ha aplicado específicamente a códigos Monte Carlo – No se ha tenido en cuenta el carácter dinámico de la Grid – No se ha estimado el overhead – Las soluciones se han probado en simuladores

GHPC – Santiago de Compostela, 23 de junio de Y todo es dinámico en el mundo real...

GHPC – Santiago de Compostela, 23 de junio de MC: características Modelado de problemas complejos (Muchas) Simulaciones + Matemáticas – números aleatorios para inicializar simulaciones – tareas simples e independientes – estadísticas para unir los resultados

GHPC – Santiago de Compostela, 23 de junio de MC: caracterización 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)

GHPC – Santiago de Compostela, 23 de junio de MC: Modelo PendingPrologExecutionEpilog

GHPC – Santiago de Compostela, 23 de junio de MC: Modelo Status de la infraestructura – Dinámico Número de tareas a ejecutar – Dinámico PendingPrologExecutionEpilog DINÁMICO

GHPC – Santiago de Compostela, 23 de junio de EpilogProlog MC: Modelo 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 PendingExecution DINÁMICO

GHPC – Santiago de Compostela, 23 de junio de Execution MC: Modelo Rendimiento del sitio remoto – Aproximadamente constante para cada site – Fluctuaciones dependiendo del uso PendingPrologEpilog DINÁMICO

GHPC – Santiago de Compostela, 23 de junio de Profiling Del código – Realizar 1, 10, 100, 1000… simulaciones (u otra serie) – Obtener a y b  T ejec ~ a· N + b – Ejecutar el benchmark Whetstone en el mismo site – Normalizar – Repetir este proceso en varios sites para evitar distorsiones

GHPC – Santiago de Compostela, 23 de junio de Profiling Del site – Cuándo  Cuando se descubre un sitio nuevo o cambia algo de uno conocido (memoria, CPU...) – Cómo  Whetstone, porque queremos su rendimiento con punto flotante – Por Qué  Los códigos también están normalizados, así que la estimación del tiempo de ejecución es sencilla y precisa

GHPC – Santiago de Compostela, 23 de junio de Profiling Del site – Globus MDS – Después de cada ejecución se calcula de nuevo  Rendimiento Eficiencia, tareas fallidas, slots disponibles  Tiempo de cola  Ancho de banda – Ponderado  Fórmula de Biessel  Las ejecuciones nuevas cuentan más que las viejas

GHPC – Santiago de Compostela, 23 de junio de Montera MONTERA (Monte Carlo Rápido)

GHPC – Santiago de Compostela, 23 de junio de ¿Qué es? Software para scheduling de códigos Monte Carlo Utiliza información estática y dinámica Actúa en 2 niveles: recurso local y remoto Utiliza – GridWay 1 – DRMAA 2 1 E. Huedo et al. Scalable Comp: Prac & Exp 6, 1 (2005) 2 P. Tröger et al. Proc. CCGrid 2007, 619 (2007)

GHPC – Santiago de Compostela, 23 de junio de Funcionalidad Códigos Monte Carlo – Revisa si son conocidos – Realiza un profiling si son nuevos Sites – Revisa si son conocidos – Realiza un profiling si son nuevos – Actualiza la información después de cada ejecución Controla todos los pasos relacionados con la ejecución en Grid del número de samples deseado – Puede adaptar diferentes políticas de scheduling

GHPC – Santiago de Compostela, 23 de junio de Arquitectura

GHPC – Santiago de Compostela, 23 de junio de Ejecución Montera es una aplicación Java 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)

GHPC – Santiago de Compostela, 23 de junio de Ejecución Una llamada típica a Montera – Export MONTERA LOCATION=/path/to/Montera – java -Djava.library.path=/usr/local/gw/lib -cp /usr/local/gw/lib/drmaa.jar:/usr/local/gw/incl ude/: /home/manuel/Montera gw03/bin Montera template.mt Comando final – run.montera template.mt

GHPC – Santiago de Compostela, 23 de junio de DyTSS Dynamic Trapezoidal Self Scheduling – Algoritmo implementado para Montera  Asymptotic performance  Half performance length Necesita – Profiling de los Monte Carlo – 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

GHPC – Santiago de Compostela, 23 de junio de Resultados

GHPC – Santiago de Compostela, 23 de junio de Resultados: Condiciones Entorno en producción – GridWay – Java Virtual Machine – scheduling interval = 30 s – dispatch chunk = 15 jobs – maximum number of simultaneous jobs per user = = 100 Códigos Monte Carlo empleados – FAFNER2 (simulaciones del orden de segundos) – ISDEP (simulaciones del orden de una hora) 3 M. Rodríguez-Pascual et al. IEEE TPS 38, 2102 (2010) 4 F. Castejón et al. Plasma Physics Controlled Fusion 49, 753 (2007)

GHPC – Santiago de Compostela, 23 de junio de Resultados Deadline Policy (entorno real de Producción EGI) – Ejecución de tantas tareas en FAFNER2 como sea posible en 2000 s

GHPC – Santiago de Compostela, 23 de junio de Resultados Adaptación a slots libres ( ce01-tic.ciemat.es )

GHPC – Santiago de Compostela, 23 de junio de Resultados Simulador desarrollado para Montera – FAFNER partículas

GHPC – Santiago de Compostela, 23 de junio de Resultados DyTSS (FAFNER2 - entorno real de Producción EGI)

GHPC – Santiago de Compostela, 23 de junio de Resultados DyTSS (ISDEP - entorno real de Producción EGI) – 5000 partículas (~ 10% de un caso real de estudio) – 50 y 100 tareas fallaban…

GHPC – Santiago de Compostela, 23 de junio de Overhead

GHPC – Santiago de Compostela, 23 de junio de Overhead Overhead inherente a GridWay 300 s para la tarea más larga en el profiling del site – Una única vez 10 4 s para el profiling del código – Una única vez

GHPC – Santiago de Compostela, 23 de junio de Conclusiones

GHPC – Santiago de Compostela, 23 de junio de Conclusiones Hasta el momento, la planificación de tareas no tenía en cuenta el carácter dinámico de la Grid Una planificación adaptativa mejora el rendimiento de los códigos Monte Carlo Montera ha sido probado eficientemente en dos códigos Monte Carlo de distinta naturaleza Montera ofrece otras posibilidades que no sólo la mera ejecución de tareas Montera permite una ejecución desatendida

GHPC – Santiago de Compostela, 23 de junio de Conclusiones

GHPC – Santiago de Compostela, 23 de junio de MUCHAS GRACIAS