133 research outputs found

    METADOCK: A parallel metaheuristic schema for virtual screening methods

    Get PDF
    Virtual screening through molecular docking can be translated into an optimization problem, which can be tackled with metaheuristic methods. The interaction between two chemical compounds (typically a protein, enzyme or receptor, and a small molecule, or ligand) is calculated by using highly computationally demanding scoring functions that are computed at several binding spots located throughout the protein surface. This paper introduces METADOCK, a novel molecular docking methodology based on parameterized and parallel metaheuristics and designed to leverage heterogeneous computers based on heterogeneous architectures. The application decides the optimization technique at running time by setting a configuration schema. Our proposed solution finds a good workload balance via dynamic assignment of jobs to heterogeneous resources which perform independent metaheuristic executions when computing different molecular interactions required by the scoring functions in use. A cooperative scheduling of jobs optimizes the quality of the solution and the overall performance of the simulation, so opening a new path for further developments of virtual screening methods on high-performance contemporary heterogeneous platforms.Ingeniería, Industria y Construcció

    Exploiting Heterogeneous Parallelism on Hybrid Metaheuristics for Vector Autoregression Models

    Get PDF
    In the last years, the huge amount of data available in many disciplines makes the mathematical modeling, and, more concretely, econometric models, a very important technique to explain those data. One of the most used of those econometric techniques is the Vector Autoregression Models (VAR) which are multi-equation models that linearly describe the interactions and behavior of a group of variables by using their past. Traditionally, Ordinary Least Squares and Maximum likelihood estimators have been used in the estimation of VAR models. These techniques are consistent and asymptotically efficient under ideal conditions of the data and the identification problem. Otherwise, these techniques would yield inconsistent parameter estimations. This paper considers the estimation of a VAR model by minimizing the difference between the dependent variables in a certain time, and the expression of their own past and the exogenous variables of the model (in this case denoted as VARX model). The solution of this optimization problem is approached through hybrid metaheuristics. The high computational cost due to the huge amount of data makes it necessary to exploit High-Performance Computing for the acceleration of methods to obtain the models. The parameterized, parallel implementation of the metaheuristics and the matrix formulation ease the simultaneous exploitation of parallelism for groups of hybrid metaheuristics. Multilevel and heterogeneous parallelism are exploited in multicore CPU plus multiGPU nodes, with the optimum combination of the different parallelism parameters depending on the particular metaheuristic and the problem it is applied to.This work was supported by the Spanish MICINN and AEI, as well as European Commission FEDER funds, under grant RTI2018-098156-B-C53 and grant TIN2016-80565-R

    Using Hyperheuristics to Improve the Determination of the Kinetic Constants of a Chemical Reaction in Heterogeneous Phase

    Get PDF
    AbstractThe reaction in the human stomach when neutralizing acid with an antacid tablet is simu- lated and the evolution over time of the concentration of all chemical species present in the reaction medium is obtained. The values of the kinetic parameters of the chemical reaction can be determined by integrating the equation of the reaction rate. This is a classical opti- mization problem that can be approached with metaheuristic methods. The use of a parallel, parameterized scheme for metaheuristics facilitates the development of metaheuristics and their application. The unified scheme can also be used to implement hyperheuristics on top of pa- rameterized metaheuristics, so selecting appropriate values for the metaheuristic parameters, and consequently the metaheuristic itself. The hyperheuristic approach provides satisfactory values for the metaheuristic parameters and, consequently, satisfactory metaheuristics for the problem of determining the kinetic constants

    Enhancing large-scale docking simulation on heterogeneous systems: An MPI vs rCUDA study

    Full text link
    [EN] Virtual Screening (VS) methods can considerably aid clinical research by predicting how ligands interact with pharmacological targets, thus accelerating the slow and critical process of finding new drugs. VS methods screen large databases of chemical compounds to find a candidate that interacts with a given target. The computational requirements of VS models, along with the size of the databases, containing up to millions of biological macromolecular structures, means computer clusters are a must. However, programming current clusters of computers is no easy task, as they have become heterogeneous and distributed systems where various programming models need to be used together to fully leverage their resources. This paper evaluates several strategies to provide peak performance to a GPU-based molecular docking application called METADOCK in heterogeneous clusters of computers based on CPU and NVIDIA Graphics Processing Units (GPUs). Our developments start with an OpenMP, MPI and CUDA METADOCK version as a baseline case of cluster utilization. Next, we explore the virtualized GPUs provided by the rCUDA framework in order to facilitate the programming process. rCUDA allows us to use remote GPUs, i.e. installed in other nodes of the cluster, as if they were installed in the local node, so enabling access to them using only OpenMP and CUDA. Finally, several load balancing strategies are analyzed in a search to enhance performance. Our results reveal that the use of middleware like rCUDA is a convincing alternative to leveraging heterogeneous clusters, as it offers even better performance than traditional approaches and also makes it easier to program these emerging clusters.This work is jointly supported by the Fundacion Seneca (Agencia Regional de Ciencia y Tecnologia, Region de Murcia) under grant 18946/JLI/13, and by the Spanish MEC and European Commission FEDER under grants TIN2015-66972-C5-3-R and TIN2016-78799-P (AEI/FEDER, UE). We also thank NVIDIA for hardware donation under GPU Educational Center 2014-2016 and Research Center 2015-2016. Furthermore, researchers from Universitat Politecnica de Valencia are supported by the Generalitat Valenciana under Grant PROMETEO/2017/077. Authors are also grateful for the generous support provided by Mellanox Technologies Inc.Imbernón, B.; Prades Gasulla, J.; Gimenez Canovas, D.; Cecilia, JM.; Silla Jiménez, F. (2018). Enhancing large-scale docking simulation on heterogeneous systems: An MPI vs rCUDA study. Future Generation Computer Systems. 79:26-37. https://doi.org/10.1016/j.future.2017.08.050S26377

    Estrategias de paralización para la optimización de métodos computacionales en el descubrimiento de nuevos fármacos.

    Get PDF
    El descubrimiento de fármacos es un proceso largo y costoso que involucra varias etapas; entre ellas destaca la identificación de candidatos a fármacos; es decir moléculas potencialmente activas para neutralizar una determinada proteína involucrada en una enfermedad. Esta etapa se fundamenta en la optimización del acoplamiento molecular entre un receptor y un ingente número de candidatos a fármacos, para determinar cuál de estos candidatos obtiene una mayor intensidad en el acoplamiento. El acoplamiento molecular entre dos compuestos bioactivos está sujeto a una serie de fenómenos físicos presentes en la naturaleza y que se modelan a través de una función de scoring. Estos modelos representan los comportamientos de las moléculas en la naturaleza, permitiendo trasladar esta interacción molecular a una simulación en plataformas computacionales de silicio. Esta tesis doctoral plantea la aceleración y mejora de los métodos de descubrimiento de nuevos fármacos mediante técnicas de inteligencia artificial y paralelismo. Se propone un esquema metaheurístico parametrizado y paralelo que determine la interacción molecular entre compuestos bioactivos. Las técnicas metaheurísticas son técnicas algorítmicas empleadas, generalmente, en la optimización de cualquier tipo de problema, proporcionando soluciones satisfactorias. Algunos ejemplos de metaheurísticas incluyen búsquedas locales; que centran su campo de actuación a su entorno de soluciones (vecinos) más cercanos; búsquedas basadas en poblaciones muy utilizadas en la simulación de procesos biológicos y entre los que destacan los algoritmos evolutivos o las búsquedas dispersas por mencionar algunos ejemplos. Los esquemas parametrizados de metaheurísticas definen una serie de funciones básicas (Inicializar, Fin, Seleccionar, Combinar, Mejorar e Incluir) a fin de parametrizar el tipo de metaheurística concreta a instanciar en cada ejecución de la aplicación, permitiendo así no sólo la optimización del problema a resolver, sino también del algoritmo empleado para su resolución. Trabajar con una combinación de parámetros u otra es un factor vital para encontrar una buena solución al problema. Para abordar este número elevado de parámetros necesitamos alguna estrategia para este nuevo problema de optimización que surge. Esta estrategia es la hiperheurística, que busca la mejor de entre un conjunto de metaheurísticas aplicadas a un mismo problema. La gran mayoría de algoritmos metaheurísticos son, por definición, masivamente paralelos, y por tanto su implementación en plataformas secuenciales compromete tanto la eficiencia como la eficacia de los mismos. En ésta tesis doctoral se adapta además la instanciación del esquema metaheurístico a plataformas masivamente paralelas y heterogéneas como procesadores de memoria compartida y tarjetas gráficas. Las técnicas masivamente paralelas en GPU con soporte CUDA ayudan a realizar estos cálculos poniendo a disposición de la aplicación miles de núcleos capaces de funcionar en paralelo y, además, con la posibilidad de compartir memoria entre ellos y así reducir aún más los accesos a memoria. Aun así, existen compuestos celulares de decenas de miles de átomos para los que el uso de una sola GPU puede ser insuficiente, convirtiéndola en un cuello de botella. Esto hace necesario extender el esquema a multiGPU para dividir la carga computacional y poder abordar este tipo de compuestos con suficientes garantías de rendimiento. Para mejorar el rendimiento y maximizar la paralelización de la aplicación, es fundamental aprovechar al máximo los recursos que nos ofrece la máquina, por ello, se realiza un trabajo previo para ajustar los parámetros de la opción paralela elegida al entorno de ejecución y trabajar con los parámetros que mejor se adapten a la máquina. En un nodo, podemos tener un número limitado de GPUs, y para simular una molécula podemos obtener buenos rendimientos, pero en el problema de descubrimiento de fármacos, podemos tener millones de candidatos a fármacos con los que simular. En este caso, escalamos a un clúster de cómputo. Uno de los enfoques tomados por la comunidad para aprovechar todos los recursos de un clúster de computadores, de manera transparente al usuario, ha sido la virtualización del sistema. Entornos como (VMWARE, XEN) virtualizan todo el sistema y no solo una parte, siendo muy inadecuado en entornos de computación de alto rendimiento, ya que las restricciones a que deben someterse al ser un entorno compartido, introducen una sobrecarga que no es posible asumir. En lugar de virtualizar todo el sistema, sería virtualizar solo un conjunto de recursos específicos, como las GPUs. Este trabajo lo realiza un middleware muy potente denominado rCUDA. Este software permite el uso simultáneo y remoto de GPUs con soporte CUDA. Para habilitar la aceleración remota de GPUs, este software del sistema crea dispositivos virtuales compatibles con CUDA en máquinas sin GPUs locales. Además, rCUDA aporta una reducción de la complejidad algorítmica, evitando utilizar técnicas basadas en paso de mensajes (MPI), muy utilizadas en este tipo de entornos de cómputo. Las técnicas algorítmicas que se van a desarrollar, van a posibilitar la elección de las diferentes plataformas de cómputo disponibles optimizando el entorno de ejecución y, balanceando la carga de trabajo con los parámetros de configuración más idóneos.Ingeniería, Industria y Construcció

    Time-Predictable Communication on a Time-Division Multiplexing Network-on-Chip Multicore

    Get PDF

    Enabling the “Easy Button” for Broad, Parallel Optimization of Functions Evaluated by Simulation

    Get PDF
    Java Optimization by Simulation (JOBS) is presented: an open-source, object-oriented Java library designed to enable the study, research, and use of optimization for models evaluated by simulation. JOBS includes several novel design features that make it easy for a simulation modeler, without extensive expertise in optimization or parallel computation, to define an optimization model with deterministic and/or stochastic constraints, choose one or more metaheuristics to solve it and run, using massively parallel function evaluation to reduce wall-clock times. JOBS is supported by a new language independent, application programming interface (API) for remote simulation model evaluation and a serverless computing environment to provide massively parallel function evaluation, on demand. Dynamic loop scheduling methods are evaluated in the serverless environment with the opportunity for significant resource contention for master node computing power and network bandwidth. JOBS implements several population-based and single-solution improvement metaheuristics (solvers) for real, discrete, and mixed problems. The object-oriented design is extendible with classes that drastically reduce the amount of code required to implement a new solver and encourage re-use of solvers as building blocks for creating new multi-stage solvers or memetic algorithms

    Medición de la eficiencia y la productividad: Aspectos computacionales

    Get PDF
    Programa de Doctorado en Economía (DECiDE)The purpose of efficiency and productivity problems is based on evaluating whether the use of the resources available (inputs) by a company or public institution (in general, any decision-making unit) corresponds or not with the optimal way of operating in such a way as to generate the largest possible number of outputs. To carry out this type of calculations, several mathematical models have already been proposed in the specialized literature that can be used, all of which are based on Mathematical Programming problems, and, in particular, some of them correspond to Mixed Integer Linear Programming problems (MILP). These types of problems combine several types of variables, continuous and discrete, in the same mathematical model as well as numerous restrictions, depending on the nature of the problem; features that can make the resolution process somewhat difficult. In addition, it is worth noting that these problems tend to be combinatorial in practice (NP-hard). Throughout this work, the analysis and study will focus on a field within the area of Operations Research called Data Envelopment Analysis (DEA), whose main objective is the estimation of production frontiers and the measurement of productive efficiency. Different optimization models belonging to this field will be put to the test in this thesis from a purely computational perspective, being solved through different techniques, both 2 exact and approximate, analyzing the performance and the difficulty of the same. The main objective of this work does not lie in the development and modeling of new problems in the field of DEA, but in how to achieve optimal solutions in a reasonable time for certain problems of a combinatorial nature, given that being NP-hard type problems, as the size of the problem grows, so does the difficulty of obtaining optimal solutions, especially in a short time. At this point, we will focus on the study and design of approximation techniques, known in the literature as Metaheuristics, closely linked to Machine Learning or Artificial Intelligence methodologies. In addition to these methodologies, based on learning and improving the solutions obtained, parallelization techniques have also been incorporated, capable of efficiently reducing the time needed to obtain optimal solutions in complex problems.La finalidad de los problemas de eficiencia y productividad se basan en evaluar si el uso de los recursos (entradas o inputs, en inglés) disponibles por parte de una empresa o institución pública (en general, cualquier unidad tomadora de decisiones) se corresponde o no con la forma óptima de operar de dicha entidad, generando la mayor cantidad de salidas posible (outputs en inglés). Para llevar a cabo este tipo de cálculos, varios modelos matemáticos han sido ya planteados en la literatura especializada que pueden ser utilizados, teniendo en común todos ellos que están basados en problemas de Programación Matemática, y, en particular, algunos de ellos se corresponden con problemas de Programación Matemática Lineal Mixta (Mixed Integer Linear Programming en inglés – MILP). Este tipo de problemas combinan en un mismo modelo matemático varios tipos de variables, continuas y discretas, así como numerosas restricciones, dependiendo de la naturaleza del problema, siendo estas restricciones características que pueden hacer que el proceso de resolución resulte ser algo difícil. Además, cabe destacar la característica de que estos problemas suelen ser en la práctica de tipo combinatorio (NP-duros). A lo largo de este trabajo, el análisis y el estudio se va a centrar en un campo dentro del área de Investigación Operativa denominado Análisis Envolvente de Datos (Data Envelopment Analysis en inglés - DEA), cuyo principal objetivo es el de la estimación de fronteras de producción y la medición de la eficiencia productiva. Diferentes modelos de optimización pertenecientes a este ámbito serán puestos a prueba en esta tesis desde una perspectiva puramente computacional, siendo resueltos a través de diferentes técnicas, tanto exactas como de aproximación, analizando el rendimiento y la dificultad del mismo. El objetivo principal de este trabajo no reside en el desarrollo y modelado de nuevos problemas en el ámbito del DEA, sino en cómo conseguir soluciones óptimas y eficientes en un tiempo razonable para ciertos problemas de naturaleza combinatoria, dado que al ser problemas de tipo NP-duro, a medida que el tamaño del problema crece, también lo hace la dificultad de obtener soluciones óptimas, sobre todo en un tiempo reducido. En este punto, centraremos la atención en el estudio y diseño de técnicas de aproximación, conocidas en la literatura como Metaheurísticas, estando muy ligadas a metodologías de Machine Learning o Artificial Inteligence. Además de estas metodologías, basadas en el aprendizaje y la mejora de las soluciones obtenidas, también se han incorporado técnicas de paralelismo, capaces de reducir de forma eficiente el tiempo necesario para obtener soluciones óptimas en problemas complejos

    Green Parallel Metaheuristics: Design, Implementation, and Evaluation

    Get PDF
    Fecha de lectura de Tesis Doctoral 14 mayo 2020Green parallel metaheuristics (GPM) is a new concept we want to introduce in this thesis. It is an idea inspired by two facts: (i) parallel metaheuristics could help as unique tools to solve optimization problems in energy savings applications and sustainability, and (ii) these algorithms themselves run on multiprocessors, clusters, and grids of computers and then consume energy, so they need an energy analysis study for their different implementations over multiprocessors. The context for this thesis is to make a modern and competitive effort to extend the capability of present intelligent search optimization techniques. Analyzing the different sequential and parallel metaheuristics considering its energy consumption requires a deep investigation of the numerical performance, the execution time for efficient future designing to these algorithms. We present a study of the speed-up of the different parallel implementations over a different number of computing units. Moreover, we analyze and compare the energy consumption and numerical performance of the sequential/parallel algorithms and their components: a jump in the efficiency of the algorithms that would probably have a wide impact on the domains involved.El Instituto Egipcio en Madrid, dependiente del Gobierno de Egipto
    corecore