OBANSoft: aplicación para el análisis bayesiano objetivo y subjetivo. Estudio de su optimización y paralelización

Documentos relacionados
Grupo de Computación Científica y Programación Paralela

Optimización del framework de paralelización de tareas COMPSs

Grupo de Computación Científica y Programación Paralela Universidad de Murcia

TEMARIO DE PROFESORES TÉCNICOS DE F.P. : SISTEMAS Y APLICACIONES INFORMÁTICAS. Octubre 1997 (Publicado en el B.O.E. de 13 de Febrero de 1.

Anexo 1 Documento de Catálogo de Requisitos

Programación Paralela

Taller de Programación Paralela

Evaluación de la resolución en paralelo de un problema estocástico de planificación minera de largo plazo

Cuerpo de Profesores Técnicos de Formación Profesional

IMPLEMENTACIÓN DE APLICACIONES Y HERRAMIENTAS DE POST- PROCESAMIENTO DE IMÁGENES MÉDICAS VÍA WEB. Jordi Casals Hernández

Modelado y autooptimización en esquemas paralelos de backtracking

PROGRAMA FORMATIVO Programación para dispositivos móviles Android

CÁLCULO DE LA CURVA ELEVACIÓN-CAUDAL PARA DISEÑAR OBRAS DE DESVÍO EN LA CONSTRUCCIÓN DE PRESAS A TRAVÉS DE UN SISTEMA INFORMÁTICO

Doble Grado en Ingeniería Informática Tecnologías Informáticas y en Matemáticas

Depto. Sistemas I.O. y Computación. informáticos y Computación Univ. La Laguna

Introducción a ASP.NET Core

Experimentación distribuida basada en el sistema Condor

Optimización de Rutinas Multinivel de Álgebra Lineal en Sistemas Multicore

Universidad Autónoma Metropolitana Unidad Azcapotzalco. División de Ciencias Básicas e Ingeniería. Licenciatura en Ingeniería en Computación

GRADO EN INGENIERIA INFORMATICA

Herramientas para el estudio de prestaciones en clusters de computación científica, aplicación en el Laboratorio de Computación Paralela

157 - GRADO EN INGENIERÍA INFORMÁTICA PRIMER CURSO CURSO

FACULTAD DE INGENIERÍA

Ingeniería Informática

TABLA DE EQUIVALENCIAS DE ASIGNATURAS PLAN DE ESTUDIOS PROPUESTO PLAN DE ESTUDIOS

3.- COMPETENCIAS GENERALES Y ESPECÍFICAS QUE LOS ESTUDIANTES DEBEN ADQUIRIR DURANTE SUS ESTUDIOS Y QUE SON EXIGIBLES PARA OTORGAR EL TÍTULO

CAPÍTULO I Investigación Preliminar

TEMA 1 INTRODUCCIÓN AL MODELADO Y LA SIMULACIÓN

Biblioteca de recursos. Descargado desde

Arquitecturas de Altas Prestaciones y Supercomputación

Un importante problema para sistemas de la nueva generación

PLYCA es una solución 100% de contratación pública que aporta soluciones 360º y de manera integral.

ANÁLISIS DE SISTEMAS. Prof. Eliz Mora

PLAN DE ESTUDIOS

Programación Concurrente y Paralela. Unidad 1 Introducción

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE. Herramientas y técnicas de profiling

Conceptos y Estructuras de Sistemas Operativos

PROGRAMACIÓN PARALELA. Modelos de programación paralela Paradigmas de programación paralela

Control Neuro-Difuso Aplicado a una Grúa Torre. Chahuara Quispe, José Carlos. I. INTRODUCCIÓN

DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA PARA DETECCIÓN DE VEHÍCULOS ROBADOS EN MOVIMIENTO, EMPLEANDO TECNOLOGÍA BEAGLEBONE, POR MEDIO DE SOFTWARE LIBRE.

GUÍA DEL CURSO ACADÉMICO ESCUELA UNIVERSITARIA DE INFORMÁTICA UNIVERSIDAD POLITÉCNICA DE MADRID

Buenas prácticas para la implementación de herramientas de Ciencia de Datos Leonardo Alfonso Ramos Corona Facultad de Geografía, UAEM.

Matriz de Competencias THEME Mecatrónica con Competencias Parciales/ Unidades de Resultados de Aprendizaje

BETGAME PROJECT. Desarrollo de un videojuego on-line de pronósticos deportivos. Autor: Alejandro López González

Table of Contents. Table of Contents Tecnología de automatización IPA Industrial process automation IPA Virtual

Multiplicación de Matrices en Sistemas cc-numa Multicore. Autor: Jesús Cámara Moreno Director: Domingo Giménez Cánovas

GRADO EN INGENIERIA INFORMATICA

Calendario escolar y períodos para administrar las unidades de aprendizaje Calendario escolar anual, con dos períodos regulares y un intensivo

SILABO Herramientas de Desarrollo de Software

Biblioteca de recursos. Descargado desde

28/08/ :52:22 Página 1 de 5

GRADUADO EN INGENIERÍA DE COMPUTADORES - FICHA TÉCNICA

GUÍA DOCENTE DE TEMAS AVANZADOS EN INGENIERÍA INFORMÁTICA

Análisis de rendimiento de algoritmos paralelos

Desarrollo Software Gran Escala

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE. Programación Concurrente

INGENIERÍA DE SOFTWARE. Sesión 6: Construcción y pruebas del software

HPC: Aplicaciones y Software

IFCD0111 Programación en Lenguajes Estructurados de Aplicaciones de Gestión

Grado en Matemáticas

Grado en Ingeniería Informática

COMPARACIÓN DE MODELOS DE SINCRONIZACIÓN EN PROGRAMACIÓN PARALELA SOBRE CLUSTER DE MULTICORES

Mención Ingeniería del Software Marcelino Cabrera Dpto. Lenguajes y Sistemas Informáticos

Trabajo de Fin de Máster

INGENIERÍA MECATRÓNICA EN COMPETENCIAS PROFESIONALES

ESCUELA: UNIVERSIDAD DEL ISTMO

Grado en Ingeniería Informática Curso Convocatoria de Julio

Instituto Universitario Politécnico. Santiago Mariño. Unidad Nº I: Nociones generales de la. computación. Elaborado por: Ing. Víctor Valencia.

ANX-PR/CL/ GUÍA DE APRENDIZAJE

Tarea 3 Búsqueda por Interpolación y Extrapolación

Java Spring. Programa de Estudio.

Java Spring. Programa de Estudio.

5. PLANIFICACIÓN DE LAS ENSEÑANZAS

LISTADO TRABAJOS SISTEMAS INFORMÁTICOS DEPARTAMENTO ARQUITECTURA Y TECNOLOGÍA DE SISTEMAS INFORMÁTICOS

Plan 95 Adecuado DEPARTAMENTO: ELECTRÓNICA CLASE: ELECTIVA DE ESPECIALIDAD ÁREA: TÉCNICAS DIGITALES HORAS SEM.: 4 HS. HORAS / AÑO: 64 HS.

Universidad de Costa Rica Sistema de Aplicaciones Estudiantiles SAE

Matemáticas y estadística con R Estadística, álgebra lineal y cálculo

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE. Métodos Numéricos

Cómputo Paralelo y Multicore en el Seno de las Tecnologías de la Información. Dr. Victor M. Larios Rosillo

IFCD0210 Desarrollo de Aplicaciones con Tecnologías Web

Granularidad y latencia

Santos Torres Fecha de elaboración: 28 de Mayo de 2010 Fecha de última actualización:

FICHA PÚBLICA DEL PROYECTO

Grado en Ingeniería de Computadores por la Universidad de Málaga Módulo I: Formación Básica

Criterios de Evaluación

Tópicos Selectos de Programación unidad 4. Librería de Interfaz Gráfica

DURACIÓN Y UBICACIÓN TEMPORAL DENTRO DEL PLAN DE ESTUDIOS

Itinerario Curricular del Doble Título de Grado en Ingeniería Informática Tecnologías Informáticas y Matemáticas

1r curso 2o curso 3r curso. Dirección de marketing. Contabilidad financiera Matemática discreta. Estructuras de datos Derecho mercantil

PLAN DE ESTUDIOS DE LA ESPECIALIDAD DE CIENCIA DE LA COMPUTACIÓN

CONTENIDOS CRITERIOS DE EVALUACIÓN ESTÁNDARES DE APRENDIZAJE EVALUABLES

Diseño Computacional de Máquinas

ÁREA DE FORMACIÓN BÁSICA COMÚN OBLIGATORIA Horas Teoría. Matemáticas discretas CT Programación I CT

COMPUTACIÓN EN LA NUBE CON JAVA

Transcripción:

OBANSoft: aplicación para el análisis bayesiano objetivo y subjetivo. Estudio de su optimización y paralelización Manuel Quesada Martínez 12 de julio de 2010

Índice 1 Introducción 2 Estado del arte 3 Diseño de la aplicación OBANSoft Requisitos, funcionalidad y módulos Aplicación del modelo MVC Principales objetos e interacción entre ellos Algoritmos bayesianos. Integración de tecnologías El R-Modelo y su integración con R 4 Rendimiento y paralelización Estudio de los algoritmos secuenciales Simuladores simples y compuestos Paralelización de los simuladores compuestos 5 Conclusiones y trabajos futuros

Por qué la aplicación OBANSoft? Motivación: llenar el vacío existente respecto a aplicaciones para el análisis bayesiano de datos con mínima información a priori. Diseño modular para facilitar: Extensión con nueva funcionalidad. Independencia del modelo estadístico. Integración de tecnologías. Utilizar como punto de partida de esta ĺınea de investigación en computación de altas prestaciones.

Grupos de investigación (UMU): Grupo de Computación Científica y Programación Paralela: asdf Experiencia en el desarrollo y optimización de código paralelo. Incluyendo técnicas de autooptimización y en la aplicación de la computación paralela en diversos campos científicos. (UMH): Grupo de Estadística Bayesiana: asdf Experiencia en el desarrollo de códigos de simulación aplicables a la resolución de análisis bayesianos en diversos campos.

Alternativas disponibles para anális bayesianos Alternativas y lenguajes para el análisis bayesiano: Algunas librerías de SAS. Software bayesiano Winbugs. El proyecto R.. Interfaces gráficas para R: RCommander. JGR.

Alternativas disponibles para anális bayesianos Alternativas y lenguajes para el análisis bayesiano: Algunas librerías de SAS. aaaaaaaaaaaa (Software de pago) Software bayesiano Winbugs. aaaa (Solo análisis subjetivos) El proyecto R.. Interfaces gráficas para R: aaaa(insuficientes para su extensión) RCommander. JGR.

Artefactos, tecnología y herramientas Se recoge el resumen de los objetos software, tecnología y librerías utilizadas:. Elemento Software Tecnologías Librerías Librería estadística Java (JSE) + R JRI Aplicación de escritorio Java Swing Swing Paralelización R paralelo Snow Fall Se ha programado y probado en sistemas: Windows XP, Ubuntu 8.10 y MacOS Leopard Los experimentos para los códigos paralelos programados se han realizado en la máquina Luna.inf.um.es: procesador Intel Quad Core 4 y 4 GB de RAM.

Requisitos, funcionalidad y módulos Requisitos, funcionalidad y módulos Para desarrollar una aplicación que infiera con modelos estadísticos bayesianos sobre bancos de datos, se debe soportar previamente la funcionalidad mínima para la edición y manipulación de los mismos. Módulos de requisitos (Según su funcionalidad): Creación y edición de bancos de datos (DataFrames). Descriptivas numéricas y gráficas. Transformaciones sobre los datos. Simulación de datos. Modelización y análisis.

Requisitos, funcionalidad y módulos Resumen de la metodología aplicada Abordar diversas áreas nos lleva a dividir la metodología en 4 partes: Parte I: elaboración de un catálogo que recoja las operaciones bayesianas que soporta la aplicación. Parte II: decidir qué tecnologías y recursos se utiliza para diseñar e implementar la aplicación y la librería de funciones. Parte III: diseño e implementación de la librería y la aplicación de escritorio. Parte IV: estudio del rendimiento y paralelización de los algoritmos de simulación.

Aplicación del modelo MVC El modelo Modelo-Vista-Controlador

Introduccio n Estado del arte Disen o de la aplicacio n OBANSoft Rendimiento y paralelizacio n Conclusiones y trabajos futuros Principales objetos e interaccio n entre ellos Objetos del Modelo

Principales objetos e interacción entre ellos Objetos de la Vista

Principales objetos e interacción entre ellos Objetos del Controlador Controlador principal que gestiona todos los eventos que requieren la participación del MainForm : MainController.. Controladores por módulos: sdf FileController sdf EditController sdf DescriptiveController sdf InferenceController Otros objetos: DataFramesController sdf GestorGraficos

Algoritmos bayesianos. Integración de tecnologías Algoritmos bayesianos. Integración de tecnologías

El R-Modelo y su integración con R El R-Modelo y su integración con R Logs de la aplicación: log de la general y log del R-Modelo

El R-Modelo y su integración con R El R-Modelo y su integración con R Logs de la aplicación: logs de la aplicación y log del R-Modelo.

Estudio de los algoritmos secuenciales Qué algoritmos optimizar y paralelizar? Entre todos los algoritmos programados nos centramos en los algoritmos de simulación. Consumen mayor tiempo de ejecución. Punto crítico de la resolución de un análisis bayesiano. Todo el análisis se basa en la simulación. Son utilizados para la inferencia de los modelos bayesianos. Tenemos en la aplicación un total de 27 algoritmos programados! Metodología (Parte IV): realizamos un estudio experimental de los tiempos de ejecución de todos ellos y seleccionamos los más adecuados.

Estudio de los algoritmos secuenciales Qué algoritmos optimizar y paralelizar? Entre todos los algoritmos programados nos centramos en los algoritmos de simulación. Consumen mayor tiempo de ejecución. Punto crítico de la resolución de un análisis bayesiano. Todo el análisis se basa en la simulación. Son utilizados para la inferencia de los modelos bayesianos. Tenemos en la aplicación un total de 27 algoritmos programados! Metodología (Parte IV): realizamos un estudio experimental de los tiempos de ejecución de todos ellos y seleccionamos los más adecuados.

Estudio de los algoritmos secuenciales Experimento 1: Tendencia del crecimiento T i e m p o ( m s e g ) Tendenciadelossimuladores Númerodesimulaciones Tendencia lineal en el tiempo de ejecución a medida que aumentamos el número de simulaciones.

Estudio de los algoritmos secuenciales Experimento 2: Comparativa de los simuladores Se observan dos tipos de simuladores: Simuladores Simples y Simuladores Compuestos.

Simuladores simples y compuestos Estructura de los Simuladores Compuestos Invocamos una vez a una función simple de tamaño X. Invocamos X veces a otra función simple (función cadena) con parámetros extraídos de la función anterior. Los experimentos indican que la función cadena consume un 90 % del tiempo total de ejecución. Paralelizamos la función cadena con R paralelo.

Paralelización de los simuladores compuestos Paralelización para memoria compartida (SnowFall)

Paralelización de los simuladores compuestos Experimento 3: Resultado de la paralelización Pese a la ganancia, no se alcanza el ĺımite teórico p.

Conclusiones OBANSoft ha permitido cubrir el vacío dentro de las aplicaciones de estadística bayesiana. Ha sido presentado en el congreso Valencia International Meeting on Bayesian Statistics, 2010 ISBA World Meeting. Por su diseño modular y la integración de tecnologías, la librería y la aplicación servirán de base para integrar otros resultados obtenidos en la continuación de esta ĺınea de investigación. Basándonos en el estudio experimental de los algoritmos paralelos, parece que las funciones compuestas pueden ser paralelizadas para conseguir beneficios en el tiempo de ejecución. La utilización de SnowFall ha limitado las conclusiones.

Trabajos futuros Continuar con el estudio del comportamiento de la librería SnowFall. Podríamos aplicar la metodología seguida en el proyecto de Virginio García López. Buscar los códigos de los simuladores programados en C, y compararlos con las funciones en R. Paralelizar los algoritmos programados en C con OpenMP y comprarlos con SnowFall. Integrar otros modelos que implican la simulación con algoritmos basados en cadenas de Markov. Ampliar los módulos de OBANSoft con nueva funcionalidad. Adaptar el modelo estadístico a una web para explotarlo como Cloud Computing.

OBANSoft: aplicación para el análisis bayesiano objetivo y subjetivo. Estudio de su optimización y paralelización Manuel Quesada Martínez 12 de julio de 2010