%0 Thesis %A Rodríguez-Pascual, Manuel %T Ejecución eficiente de códigos Monte Carlo en infraestructuras de Grid %D 2012 %U https://hdl.handle.net/20.500.14352/48077 %X Entre los diferentes aspectos que rodean a la computación Grid, esta tesisse centra en la ejecución eficiente de códigos de Monte Carlo.Hay determinados problemas en los que, por su complejidad o tamaño,es muy difícil o imposible obtener una solución exacta. Esto no hace quesean dejados de lado; por el contrario, se han creado multitud de alternativasque permiten aproximaciones más o menos precisas al resultado teóricoempleando una fracción de los recursos computacionales, lo que permite suuso en entornos reales.Entre estas alternativas se encuentra el llamado método de Monte Carlo(MC). Este método se apoya en el hecho de que algunos fenómenos complejospueden ser modelados mediante la ejecución de diferentes simulacionesindependientes, empleando números aleatorios para obtener los resultados.Gracias a esta particularidad, los códigos de Monte Carlo son ampliamenteempleados en diferentes áreas del conocimiento. Además, su modularidadsimplifica la ejecución en entornos distribuidos, donde la asignación de tareasa los recursos computacionales y la sincronización de las mismas dista de sertrivial.Debido a la alta demanda de recursos en muchas aplicaciones científicas-los códigos de MC entre ellas- la Computación Grid se ha erigido como unade las plataformas donde abordar problemas cada vez mayores y más ambiciosos.Además, ha permitido el acceso de la comunidad científica a grandesrecursos computacionales, algo especialmente útil dado que el empleo de supercomputadorestodavía dista de ser un recurso habitual en determinadosentornos.Debido a las particularidades de este tipo de infraestructuras, la ejecucióneficiente de aplicaciones distribuidas está lejos de ser trivial. A pesar delenorme trabajo realizado por la comunidad científica en este área (centradoen diferentes conceptos de “infraestructura Grid”, la aplicación a ejecutar o lainformación disponible) todavía falta una herramienta que permita ejecutaraplicaciones basadas en Monte Carlo en la Grid, que aproveche al máximosu flexibilidad y modularidad para obtener el mayor rendimiento posible.Para llevar a cabo esta tarea se ha seguido una estrategia innovadora.Aquí los códigos de Monte Carlo, los recursos disponibles y las infraestructuras Grid han sido caracterizados con la mayor información posible, demodo que ésta se pueda emplear para hacer una planificación precisa. Estosupone un avance respecto a las herramientas previamente existentes, dadoque el empleo de un volumen mucho mayor de información en el proceso deplanificación permite llevar a cabo políticas más eficientes tanto en tiempode ejecución de la aplicación como en el empleo de recursos.Además se ha creado un nuevo algoritmo de self-scheduling llamadoDyTSS (acrónimo de Dynamic Trapezoidal Self Scheduling, Auto-planificaciónTrapezoidal Dinámica), que utiliza esta información para decidir dónde ejecutarcada tarea y el tamaño de la misma.A pesar de que la gran mayoría de los trabajos de scheduling existentesse centran en el uso de simuladores o entornos controlados, en la presenteinvestigación estas propuestas han sido implementadas y empleadas en infraestructurasGrid en producción. Para ello se muestra el funcionamientode Montera (acrónimo de MONTE Carlo RApido), un framework desarrolladodurante el transcurso de la presente tesis. En Montera se han incluidomecanismos que obtienen la información necesaria para los modelos antesmencionados, y se han implementado diferentes algoritmos de planificaciónentre los que se incluye DyTSS.En resumen, en esta tesis se han ejecutado los siguientes pasos: caracterizacióndel entorno Grid orientada a códigos de MC; profiling de los códigosde MC; diseño de un algoritmo que emplea estos modelos para ejecutar demanera eficiente las aplicaciones; e implementación de todo lo anterior enuna única aplicación software.SUMMARY.Among the different aspects that compound Grid Computing this thesisis focused on the efficient execution of Monte Carlo codes.Monte Carlo (MC) codes rely on the assumption that the behavior ofcomplex phenomena can often be modeled by the execution of multiple simplesimulations that employ random or pseudo-random numbers to computetheir results. Thanks to this particularity, MC codes are widely used in variousfields of computing simulations, solving problems where it is unfeasibleor impossible to compute an exact result with a deterministic algorithm. Themodularity of MC codes also simplifies the execution of distributed environments,where task distribution and synchronization is not trivial.Because of the high demand many scientific applications place on resources-MC codes among them- Grid computing has emerged as a powerfulplatform for facing new and more ambitious problems. Grid computing hasenabled the scientific community to have easier access to large computingresources, something specially interesting nowadays that the employment ofsupercomputers is still far from being a commodity.Due to the particularities of this kind of infrastructure, the efficient executionof distributed applications is far from trivial. Although an enormouseffort has been put into this area by the scientific community (with manydifferent approaches focusing on different concepts of “Grid Infrastructure”,the particular characteristics of the application to be executed or the availableand published information) there is still the lack of a specific tool forexecuting Monte Carlo based applications on the Grid, taking the most ofits flexibility and modularity to obtaining the highest performance.To carry on this task an innovative strategy has been followed. Here,Monte Carlo codes, available resources and Grid Infrastructures have beencharacterized with as much information as possible, employing it to performa precise scheduling. This represents an advantage respect the previouslyexisting tools: the employment of a bigger volume of information in thescheduling process leads to more efficient policies both in execution timeand in resource usage.Also, a new self-scheduling algorithm called DyTSS (acronim for DynamicTrapezoidal Self-Scheduling) has been created. It employes this information to decide where to submit each task and its size.Even though most of the previous works on the area use simulators orcontrolled environments, in the current research these proposals have beenimplemented and employed on Grid infrastructures in production status. Todo so Montera (acronym for MONTE carlo RApido, Fast Monte Carlo inspanish), a framework for efficient executions of Monte Carlo codes has beendeveloped. Montera includes mechanisms that obtain the necessary informationto the aforementioned models, and different scheduling algorithms-including DyTSS- have been implemented.In summary, this work describes a proposal for optimizing the executionof MC codes on the Grid. First, a characterization of both MC codes and Gridinfrastructures is detailed. Then, an algorithm that employs this informationto split the desired simulation into tasks of different sizes and submit themto the Grid is explained. Finally, Montera, a framework that implements theproposed characterizations and the algorithm, is presented. %~