Use this identifier to quote or link this document: http://hdl.handle.net/2072/41819

Análisis y sintonización de aplicaciones paralelas/distribuidas de bioinformática: caso de estudio mpiBLAST
Rosas Mendoza, Claudia Andreina
Universitat Autònoma de Barcelona. Departament d'Arquitectura de Computadors i Sistemes Operatius; Morajko, Anna
En termes de temps d'execució i ús de dades, les aplicacions paral·leles/distribuïdes poden tenir execucions variables, fins i tot quan s'empra el mateix conjunt de dades d'entrada. Existeixen certs aspectes de rendiment relacionats amb l'entorn que poden afectar dinàmicament el comportament de l'aplicació, tals com: la capacitat de la memòria, latència de la xarxa, el nombre de nodes, l'heterogeneïtat dels nodes, entre d'altres. És important considerar que l'aplicació pot executar-se en diferents configuracions de maquinari i el desenvolupador d'aplicacions no port garantir que els ajustaments de rendiment per a un sistema en particular continuïn essent vàlids per a d'altres configuracions. L'anàlisi dinàmica de les aplicacions ha demostrat ser el millor enfocament per a l'anàlisi del rendiment per dues raons principals. En primer lloc, ofereix una solució molt còmoda des del punt de vista dels desenvolupadors mentre que aquests dissenyen i evaluen les seves aplicacions paral·leles. En segon lloc, perquè s'adapta millor a l'aplicació durant l'execució. Aquest enfocament no requereix la intervenció de desenvolupadors o fins i tot l'accés al codi font de l'aplicació. S'analitza l'aplicació en temps real d'execució i es considra i analitza la recerca dels possibles colls d'ampolla i optimitzacions. Per a optimitzar l'execució de l'aplicació bioinformàtica mpiBLAST, vam analitzar el seu comportament per a identificar els paràmetres que intervenen en el rendiment d'ella, com ara: l'ús de la memòria, l'ús de la xarxa, patrons d'E/S, el sistema de fitxers emprat, l'arquitectura del processador, la grandària de la base de dades biològica, la grandària de la seqüència de consulta, la distribució de les seqüències dintre d'elles, el nombre de fragments de la base de dades i/o la granularitat dels treballs assignats a cada procés. El nostre objectiu és determinar quins d'aquests paràmetres tenen major impacte en el rendiment de les aplicacions i com ajustar-los dinàmicament per a millorar el rendiment de l'aplicació. Analitzant el rendiment de l'aplicació mpiBLAST hem trobat un conjunt de dades que identifiquen cert nivell de serial·lització dintre l'execució. Reconeixent l'impacte de la caracterització de les seqüències dintre de les diferents bases de dades i una relació entre la capacitat dels workers i la granularitat de la càrrega de treball actual, aquestes podrien ser sintonitzades dinàmicament. Altres millores també inclouen optimitzacions relacionades amb el sistema de fitxers paral·lel i la possibilitat d'execució en múltiples multinucli. La grandària de gra de treball està influenciat per factors com el tipus de base de dades, la grandària de la base de dades, i la relació entre grandària de la càrrega de treball i la capacitat dels treballadors.
En términos de tiempo de ejecución y uso de datos, las aplicaciones paralelas/distribuidas pueden tener ejecuciones variables, incluso cuando se emplea el mismo conjunto de datos de entrada. Existen ciertos aspectos de rendimiento relacionados con el entorno que pueden afectar dinámicamente el comportamiento de la aplicación, tales como: la capacidad de la memoria, latencia de la red, el número de nodos, la heterogeneidad de los nodos, entre otros. Es importante considerar que la aplicación puede ejecutarse en diferentes configuraciones de hardware y el desarrollador de aplicaciones no puede garantizar que los ajustes de rendimiento para un sistema en particular continuen siendo válidos para otras configuraciones. El análisis dinámico de las aplicaciones ha demostrado ser el mejor enfoque para el análisis del rendimiento por dos razones principales. En primer lugar, ofrece una solución muy cómoda para el punto de vista de los desarrolladores mientras que él diseña y evalua sus aplicaciones paralelas. En segundo lugar, porque se adapta mejor a la aplicación durante la ejecución. Este enfoque no requiere la intervención de desarrolladores o incluso el acceso al código fuente de la aplicación. Se analiza la aplicación en tiempo real de ejecución y se considera y analiza la búsqueda de los posibles cuellos de botella y optimizaciones. Para optimizar la ejecución de la aplicación bioinformática mpiBLAST, analizamos su comportamiento para identificar los parámetros que intervienen en el rendimiento de ella, tales como: el uso de la memoria, el uso de la red, patrones de E/S, el sistema de ficheros empleado, la arquitectura del procesador, el tamaño de la base de datos biológica, el tamaño de la secuencia de consulta, la distribución de las secuencias dentro de ellas, el número de fragmentos de la base de datos y/o la granularidad de los trabajos asignados a cada proceso. Nuestro objetivo es determinar cuál de estos parámetros tienen mayor impacto en el rendimiento de las aplicaciones y cómo ajustarlos dinámicamente para mejorar el rendimiento de la aplicación. Analizando el rendimiento de la aplicación mpiBLAST hemos encontrado un conjunto de datos que identifican cierto nivel de serialización dentro de la ejecución. Reconociendo el impacto de la caracterización de las secuencias dentro de las diferentes bases de datos y una relación entre la capacidad de los workers y la granularidad de la carga de trabajo actual podrían ser sintonizadas dinámicamente. Otras mejoras también incluyen optimizaciones relacionadas con el sistema de ficheros paralelo y la posibilidad de ejecución en múltiples multinucleo. El tamaño de grano de trabajo está influenciado por factores como el tipo de base de datos, el tamaño de la base de datos, y la relación entre el tamaño de la carga de trabajo y la capacidad de los trabajadores.
In terms of execution time and data usage, parallel/distributed applications may have variable runtimes, even when using the same input data. There are certain performance aspects related to environment that may affect the dynamic behavior of the application, such as: memory capacity, network latency, number of nodes, node heterogeneity, among others. It is important to consider that the application can be executed on different hardware configurations. The application developer cannot guarantee that performance tuning for a particular system is still valid for other configurations. Dynamic analysis of applications has shown to be the best approach for performance analysis for two main reasons. First, it offers a very comfortable solution for developers point of view while designing and evaluation its parallel applications. Second, because it adapts better during the application execution. This approach does not require developer intervention or even access to the source code of the application. The current application runtime is considered and analyzed finding relevant bottlenecks and possible optimizations. To optimize the execution of mpiBLAST application, we analyze its behavior to identify the parameters involved in the application performance, such as: memory usage, network usage, I/O patterns, file system employed, processor architecture, biological database size, query sequence size, the sequence distribution inside them, number of database fragments and/or granularity of work assigned to each process. Our goal is to determine which of these parameters have higher impact in the application performance and how to tune them dynamically to improve the performance of the application. Analyzing the performance of mpiBLAST application we have found a data set that identifies certain level of serialization inside the execution. Recognize the impact of the characterization of the sequences inside the different databases and a relationship between the capacity of workers and the granularity of existing work that could be tuned dynamically. Other improvements also include optimizations related with the parallel file systems and the possibility of execution in a multithreaded multicore. The work grain size is in uenced by factors as database type, database size, and the relationship between the size of workload and workers capacity.
2009-07
68 - Indústries, oficis i comerç d'articles acabats. Tecnologia cibernètica i automàtica
Programes d'ordinador -- Avaluació
Bioinformàtica
Aquest document està subjecte a una llicència d'ús de Creative Commons, amb la qual es permet copiar, distribuir i comunicar públicament l'obra sempre que se'n citin l'autor original, la universitat i el departament i no se'n faci cap ús comercial ni obra derivada, tal com queda estipulat en la llicència d'ús (http://creativecommons.org/licenses/by-nc-nd/2.5/es/)
info:eu-repo/semantics/masterThesis
         

Full text files in this document

Files Size Format Description
TR_ClaudiaRosasMendoza_presentacio.pdf 3.782 MB PDF Presentació
TR_ClaudiaRosasMendoza.pdf 2.564 MB PDF Memòria

Show full item record

 

Coordination

 

Supporters