[en] Summary This thesis shows the building process of a platform for the execution of bioinformatics algorithms in a massively-parallel environment. The Tile64 microprocessor from Tilera has been used, which is the first commercially available general-purpose many-core microprocessor. It has 64 cores, capable of running a whole standard operating system (a customized Linux version) in each core. Processors integrated in PCI-Express cards have been used, which can be inserted in a standard PC, which pack the processor with 8 GB of RAM and two 10 Gigabit Ethernet connectors. In a first step, the following bioinformatics algorithms have been developed in this platform: i) Needleman-Wunsch (global) and Smith-Waterman (local) pairwise aligners, by the development from scratch of a new wave-front parallel version with a master-worker scheme, as well as its later optimization, to get the most of Tilera's characteristics; ii) ABySS "de novo" assembler, by porting its open source code and the later parallelization by the adaptation of the original implementation, written for the MPI library to the message passing library available at Tilera; and iii) ClustalW multiple aligner, using the formerly developed pairwise aligners in the first phase of the algorithm. In a second step, a network between these devices has been built, using the available 10G connectors, so constructing a cluster in which the number of available microprocessors can be arbitrarily extended, keeping a unique point of program execution and administration. To achieve this goal, the usual management elements in this kind of systems have been developed, along with a communication library, in order to extend parallelism to the cluster components. Finally, the performance of this network platform has been evaluated; by developing and executing the standard search techniques typically used in heuristic-based alignment algorithms. As main conclusions, the bioinformatics algorithms performance have been remarkably increased by means of an optimized development to achieve a massive parallelization in this new platform. The best results have been obtained with developments from scratch, along with using hybrid-computing techniques. This strategy allows overcoming the limited resources in the card, effectively contributing extra resources from the host computer. These possibilities open new opportunities in nucleic acid and peptide (like proteins) bioinformatics, since it was not possible to apply optimal alignment methods from a mathematical point of view before these developments, being the most usual algorithms based in heuristic approaches.

[es] Resumen Esta tesis presenta el proceso de construcción de una plataforma para la ejecución de algoritmos bioinformáticos en un entorno masivamente paralelo. Se ha usado el microprocesador Tile64, del fabricante Tilera, que es el primer microprocesador de propósito general masivamente multi-núcleo disponible comercialmente. Dispone de 64 núcleos capaces de ejecutar un sistema operativo estándar completo (una versión adaptada de Linux) en cada uno de sus núcleos. Se han empleado procesadores integrados en placas PCI-Express, insertables en un PC estándar, que añaden al procesador 8 GB de memoria RAM y dos conectores 10 Gigabit Ethernet. En una primera fase, se han desarrollado sobre esta plataforma los siguientes algoritmos bioinformáticos: i) Alineamientos simples Needleman-Wunsch (global) y Smith-Waterman (local), mediante el desarrollo desde cero de una nueva versión paralelizada, mediante un esquema maestro-trabajadores en frente de onda y su posterior optimización para aprovechar las particularidades de Tilera; ii) Ensamblaje "de novo" ABySS, mediante la migración del código abierto ofrecido por los autores y su paralelización mediante la adaptación de la implementación original, escrita para la biblioteca MPI, a la biblioteca de paso de mensajes disponible en Tilera; y iii) Alineamiento múltiple ClustalW, usando los alineamientos simples desarrollados anteriormente en la primera fase del algoritmo. En una segunda fase, se ha construido una red de estos dispositivos, utilizando los conectores 10G disponibles, según el modelo conocido como "clúster", de modo que el número de microprocesadores disponibles puede incrementarse a voluntad, manteniendo un único punto de ejecución de programas y de administración. Para conseguirlo se han desarrollado los elementos de gestión habituales en este tipo de sistemas y una biblioteca de comunicaciones para extender el paralelismo a los componentes del "clúster". Finalmente, se ha evaluado el rendimiento de esta plataforma en red, mediante el desarrollo y ejecución en la misma de las técnicas de búsqueda estándares típicamente utilizadas en algoritmos de alineamiento basados en heurísticos. Como conclusiones principales, estos desarrollos bioinformáticos sobre la nueva plataforma han permitido incrementar el rendimiento de los algoritmos de forma significativa, mediante la paralelización masiva de los mismos. Los mejores resultados se han obtenido cuando se han llevado a cabo desarrollos desde cero, usando además técnicas de computación híbrida. Esta estrategia permite compensar la limitación de recursos en la tarjeta Tilera, usando recursos extra del ordenador en donde se aloja. Estas posibilidades abren nuevas oportunidades en el estudio bioinformático de los ácidos nucleicos y péptidos (como las proteínas), dado que hasta ahora no era posible aplicar métodos de alineamiento óptimos desde el punto de vista matemático, estando basados los algoritmos más habituales en aproximaciones heurísticas.