Auto-adaptación de esquemas algorítmicos de Minería de Datos con aplicación en Bioinformática



Auto-adaptación de esquemas algorítmicos de Minería de Datos con aplicación en Bioinformática

Angélica Alejandra Serrano-Rubio
 

Texto completo de la Tesis     

 



Resumen

Con la secuenciación genómica completa de la planta Arabidopsis thaliana y el desciframiento del genoma humano se comenzó a generar una cantidad considerable de información. El problema surgió cuando se necesitó organizar y analizar los cientos y miles de datos que este descubrimiento brindaba. La solución fue hacerlo de manera automática mediante el uso de algoritmos, los cuales son el resultado del trabajo multidisciplinario entre las ciencias biológicas y computacionales. A pesar de que este tipo de algoritmos han demostrado ser robustos en este tipo de análisis, han tenido que ser optimizados a tráves de mecanismos de Cómputo de Alto Rendimiento con el objetivo de reducir el tiempo de ejecución, y asegurar el uso eficiente de los recursos computacionales de una arquitectura específica. Desafortunadamente, la fuerte dependencia que sugiere este tipo de optimización contribuye a que los algoritmos queden obsoletos debido a que la cantidad de información se incrementa y la arquitectura computacional para la que fueron previstos evoluciona. Se propone la implementación de un marco de trabajo de auto-adaptación que asegura la portabilidad de los algoritmos y garantiza el uso eficiente de los recursos computacionales, independientemente de la arquitectura y el compilador que se esté utilizando. Para lograrlo, el marco de trabajo selecciona el subconjunto de parámetros y banderas del compilador que minimizan el tiempo de ejecución durante el proceso de compilación. De esta forma, el flujo de instrucciones se ajusta de manera automática a los entornos en que se ejecuta, reduciendo el costo del proceso de optimización. Aunque la principal aplicación del marco de trabajo de auto-adaptación ha sido el análisis diferencial de expresión genética, no es limitativo a este tipo de dominio. Específicamente, la propuesta ha sido validada a través del análisis de microarreglos relacionados con la evolución de hepatocarcinomas. Para realizar este experimento, se propuso un algoritmo distribuido, que refina la selección de centroides en técnicas de agrupamiento particional; la escalabilidad del algoritmo distribuido se mejoró mediante una biblioteca de operaciones elementales basada en CUDA y OpenMP. Los resultados muestran que esta propuesta es una herramienta eficiente, capaz de reducir el tiempo de ejecución mediante la selección de parámetros y banderas que mejoran el rendimiento en tiempo de compilación y de esta forma, garantizar la portabilidad de algoritmos de forma casi transparente al usuario. Palabras clave— Cómputo de Alto Rendimiento, Minería de Datos, Bioinformática, auto-adaptación, rendimiento computacional, análisis de expresión genética.

 

Abstract

With the complete genomic sequencing of the plant Arabidopsis thaliana and the deciphering of the human genome, a considerable amount of information began to be generated. The problem arose when it was necessary to organize and analyze the hundreds and thousands of data that this discovery provided. The solution was to do it automatically through the use of algorithms, which are the result of multidisciplinary work between the biological and computational sciences. Although these types of algorithms have proven to be robust in this type of analysis, they have had to be optimized through High Performance Computing mechanisms in order to reduce execution time, and ensure the efficient use of computational resources of a specific architecture. Unfortunately, the strong dependency suggested by this type of optimization contributes to the obsolescence of the algorithms as the amount of information increases and the computational architecture for which they were intended evolves. The implementation of a self-adaptation framework is proposed that ensures the portability of the algorithms and guarantees the efficient use of computational resources, regardless of the architecture and compiler being used. To achieve this, the framework selects the subset of compiler flags and parameters that minimize execution time during the compilation process. In this way, the flow of instructions adjusts automatically to the environments in which it is executed, reducing the cost of the optimization process. Although the main application of the self-adaptation framework has been the differential analysis of gene expression, it is not limited to this type of domain. Specifically, the proposal has been validated through the analysis of microarrays related to the evolution of hepatocarcinomas. To carry out this experiment, a distributed algorithm was proposed that refines the selection of centroids in partitioning clustering techniques; the scalability of the distributed algorithm was improved by an elementary operations library based on CUDA and OpenMP. The results show that this proposal is an efficient tool capable of reducing execution time through the selection of parameters and flags that improve performance at compile time and thus guarantee the portability of algorithms in a way that is almost transparent to the user. Keywords— High-Performance Computing, Data Mining, Bioinformatics, code auto-adaptation, computational performance, gene expression analysis.