Planificación adaptativa en Grid: Códigos Monte Carlo Rafael Mayo García CIEMAT I Jornadas de Computación Distribuida Inteligente y Sistemas Complejos.

Slides:



Advertisements
Presentaciones similares
Sistemas Operativos Administración del procesador.
Advertisements

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.
I T S S P LIC INFORMATICA SISTEMAS OPERATIVOS WINDOWS 2003 SERVER DOCENTE: L.I RAMIRO ROBLES VILLANUEVA ALUMNOS: ROGELIO CHAIDEZ CORDOBA ZENON ESTRADA.
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
TUTOR: ING. RAYNER DURANGO
Diseño de Experimentos
Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.
Econometría I Tema 1 Introducción
Introducción a los SSOO Sebastián Sánchez Prieto.
Prueba Suficiencia Investigadora Doctorando: Rosa Filgueira Vicente Tutor: David Expósito Singh 27 Febrero 2007.
Definición de un modelo colaborativo entre Especializada y Primaria aplicado al diagnóstico por imagen médica.
Computadoras analógicas Miden magnitudes físicas que se distribuyen en escala continua como pueden ser la temperatura y la presión. Este tipo de computadoras.
PROGRAMACIÓN PARALELA Tema 4: Metodología de la programación
Arquitectura de una aplicación
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
Computación en la Nube UASF.
SOLUCIÓN DE PROBLEMAS POR MEDIO DE LA SIMULACION
12 Reglas para un SBDD Autonomía local.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Alma Rosa Colín González. Las aplicaciones distribuidas se han convertido en un aspecto fundamental en los negocios y la industria a nivel mundial. INTRODUCCIÓN.
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
Baquero, Eduardo Berbín, Luis Bouza, Roberto García, Pedro SUMA Scientific Ubiquitous Metacomputing Architecture IEEE 2001 Cardinale, Yudith Figueira,
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.
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.
Servicio Remoto de Monitoreo
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
Rendimiento de la CPU y sus factores
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
problemas de la calidad del software
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)
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
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.
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 de CPU Conceptos Básicos Criterios de Planificación Algoritmos de Planificación Planificación con Múltiples Procesadores Planificación Real-Time.
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,
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:

Planificación adaptativa en Grid: Códigos Monte Carlo Rafael Mayo García CIEMAT I Jornadas de Computación Distribuida Inteligente y Sistemas Complejos Trujillo, 11 de junio de 2012

CDISC – Trujillo, 11 de junio de El trabajo realizado para poder hacer esta presentación supone el eje central de la tesis doctoral de Manuel A. Rodríguez Pascual “Ejecución eficiente de códigos Monte Carlo en infraestructuras Grid” (Madrid, 2012)

Planificación adaptativa en Grid: Códigos Monte Carlo Manuel Rodríguez Pascual, Rafael Mayo García CIEMAT I Jornadas de Computación Distribuida Inteligente y Sistemas Complejos Trujillo, 11 de junio de 2012

CDISC – Trujillo, 11 de junio de Índice Problema – Justificación – Códigos Monte Carlo Solución (Montera) Resultados Conclusiones

CDISC – Trujillo, 11 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.

CDISC – Trujillo, 11 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

CDISC – Trujillo, 11 de junio de Y todo es dinámico en el mundo real...

CDISC – Trujillo, 11 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

CDISC – Trujillo, 11 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)

CDISC – Trujillo, 11 de junio de MC: Modelo PendingPrologExecutionEpilog

CDISC – Trujillo, 11 de junio de MC: Modelo Status de la infraestructura – Dinámico Número de tareas a ejecutar – Dinámico PendingPrologExecutionEpilog DINÁMICO

CDISC – Trujillo, 11 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

CDISC – Trujillo, 11 de junio de Execution MC: Modelo Rendimiento del sitio remoto – Aproximadamente constante para cada site – Fluctuaciones dependiendo del uso PendingPrologEpilog DINÁMICO

CDISC – Trujillo, 11 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

CDISC – Trujillo, 11 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

CDISC – Trujillo, 11 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

CDISC – Trujillo, 11 de junio de Montera MONTERA (Monte Carlo Rápido)

CDISC – Trujillo, 11 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)

CDISC – Trujillo, 11 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

CDISC – Trujillo, 11 de junio de Arquitectura

CDISC – Trujillo, 11 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)

CDISC – Trujillo, 11 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

CDISC – Trujillo, 11 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

CDISC – Trujillo, 11 de junio de Resultados

CDISC – Trujillo, 11 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

CDISC – Trujillo, 11 de junio de Resultados: Condiciones Códigos Monte Carlo empleados – FAFNER2 (simulaciones del orden de segundos) 3 – ISDEP (simulaciones del orden de una hora) 4 – FastDEP (workflow de los dos anteriores) 5 – BEAMnrc (simulaciones del orden de milisegundos) 6 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) 5 M. Rodríguez-Pascual et al. CPC (In print) 6 P. Downes et al. Phil. Tran. Royal Soc. A 367, 2607 (2009)

CDISC – Trujillo, 11 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

CDISC – Trujillo, 11 de junio de Resultados Adaptación a slots libres ( ce01-tic.ciemat.es )

CDISC – Trujillo, 11 de junio de Resultados Simulador desarrollado para Montera – FAFNER partículas

CDISC – Trujillo, 11 de junio de Resultados DyTSS (FAFNER2 - entorno real de Producción EGI)

CDISC – Trujillo, 11 de junio de Resultados DyTSS (ISDEP - entorno real de Producción EGI) – 5000 partículas (~ 10% de un caso real de estudio)

CDISC – Trujillo, 11 de junio de Resultados MonteraScheduler/Montera [hh:mm]GridWayWMS makespan60:261,161,62 DyTSS (FastDEP - entorno real de Producción EGI) – 5000 partículas (~ 10% de un caso real de estudio)

CDISC – Trujillo, 11 de junio de Resultados Simulated samples Walltime GW / Walltime Montera 50 tasks100 tasks250 tasks ,70,94, ,11,42, ,81,51,3 DyTSS (BEAMnrc - entorno real de Producción EGI)

CDISC – Trujillo, 11 de junio de Overhead

CDISC – Trujillo, 11 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

CDISC – Trujillo, 11 de junio de Conclusiones

CDISC – Trujillo, 11 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

CDISC – Trujillo, 11 de junio de Conclusiones

CDISC – Trujillo, 11 de junio de MUCHAS GRACIAS