137 research outputs found

    Firma de la aplicación paralela para predecir el rendimiento

    Get PDF
    Evaluar el rendimiento de una aplicación paralela es cada vez más complejo. Una vez terminado el desarrollo, cuando una aplicación pasa a producción, el rendimiento y la eficiencia son fundamentales para los usuarios y administradores. Por ello, cada vez es más importante ser capaz de tener información para seleccionar adecuadamente cuál es el sistema más apropiado para ejecutar la aplicación, o cuánto tiempo de ejecución llevará ejecutar la aplicación entera, a fin de tener una previsión que permita hacer una mejor gestión y utilización uso de los recursos disponibles. La evaluación del rendimiento es importante a todos los niveles relacionados con los sistemas informáticos, incluyendo el diseño, el desarrollo, ventas/compras, en el uso, actualización y el redimensionamiento de los sistemas. La evaluación del rendimiento se vuelve necesaria cuando el diseñador quiere comparar entre varios sistemas informáticos y decidir cuál es el mejor sistema para un determinado conjunto de aplicaciones. Incluso si no hay alternativas, la evaluación del rendimiento del sistema actual ayuda a determinar cuál es el rendimiento de una aplicación, la necesidad de recursos y ayuda a decidir si las mejoras deben realizarse

    Modeling and simulation for healthcare operations management using high performance computing and agent-based model

    Get PDF
    Premi Extraordinari de Doctorat concedit pels programes de doctorat de la UAB per curs acadèmic 2017-2018Los servicios hospitalarios de urgencias (SU) son servicios altamente integrados que gestionan las necesidades primarias de los pacientes que llegan sin cita previa y en condiciones inciertas. En este contexto, el análisis y la gestión de flujos de pacientes ejercen un papel clave en el desarrollo de las políticas y herramientas de decisión para mejorar la actuación global del sistema. Pese a esto, los mismos flujos de pacientes en un SU son considerados muy complejos debido a los diferentes caminos que pueden tomar los pacientes y a la inherente incerteza y variabilidad de los servicios de salud. Debido a la complejidad y al papel crucial de un SU en el sistema sanitario, la habilidad de representar, simular y predecir el rendimiento de un SU tiene un valor incalculable para quien toma decisiones para resolver los problemas de la gestión de las operaciones. Una manera a percatarse de las consecuencias es mediante el modelado y la simulación. El objetivo general de este estudio es desarrollar herramientas para entender mejora la complejidad (explicar), evaluar la política (predecir) y mejorar la eficiencia (optimizar) de unidades de SU. Las dos aportaciones principales son: (1) Un modelo basado en agentes para predecir y analizar cuantitativamente el complejo comportamiento de los servicios de urgencias. E objetivo de este modelo es captar la asociación no lineal entre las funciones de nivel macro y el comportamiento a nivel micro con el objetivo de comprender mejor el cuello de botella del rendimiento de los SU y proporcionar la capacidad de cuantificar este rendimiento en una condición dada. El modelo fue construido en colaboración con el personal de asistencia sanitaria en un SU típica y ha sido implementado en el entorno de modelado NetLogo. Se proporcionan casos de estudio para presentar algunas capacidades del simulador que analizan cuantitativamente el comportamiento del SU así como el soporte a la toma de decisiones. (2) Una metodología de simulación basada en la optimización para el calibrado de los parámetros del modelo en condiciones de escasez de datos. Para conseguir una alta fidelidad y credibilidad en la realización de la predicción y exploración del sistema actual con modelos de simulaciones se ha de aplicar en primer lugar una calibración rigurosa y un procedimiento de validación. No obstante, una de las cuestiones clave en el calibrado es la adquisición de información de una fuente válida para el sistema destino. El objetivo de este trabajo es desarrollar un método sistemático para calibrar automáticamente un modelo genérico de un servicio de urgencias con datos incompletos. El método de calibrado propuesto permite a los usuarios de la simulación calibrar el modelo genérico para la simulación de los propios sistemas sin involucrarse en el modelo. Las técnicas de computación de alto rendimiento se utilizaron para buscar el conjunto óptimo de parámetros de manera eficiente. Creemos que una herramienta de calibrado automático publicado juntamente con un modelo genérico de un SU es prometedor para la promoción de la aplicación de la simulación en los estudios de SU. Además, la integración de técnicas de simulación de un SU i optimación podrían también ser utilizada para la optimización sistemática de un SU. A partir de la simulación de los servicios de urgencias, nuestros esfuerzos probaron la viabilidad y la idoneidad de la utilización del modelo de simulación y técnicas basadas en agentes para el estudio del sistema de salud.Hospital based emergency departments (EDs) are highly integrated service units to primarily handle the needs of the patients arriving without prior appointment, and with uncertain conditions. In this context, analysis and management of patient flows play a key role in developing policies and decision tools for overall performance improvement of the system. However, patient flows in EDs are considered to be very complex because of the different pathways patients may take and the inherent uncertainty and variability of healthcare processes. Due to the complexity and crucial role of an ED in the healthcare system, the ability to accurately represent, simulate and predict performance of ED is invaluable for decision makers to solve operations management problems. One way to realize this requirement is by modeling and simulation. Armed with the ability to execute a compute-intensive model and analyze huge datasets, the overall goal of this study is to develop tools to better understand the complexity (explain), evaluate policy (predict) and improve efficiencies (optimize) of ED units. The two main contributions are: (1) An agent-based model for quantitatively predicting and analyzing the complex behavior of emergency departments. The objective of this model is to grasp the non-linear association between macro-level features and micro-level behavior with the goal of better understanding the bottleneck of ED performance and provide ability to quantify such performance on defined condition. The model was built in collaboration with healthcare staff in a typical ED and has been implemented in a NetLogo modeling environment. In order to validate its adaptivity, the presented model has been calibrated to emulate a real ED in Spain, simulation results have proven the feasibility and ideality of using agent-based model & simulation techniques to study the ED system. Case studies are provided to present some capabilities of the simulator on quantitively analyzing ED behavior and supporting decision making. (2) A simulation and optimization based methodology for calibrating model parameters under data scarcity. To achieve high fidelity and credibility in conducting prediction and exploration of the actual system with simulation models, a rigorous calibration and validation procedure should firstly be applied. However, one of the key issues in calibration is the acquisition of valid source information from the target system. The aim of this contribution is to develop a systematic method to automatically calibrate a general emergency department model with incomplete data. The proposed calibration method enables simulation users to calibrate the general model for simulating their system without the involvement of model developers. High performance computing techniques were used to efficiently search for the optimal set of parameters. The case study indicates that the proposed method appears to be capable of properly calibrating and validating the simulation model with incomplete data. We believe that an automatic calibration tool released with a general ED model is promising for promoting the application of simulation in ED studies. In addition, the integration of the ED simulator and optimization techniques could be used for ED systematic performance optimization as well. Starting from simulating the emergency departments, our efforts proved the feasibility and ideality of using agent-based model methods to study healthcare systems

    TDP-Shell : entorno para acoplar gestores de colas y herramientas de monitorización

    Get PDF
    Hoy en día la mayoría de aplicaciones distribuidas se ejecutan en clusters de ordenadores gestionados por un gestor de colas. Por otro lado, los usuarios pueden utilizar las herramientas de monitorización actuales para detectar los problemas en sus aplicaciones distribuidas. Pero para estos usuarios, es un problema utilizar estas herramientas de monitorización cuando el cluster está controlado por un gestor de colas. Este problema se debe al hecho de que los gestores de colas y las herramientas de monitorización, no gestionan adecuadamente los recursos que deben compartir al ejecutar y operar con aplicaciones distribuidas. A este problema le denominamos "falta de interoperabilidad" y para resolverlo se ha desarrollado un entorno de trabajo llamado TDP-Shell. Este entorno soporta, sin alterar sus códigos fuentes, diferentes gestores de colas, como Cóndor o SGE y diferentes herramientas de monitorización, como Paradyn, Gdb y Totalview.Nowadays distributed applications are executed on computer clusters managed by a Batch Queue Systems. Users take advantage of Monitoring Tools to detect run-time problems on their applications running on a distributed environment. But it is a challenge to use Monitoring Tools on a cluster controlled by a Batch Queue System. This is due to the fact that Batch Queue Systems and Monitoring Tools do not coordinate the management of the resources they share, when executing a distributed application. We call this problem "lack of interoperability" and to solve it we have developed a framework called TDP-Shell. This framework supports different Batch Queue Systems such as Condor and SGE, and different Monitoring Tools such as Paradyn, Gdb and Totalview, without any changes on their source code. This thesis describes the development of the TDP-Shell framework, which allows monitoring both sequential and distributed applications that are executed on a cluster controlled by a Batch Queue System, as well as a new type of monitoring called "delayed"

    Particionamiento y balance de carga en simulaciones distribuidas de bancos de peces

    Get PDF
    El particionamiento y balance de carga son aspectos de gran interés en simulaciones distribuidas basadas en modelos orientados al individuo espacialmente explícitos. La descomposición equitativa del dominio del problema y la distribución eficiente de las particiones sobre las unidades de cómputo de la arquitectura paralela/distribuida son factores cruciales cuando se plantea como objetivo obtener el mejor rendimiento de la aplicaciÛn de simulaciÛn distribuida. Además, en modelos que exhiben patrones de movimiento es necesario establecer políticas competentes de balance de carga dinámico para continuar satisfaciendo el objetivo de rendimiento a medida que la simulación evoluciona en función del tiempo. En el presente trabajo se han desarrollado mÈtodos de particionamiento y balance de carga para simulaciones distribuidas a gran escala de modelos orientados al individuo espacialmente explícitos que exhiben patrones de movimiento. Se ha utilizado el modelo de Huth & Wissel, el cual representa el movimiento coordinado y polarizado de bancos de peces, para validar las estrategias desarrolladas. El método de particionamiento consiste en descomponer el dominio del problema en particiones compactas generadas a partir del criterio del radio cobertor y diagramas de Voronoi. La distribución de las particiones se realiza por medio de la agrupación de particiones por proximidad en un conjunto meta-particiones de cardinalidad igual a la cantidad de unidades de cómputo. La estrategia de balance de carga dinámica consiste en detectar el desbalance por medio de un algoritmo basado en umbrales y re-configurar las meta-particiones para lograr el re-equilibrio. Finalmente, se ha realizado experimentación exhaustiva con motivo de validar y verificar la viabilidad del simulador distribuido en distintos escenarios.Partitioning and load balancing are highly important issues in distributed simulations based on spatially-explicit individual-oriented models. Choosing how to decompose the domain of an individual-oriented system and efficiently distribute the set of partitions are crucial factors at the moment to execute the distributed simulation. Furthermore, if the individual-oriented model exhibits mobility patterns, we should be able to maintain the load balancing in order to keep the global application performance as the distributed simulation evolves in time. In this work, we have developed partitioning and load balancing strategies for distributed spatially-explicit individual-oriented simulations with mobility patterns. We have used the Huth and Wissel model, which represents the coordinated and polarized motion of fish schools, in order to validate the developed strategies.Our partitioning method consists of decomposing an individual-oriented system into a collection of compact partitioning generated by means of covering radius criterion and Voronoi diagrams. The distribution model consists of grouping partitions by proximity into a set of meta-partitions. The number of meta-partitions should be equal to the number of computing resources of the distributed architecture. The dynamic load balancing strategy consists of detecting imbalance by means of a threshold-based algorithm and reconfiguration the set of meta-partitions in order to re-balance the workload. We have done exhaustive experimentation using a large set of scenarios in order to validate and verify the distributed simulator feasibility

    Metodología para la evaluación de prestaciones del sistema de entrada/salida en computadores de altas prestaciones

    Get PDF
    The increase in processing units, the advance in speed and compute power, and the increasing complexity of scientific applications that use high performance computing require more efficient Input/Output(I/O) Systems. The performance of many scientific applications is inherently limited by the input/output subsystem. Due to the historical "gap" between the computing and I/O performance, in many cases, the I/O system becomes the bottleneck of parallel systems. Identification of I/O factors that influence on performance can help us to hide this "gap". This situation lead us to ask ourselves the next questions: Must adapt Scientific applications to I/O configurations?, How do I/O factors influence on performance? How do you configure the I/O system to adapt to the scientific application? Answering these questions is not trivial. To use the I/O system efficiently it is necessary to know its performance capacity to determine if it fulfills I/O requirements of application. We present a methodology to performance evaluate of the I/O system on computer clusters. We propose the I/O system evaluation by taking into account requirements of the application and the I/O configuration. To do this we have defined a methodology with three stages: characterization, analysis of I/O and evaluation. Furthermore, we define a methodology to obtain the I/O model of parallel application that has been utilized to compare different I/O subsystems. It allows us to determine how much of the system's capacity is being used taking into account the I/O phases of application. The methodology can be used to select the configuration with less I/O time from different I/O configurations. The I/O model of application is defined by three characteristics: metadata, spatial global pattern and temporal global pattern. We have evaluated the I/O system utilization of different configurations by considering the I/O model of application.El aumento del número de unidades de procesamiento en los clúster de computadores, los avances tanto en velocidad como en potencia de los procesadores y las crecientes demandas de las aplicaciones científicas que utilizan cómputo de altas prestaciones trae mayores exigencias a los sistemas de Entrada/Salida (E/S) paralelos. El rendimiento de muchas aplicaciones científicas está inherentemente limitado por el sistema de E/S. Debido al histórico "gap" entre las prestaciones del cómputo y la E/S, en muchos casos, el sistema de E/S se convierte en el cuello de botella de los sistemas paralelos. La identificación de los factores de E/S que influyen en el rendimiento puede ayudar a ocultar este "gap". Esta situación lleva a hacer las siguientes preguntas: ¿Deben las aplicaciones científicas adaptarse a la configuración de E/S, ¿Cómo los factores E/S influyen en el rendimiento? ¿Cómo se configura el sistema de E/S para adaptarlo a la aplicación científica? La respuesta a estas preguntas no es trivial. Para utilizar el sistema de E/S de manera eficiente es necesario conocer su capacidad de rendimiento para determinar si cumple con requisitos de aplicación. En este trabajo se propone una metodología para evaluar las prestaciones de los sistemas de E/S en clusters de computadores. La evaluación considera la configuración del sistema de E/S y las características de E/S de la aplicación. Para ello se ha definido una metodología de tres etapas: caracterización, análisis de E/S y evaluación. En la fase de caracterización, se extrae las características de E/S de la aplicación y las características prestacionales del sistema de E/S. Se ha definido una metodología para obtener el modelo de E/S de la aplicación paralela que se ha utilizado para comparar diferentes sistemas de E/S. El modelo de E/S de aplicación está definido por tres características: metadatos, patrón global espacial y patrón global temporal. Esto permite determinar cuanto de la capacidad del sistema se utiliza teniendo en cuenta las fases de E/S de la aplicación. La metodología se puede utilizar para seleccionar la configuración con menor tiempo de E/S de diferentes configuraciones de E/S

    Scalable parallel architectures on reconfigurable platforms

    Get PDF
    Els últims avenços en els sistemes reconfigurables han fet possible que les darreres famílies de FPGAs tinguin prou recursos per permetre la implementació de sistemes multiprocessadors utilitzant més de 100 nuclis (soft-core) en una única FPGA. En aquesta tesis presento com implementar solucions basades en aquests sistemes i dos escenaris on aquests sistemes tenen interès. Les FPGAs s'utilitzen cada vegada més en la computació d'altes prestacions ja que poden arribar a oferir més eficiència energètica que altres arquitectures com ara CPUs o GPGPUs. Tanmateix, la baixa programabilitat d'aquests sistemes, fruit de l'ús de llenguatges HDL és un inconvenient que limita la seva adopció. La introducció recent de fluxos de disseny per FPGA basats en OpenCL és un avenç per reduir la dificultat de programació, però malgrat tot, produeix arquitectures de propòsit específic que no poden reutilitzar-se per altres aplicacions a no ser que es reconfiguri la plataforma. Construint many-soft-cores que utilitzin acceleradors simples es poden aconseguir prestacions i eficiència energètica i tot i així, encara disposar d'un sistema útil per executar altres aplicacions. Per fer-ho possible les eines de disseny actual per FPGA s'han complementat per afegir suport per construir arquitectures many-soft-core, proporcionar models de programació paral·lels i mètodes eficients per analitzar i optimitzar els dissenys. Per altra banda, es mostra com els mateixos mètodes es poden utilizar per desenvolupar un sistema de temps real i alts nivells de seguretat mitjançant l'aïllament de tasques en els diferents nuclis del sistema.The latest advances on reconfigurable systems resulted in FPGA devices with enough resources to implement multiprocessing systems with more than 100 soft-cores on a single FPGA. In this thesis I present how to implement solutions based on such systems and I present two scenarios where those kind of sytems would be valuable. FPGAs are increasingly being used in HPC computing as they can bring higher energy efficiency than other alternative architectures such as CPUs or GPGPUs. However, the programmability barrier imposed by HDL languages is a serious drawback that limits their adoption. The recent introduction of OpenCL toolchains for FPGAs is a step towards destroying the barrier, but still produce application specific designs that cannot be reused for other general purpose computing unless the platform is reconfigured. Building many-soft-cores using simple hardware accelerators can bring performance and energy efficiency and still provide a general purpose system to be used for different applications. To make it possible the current FPGA toolchains has been complemented to add support for fast many-soft-core platform description, provide convenient parallel programming models, and efficient methods to optimize the designs. On the other hand I show how the same methods can be applied to implement a system using a task isolation approach to meet the requirements of a hard real-time safety critical system

    Crowd modeling and simulation on high performance architectures

    Get PDF
    La gestió de la seguretat en grans esdeveniments s'ha convertit en clau en un món cada vegada més poblat. Els desastres multitudinaris han augmentat en els últims cent anys, de manera que la gestió de la seguretat dels assistents és una qüestió clau. Per comprendre i avaluar els riscos involucrats en aquestes situacions els models i simuladors permeten comprendre la situació i prendre decisions en conseqüència. Però la simulació de multituds te alts requeriments computacionals si tenim en compte milers de persones. A més, la mateixa situació inicial pot donar resultat diferents degut a comportaments no deterministes de la població; per això necessitem una quantitat significativa de simulacions. En aquesta tesi s'han proposat models multitudinaris i ens hem centrat en crear un DSS (Sistema de Suport a les Decisions). Els models proposats poden reproduir algunes de les complexitats dels agents, factors psicològics, la intel·ligència per trobar la sortida, evitar obstacles o moure a través de la multitud, i reproduir esdeveniments interns de la multitud en cas d'altes pressions o densitats. Per modelar aquests aspectes fem servir models basats en agents i mètodes numèrics. Per centrar-nos en l'aplicabilitat del model hem desenvolupat un flux de treball que li permet executar el DSS en el núvol per simplificar la complexitat del sistema als experts. Finalment, per provar el funcionament i per validar el simulador es van utilitzar escenaris reals i sintètics que ens han permès avaluar el rendiment dels models.Management of security in major events has become crucial in an increasingly populated world. Disasters have incremented in crowd events over the last hundred years and therefore the safety management of the attendees has become a key issue. To understand and assess the risks involved in these situations, models and simulators that allow understand the situation and make decisions accordingly are necessary. But crowd simulation has high computational requirements when we consider thousands of people. Moreover, the same initial situation can vary on the results depending on the non deterministic behavior of the population; for this we also need a significant amount of statistical reliable simulations. In this thesis we have proposed crowd models and focused on providing a DSS (Decisions Support System). The proposed models can reproduce the complexity of agents, psychological factors, intelligence to find the exit and avoid obstacles or move through the crowd, and recreate internal events of the crowd in case of high pressures or densities. In order to model these aspects we use agent-based models and numerical methods. To focus on the applicability of the model we have developed a workflow that allows you to run in the Cloud DSS to simplify the complexity of the systems to the experts and only left to the them the configuration. Finally, to test the operation and to validate the simulator we used real scenarios and synthetic in order to evaluate the performance of the models

    Multi-core hybrid architectures applied to forest fire spread prediction

    Get PDF
    Premi Extraordinari de Doctorat concedit pels programes de doctorat de la UAB per curs acadèmic 2017-2018Els incendis forestals són un tipus de desastre natural que representa un gran repte per a la societat a causa dels seus elevats costos econòmics i humans. Amb l'objectiu d'evitar els costos derivats d'aquest desastre natural i millorar l'extinció dels mateixos, els simuladors de propagació d'incendis es poden utilitzar per intentar anticipar el comportament de l'incendi i ajudar a aconseguir una extinció de l'incendi més eficient i segura. Quan es propociona una predicció de la propagació d'un incendi forestal existeixen dos elements claus: la precisió i el temps necessari per computar la predicció. Sota el context de la simulació de desastres naturals, és ben conegut que part de l'error de la predicció estàsubjecta a la incertesa en les dades d'entrada utilitzades pel simulador. Per aquesta raó, la comunitat científica ha creat diferents mètodes de calibratge per reduir la incertesa de les dades d'entrada i així millorar l'error de la predicció. En aquest treball s'utilitza una metodologia de predicció basada en dues etapes que ha estat provada en treballs previs amb bons resultats. Aquest mètode de calibratge implica una necessitat considerable de recursos computacionals i eleva el temps de còmput a causa de l'ús d'un Algorisme Genètic com a mètode de cerca de les millors dades d'entrada del simulador. S'ha de tenir en compte les restriccions de temps sota les quals treballa un sistema de predicció d'incendis. Es necessari mantenir un equilibri adequat entre precisió i temps de còmput utilitzat per poder proporcionar una bona predicció a temps. Per poder utilitzar la tècnica de calibratge esmentat, s'ha de solucionar el problema que representa que algunes solucions siguin inviables ja que impliquen temps d'execució molt llargs, fet que pot impedir que es pugui donar resposta a temps en un suposat context operacional. La present Tesi Doctoral utilitza les arquitectures multi-core amb l'objectiu d'accelerar el mètode de predicció basat en dues etapes per poder proporcionar una predicció sota temps de lliurament que es donarien en un context real. Per aquesta raó, es defineix una política d'assignació de nuclis basada en el temps disponible d'execució. Aquesta política d'assignació assignaràun nombre determinat de recursos a una determinada simulació prèviament a ser executada. La política d'assignació es basa en arbres de decisió creats amb els paràmetres de simulació utilitzats. No obstant això, es pro¬posen dos mètodes per a aquells casos on l'Algorisme Genètic tendeix a crear individus el temps d'execució dels quals provoquen que sigui impossible acabar el calibratge a temps: ReTAC i SoftTAC. La proposta ReTAC utilitza la resolució de les simulacions per solucionar el problema. En concret, ReTAC tracta de trobar la mínima reducció de la resolució que permeti que aquelles simulacions que són massa llargues puguin ser executades mantenint la precisió sota control. D'altra banda, SoftTAC utilitza poblacions de grandària dinàmica. Es a dir, els individus no es maten en arribar al límit de temps d'execució assignat a una generació de l'AG, sino que es permet l'execució simultanea d'individus de diferents generacions de l'algorisme genètic. Totes les estratègies de predicció proposades han estat provades amb casos reals obtenint resultats satisfactoris en termes de precisió i de temps de còmput utilitzat.Los incendios forestales son un tipo de catástrofe natural que representa un gran reto para sociedad debido a sus elevados costes económicos y humanos. Con el objetivo de evitar los costes derivados de dicho desastre natural y mejorar la extinción de éstos, los simuladores de propagación de incendios se pueden utilizar para intentar anticipar el comportamiento del incendio y ayudar a conseguir una extinción del incendio más eficiente y segura. Cuando se propociona una predicción de la propagación de un incendio forestal existen dos elementos clave: la precisión y el tiempo necesario para computar la predicción. Bajo el contexto de la simulación de desastres naturales, es bien conocido que parte del error de la predicción está sujeta a la incertidumbre en los datos de entrada utilizados por el simulador. Por esta razón, la comunidad científica ha creado distintos métodos de calibración para reducir la incertidumbre de los datos de entrada y así mejorar el error de la predicción. En este trabajo se utiliza una metodología de calibración basada en dos etapas que ha sido probada en trabajos previos con buenos resultados. Este método de calibración implica una necesidad considerable de recursos computacionales y eleva el tiempo de cómputo debido al uso de un Algoritmo Genético como método de búsqueda de los mejores datos de entrada del simulador. Se debe tener en cuenta las restricciones de tiempo bajo las que trabaja un sistema de predicción de incendios. Es necesario mantener un equilibrio adecuado entre precisión y tiempo de cómputo utilizado para poder proporcionar una buena predicción a tiempo. Para poder utilizar la técnica de calibración mencionada, se debe solucionar el problema que representa que algunas soluciones sean inviables debido a que implican tiempos de ejecución muy largos, lo que puede impedir que se pueda dar respuesta a su debido tiempo en un supuesto contexto operacional. La presente Tesis Doctoral utiliza las arquitecturas multi-core con el objetivo de acelerar el método de calibración basado en dos etapas y poder proporcionar una predicción bajo tiempos de entrega que se darían en un contexto real. Por esta razón, se define una política de asignación de núcleos basada en el tiempo disponible de ejecución . Esta política de asignación asignará un número determinado de recursos a una determinada simulación previamente a ser ejecutada. La política de asignación se basa en árboles de decisión creados con los parametros de simulación n utilizados. Sin embargo, se proponen dos métodos para aquellos casos donde el algoritmo genético tienda a crear individuos cuyo tiempo de ejecución provocan que sea imposible acabar la calibración a tiempo: Re-TAC y Soft-TAC. La propuesta ReTAC utiliza la resolución de las simulaciones para solucionar el problema. En concreto, Re-TAC trata de encontrar la mínima reducción de la resolución que permita que aquellas simulaciones que son demasiado largas puedan ser ejecutadas manteniendo la precisión bajo control. Por otro lado, Soft-TAC utiliza poblaciones de tamaño dinámico. Es decir, los individuos no se matan al alcanzar el límite de timepo de ejecución asignado a una generación del Algoritmo Genético, sino que se permite la ejecución simultanea de individuos de distintas generaciones haciendo que el tamaño de la población sea dinámico. Todas la estrategias de predicción propuestas han sido probadas con casos reales obteniendo resultados satisfactorios en términos de precisión y de tiempo de cómputo utilizado.Large forest fires are a kind of natural hazard that represents a big threat for the society because it implies a significant number of economic and human costs. To avoid major damages and to improve forest fire management, one can use forest fire spread simulators to predict fire behaviour. When providing forest fire predictions, there are two main considerations: accuracy and computation time. In the context of natural hazards simulation, it is well known that part of the final forecast error comes from uncertainty in the input data. For this reason several input data calibration methods have been developed by the scientific community. In this work, we use the Two-Stage calibration methodology, which has been shown to provide good results. This calibration strategy is computationally intensive and timeconsuming because it uses a Genetic Algorithm as an optimization strategy. Taking into account the aspect of urgency in forest fire spread prediction, we need to maintain a balance between accuracy and the time needed to calibrate the input parameters. In order to take advantage of this technique, we must deal with the problem that some of the obtained solutions are impractical, since they involve simulation times that are too long, preventing the prediction system from being deployed at an operational level. This PhD Thesis exploits the benefits of current multi-core architectures with the aim of accelerating the Two-Stage forest fire prediction scheme being able to deliver predictions under strict real time constraints. For that reason, a Time-Aware Core allocation (TAC) policy has been defined to determine in advance the more appropriate number of cores assigned to a given forest fire spread simulation. Each execution configuration is obtained considering the particular values of the input data needed for each simulation by applying a dynamic decision tree. However, in those cases where the optimization process will drive the system to solutions whose simulation time will prevent the system to finish on time, two different enhanced schemes have been defined: Re-TAC and Soft-TAC. Re-TAC approach deals with the resolution of the simulation. In particular, Re-TAC finds the minimum resolution reduction for such long simulations, keeping accuracy loss to a known interval. On the other hand, Soft-TAC considers the GA's population size as dynamic in the sense that none individual will be killed for over passing the internal generations deadline, but it will be keep executing and the population size for the subsequent GA's generation is modified according to that. All proposed prediction strategies have been tested with past real cases obtaining satisfactory results both in terms of prediction accuracy and in the time required to deliver the prediction

    Factores de rendimiento en aplicaciones híbridas

    Get PDF
    En el entorno actual, diversas ramas de las ciencias, tienen la necesidad de auxiliarse de la computación de altas prestaciones para la obtención de resultados a relativamente corto plazo. Ello es debido fundamentalmente, al alto volumen de información que necesita ser procesada y también al costo computacional que demandan dichos cálculos. El beneficio al realizar este procesamiento de manera distribuida y paralela, logra acortar los tiempos de espera en la obtención de los resultados y de esta forma posibilita una toma decisiones con mayor anticipación. Para soportar ello, existen fundamentalmente dos modelos de programación ampliamente extendidos: el modelo de paso de mensajes a través de librerías basadas en el estándar MPI, y el de memoria compartida con la utilización de OpenMP. Las aplicaciones híbridas son aquellas que combinan ambos modelos con el fin de aprovechar en cada caso, las potencialidades específicas del paralelismo en cada uno. Lamentablemente, la práctica ha demostrado que la utilización de esta combinación de modelos, no garantiza necesariamente una mejoría en el comportamiento de las aplicaciones. Por lo tanto, un análisis de los factores que influyen en el rendimiento de las mismas, nos beneficiaría a la hora de implementarlas pero también, sería un primer paso con el fin de llegar a predecir su comportamiento. Adicionalmente, supondría una vía para determinar que parámetros de la aplicación modificar con el fin de mejorar su rendimiento. En el trabajo actual nos proponemos definir una metodología para la identificación de factores de rendimiento en aplicaciones híbridas y en congruencia, la identificación de algunos factores que influyen en el rendimiento de las mismas.En l'entorn actual, diverses branques de les ciències, tenen la necessitat de recolzar-se en la computació d'altes prestacions per a l'obtenció de resultats en un relatiu curt temps. Això és degut bàsicament, a l'alt volum d'informació que necessita ser processada i també al cost computacional que demanen aquests càlculs. El benefici al realitzar aquests processaments de forma distribuïda i paral·lela, és que s'aconsegueix escurçar els temps d'espera en l'obtenció de resultats i d'aquest forma possibilita una presa de decisions amb major anticipació. Per aconseguir això, existeixen fundamentalment dos models de programació àmpliament estesos: el model de pas de missatges mitjançant llibreries basades en l'estàndar MPI, i el model de memòria compartida amb la utilització de OpenMP. Les aplicacions híbrides són aquelles que combinen d'ambdós models amb la finalitat d'aprofitar en cada cas, les potencialitats específiques de paral·lelisme. Lamentablement, la pràctica ha demostrat que la utilització d'aquesta combinació de models, no garantitza necessàriament un millor comportament de les aplicacions. Per tant, un anàlisi dels factors que influeixen en el rendiment, pot beneficiar a l'hora d'implementarles, però també, pot ser un primer pas per aconseguir predir el comportament. Adicionalment, pot suposar una via per a determinar els paràmetres de l'aplicació a modificar amb la finalitat de millor el rendiment. En el treball actual es proposa definir una metodologia per a la identificació de factors de rendiment en aplicacions híbrides, i en congruència, la identificació de factors que influeixen en el rendiment.In the current environment, various branches of science are in need of auxiliary high-performance computing to obtain relatively short-term results. This is due mainly to the high volume of information that needs to be processed and the computational cost demanded by these calculations. The benefit to perform this processing using distributed and parallel programming mechanism achieves shorter waiting times in obtaining the results and thus allows making decisions sooner. To support this, there are basically two widely spread programming models: the model of message passing, through based on the standard libraries MPI, and shared memory model with the use of OpenMP. Hybrid applications are those that combine both models in order to take in each case, the specific potential of parallelism of each one. Unfortunately, experience has shown that using this combination of models, does not necessarily guarantee an improvement in the behavior of applications. Therefore, an analysis of the factors that influence the performance of hybrid applications will help us to improve his performance base on modifying the original code. Besides, it will be the first step in the long way to predict their behavior. Additionally, it would be a way to determine which parameters of the application have to be modified to improve the performance. In the current work, we propose a methodology to identify performance factors in hybrid applications and in consequence, the identification of factors that influence the performance of them
    corecore