Está en la página 1de 13

MEMORIA CIENTÍFICO-TÉCNICA DE PROYECTOS EXPLORA

Convocatoria 2017
Proyectos «Explora Ciencia» y «Explora Tecnología»
AGENCIA ESTATAL DE INVESTIGACIÓN

AVISO IMPORTANTE
En virtud de los artículos 15 y 16 de la convocatoria NO SE ACEPTARÁN MEMORIAS
CIENTÍFICO-TÉCNICAS que no se presenten en este formato. El documento presentado no
podrá ser modificado o mejorado en un momento posterior a la finalización del plazo
de solicitud.

Es obligatorio que la memoria contenga los tres apartados (A, B y C). La parte C de la
memoria no podrá exceder de 10 páginas.

Lea detenidamente las instrucciones para rellenar correctamente esta memoria,


disponibles en la web de la convocatoria.

Parte A: RESUMEN DE LA PROPUESTA/SUMMARY OF THE PROPOSAL

INVESTIGADOR PRINCIPAL 1 (Nombre y apellidos):


XXXXXX

TÍTULO DEL PROYECTO: Abordando problemas XXXXXX con nuevos enfoques de


computación en la nube
ACRÓNIMO: XXXXX
RESUMEN Máximo 3500 caracteres (incluyendo espacios en blanco):
La computación en la nube facilita el acceso a una gran cantidad de recursos distribuidos, y
sus características de escalabilidad y elasticidad proporcionan nuevas oportunidades que no
existen en las infraestructuras HPC tradicionales. Muchas aplicaciones se pueden beneficiar
de la capacidad que les ofrece la nube de agregar clústeres virtuales para cargas de trabajo
puntuales. Es el caso de muchos problemas en las Ciencias de la Vida, y particularmente en
Biología de Sistemas, Biología Computacional y Bioinformática. Sin embargo, la mayoría de
los trabajos de investigación relacionados con la computación en nube en estos campos se
han centrado en obtener, almacenar y comparar grandes volúmenes de datos, en lugar de
explotar el potencial de la nube para abordar retos computacionalmente intensivos.
Los problemas de optimización global en Biología Computacional y Bioinformática son
problemas muy desafiantes que requieren métodos de resolución eficientes y robustos. Los
métodos tradicionales suelen necesitar mucho tiempo para solucionar problemas reales. El
uso de técnicas de computación de alto rendimiento (HPC) puede ser una estrategia efectiva
para mejorar el tiempo de solución. Sin embargo, la mayoría de estos métodos, desde el
punto de vista del algoritmo, presentan un paralelismo limitado, mientras que si se abordan
como métodos de resolución de problemas ofrecen otras oportunidades para explotar la
computación en paralelo. Además, considerando la exigencia y la naturaleza dinámica de
estos problemas, la computación en la nube representa un enfoque prometedor para la
obtención y uso de recursos computacionales. Sin embargo, la mayoría de las soluciones
HPC tradicionales no se integran bien en las plataformas en la nube y es necesario explorar
nuevas estrategias en este ámbito.
En este proyecto exploraremos el uso de la computación en la nube en el contexto de la
optimización global multimétodo, ejecutando múltiples algoritmos de búsqueda
simultáneamente, que cooperan entre ellos intercambiando información. El objetivo será la
solución de problemas reto, tanto en biología de sistemas como en bioinformática. Se

MEMORIA CIENTÍFICO-TÉCNICA DE PROYECTOS EXPLORA

aprovecharán las características de elasticidad y escalabilidad de la nube, evitando los


paradigmas e interfaces de programación paralela tradicionales, como MPI o OpenMP, y
explorando el uso de nuevos paradigmas y herramientas que permitan variar los recursos
computacionales de forma dinámica y adaptar la carga de trabajo en tiempo de ejecución.
Este proyecto plantea un nuevo hito en la investigación que hemos desarrollado hasta
ahora, fomentando la aplicación del conocimiento complementario en diferentes áreas del
equipo de trabajo. Esta investigación se abordará en un contexto de colaboraciones
internacionales ya establecidas, teniendo también en cuenta la posible transferencia de
tecnología de los resultados de la investigación, que se refuerza con la presencia de tres
empresas interesadas en los resultados del proyecto. Los resultados de este proyecto
podrán servir para optimizar diferentes procesos en la industria biotecnológica que
favorezcan la producción rentable de compuestos de alto valor como biopolímeros o
biocombustibles. En la industria farmacéutica, los avances serán útiles en la construcción de
redes de señalización para fenotipos normales y patológicos, paso clave en el desarrollo
temprano de fármacos.

PALABRAS CLAVE: Optimización global, metaheurísticas, estimación de parámetros,


computación en la nube, elasticidad, escalabilidad

TITLE OF THE PROJECT: Addressing challenging XXXXXX problems with new cloud-
based approaches
ACRONYM: XXXXXX
SUMMARY Maximum 3500 characters (including spaces):
Cloud computing has made a fact the effortless access to large number of distributed
resources. Besides, the combination of scalability and elasticity provides a new capability
that does not exist in traditional HPC data centers. Many applications can take benefit from
the ability of the cloud to rapidly provision virtual clusters for particular workloads. This is the
case of many key problems in Life Science disciplines, and particularly in Systems Biology,
Computational Biology and Bioinformatics. However, until now most research efforts
involving Cloud Computing in these fields have been focused on capture, store and compare
large volumes of data, rather than on exploiting the Cloud potential to solve compute-
intensive Life Science brainteasers.
Global optimization problems in Computational Biology and Bioinformatics are extremely
challenging problems that require efficient and robust solution methods. Traditional methods
are usually time-consuming for realistic problems. The use of High Performance Computing
(HPC) techniques may represent an effective strategy to speed up the time-to-solution.
However, most of these methods, handled as algorithms, may have limited parallelism, while
if they are tackled as problem solving methods they offer other opportunities for large-scale
parallel computing. Considering also the demanding and dynamic nature of modeling
problems in computational biology and bioinformatics, Cloud Computing represents a
powerful approach to the provision and management of computing resources. However,
most traditional HPC solutions do not integrate well with cloud resources, and, hence, new
strategies and frameworks have to be explored in this domain.
In this project we will explore the use of the Cloud in the context of multimethod global
optimization, in which multiple different search algorithms are performed concurrently and
cooperate between them through information exchange. The target will be the solution of
challenging problems both in computational biology, including problems from bioinformatics
and systems biology. Since our aim is to fully exploit the elasticity and scalability features of

MEMORIA CIENTÍFICO-TÉCNICA DE PROYECTOS EXPLORA

the Cloud, we will escape from traditional parallel programming paradigms and interfaces,
such as MPI or OpenMP, and we will explore the use of new cloud-oriented frameworks, that
allow to dynamically vary the computational resources and to adapt the work load in
execution time.
The main objective of this project poses a new challenge in the research topics we have
developed so far, fostering the application of the complementary knowledge in the research
areas of the working team. This investigation will be addressed in a context of already
established international collaborations, having also in mind the potential technology transfer
of the research results, which is reinforced with the presence of three companies interested
in the results of the project. The results of this project can be used to optimize different
processes in the biotechnology industry that favor the profitable production of high value
compounds such as biopolymers or biofuels. In the pharmaceutical industry, the goals of this
project will be useful in the construction of signaling networks for normal and pathological
phenotypes, a key step in the early drug discovery.

KEY WORDS: Global optimization, metaheuristics, parameter estimation, cloud computing,


elasticity, scalability

MEMORIA CIENTÍFICO-TÉCNICA DE PROYECTOS EXPLORA

Parte C: DOCUMENTO CIENTÍFICO. Máximo 10 páginas.



C.1. PROPUESTA CIENTÍFICA
C.1.1. INTRODUCCIÓN: ANTECEDENTES Y ESTADO DEL ARTE
En muchas y diversas áreas de la ciencia y la ingeniería aparecen problemas de
optimización global. En el caso particular de la biología, los métodos de optimización están
jugando un papel transcendental en campos como la biología computacional [1], la biología
de sistemas [2], o la bioinformática [3]. Con aplicaciones tan importantes como, en el
campo de la medicina, conocer cómo interactúan las células patógenas para poder
desarrollar nuevas terapias, por ejemplo contra el cáncer o enfermedades metabólicas o
autoinmunes.
En el campo de la biología de sistemas, construir los modelos matemáticos que permiten
entender complejos sistemas biológicos es un proceso iterativo que se inicia proponiendo
una estructura matemática con un conjunto de parámetros no medibles, que tienen que ser
estimados para obtener predicciones cuantitativas. El modelo ha de ser entonces validado (o
bien invalidado) con nuevos experimentos, obteniendo una retroalimentación que se puede
usar de forma recursiva en un proceso de refinado del modelo. La estimación de parámetros
es un paso clave en este proceso iterativo y se puede formular como un problema de
optimización sujeto a una serie de restricciones dinámicas que describen el comportamiento
del sistema en el tiempo [1,4].
En el campo de la biología evolutiva computacional, la gran velocidad a la que se generan
datos moleculares está dirigiendo esta hacia una ciencia de datos, donde la experiencia y el
conocimiento biológico pasa a un segundo plano en el proceso de análisis [5].
Tradicionalmente, el análisis filogenético dirigido por los datos considera la heterogeneidad
del proceso evolutivo en la variación a nivel de secuencia, pero no en el conjunto de
especies analizadas, o bien en la variación a través del tiempo de forma autocorrelacionada.
La incorporación de la heterotaquia [6] en el proceso de análisis añade un nuevo nivel de
complejidad a los algoritmos de optimización, que consiste en decidir cuántos modelos o
conjuntos de parámetros se deben aplicar, y cómo distribuirlos a través del árbol
filogenético.
La mayoría de los modelos anteriores son altamente no lineales y dinámicos, lo que da lugar
a problemas multimodales que suponen un desafío a la hora de resolverlos [7]. El esfuerzo
computacional cuando se usan métodos de optimización global deterministas suele ser
extremadamente grande y, por lo tanto, inviable. Por lo tanto, en los últimos años muchos
trabajos de investigación se han centrado en desarrollar métodos metaheurísticos
alternativos. Las metaheurísticas son algoritmos de optimización estocásticos con los que se
puede localizar la vecindad de la solución global sin tener que explorar todo el espacio de
búsqueda para un problema dado. De esta forma se reduce el número de evaluaciones y,
como consecuencia, también el tiempo de ejecución. Sin embargo, cuando se trata de
resolver problemas vinculados a aplicaciones reales, es habitual que estos algoritmos
todavía requieran un gran esfuerzo computacional y demasiado tiempo de ejecución.
Por otra parte, existen en la literatura un gran número de metaheurísticas que se han
desarrollado para abordar muchos tipos diferentes de problemas de optimización global. Sin
embargo, es difícil predecir cuál de todos esos algoritmos será el más adecuado para un
problema concreto. En este contexto, usar más de un algoritmo y utilizar alguna estrategia
para adaptar la ejecución a aquellos que resulten más exitosos es una alternativa muy
atractiva. Un algoritmo multimétodo consiste en ejecutar de forma concurrente múltiples
algoritmos diferentes pero que cooperen entre sí para encontrar una mejor solución (o de
forma más rápida) que la que encontrarían ejecutándose de forma aislada. El concepto de
algoritmo multimétodo ha aparecido en diferentes campos, como los métodos de búsqueda
cooperativa [8], los algoritmos meméticos [9], los algoritmos de conjuntos [10], los algoritmos
portafolios [11], y las hiperheurísticas [12]. Pero la mayoría de estas propuestas se limitan a
combinar entre sí métodos similares o incluso un único método usando parámetros de
configuración diferentes. Además, bajo nuestro punto de vista, la eficacia y rendimiento de
estos métodos mejoraría considerablemente ligados a una adecuada explotación de los
recursos computacionales, permitiendo la exploración concurrente de múltiples algoritmos

1 de 10

MEMORIA CIENTÍFICO-TÉCNICA DE PROYECTOS EXPLORA

de optimización y que esta pueda ir cambiando (número de búsquedas, parámetros usados
en cada una, etc.) durante la ejecución. Es en este punto donde consideramos que las
plataformas cloud, que de forma dinámica pueden agregar o quitar recursos a la ejecución,
ofrecen una gran oportunidad.
Con los desarrollos tecnológicos de las últimas décadas, el uso de la computación paralela
se ha vuelto cada vez más popular. Además, la relación coste/rendimiento de las
arquitecturas HPC se reduce continuamente, y, más aún, con la aparición de las
infraestructuras cloud, conseguir acceso a recursos HPC es cada día más fácil. Por lo tanto
no es de extrañar que la paralelización de los métodos de optimización en general, y de las
metaheurísticas en particular, haya recibido una importante atención como medio para
reducir el tiempo de resolución de problemas a gran escala. En la literatura se han
propuesto y descrito multitud de algoritmos paralelos. Un par de revisiones actuales se
puede consultar en [8,13]. Sin embargo, la mayoría de estas propuestas son
implementaciones paralelas que se basan en paradigmas e interfaces tradicionales, como
puede ser MPI o OpenMP, y que se ejecutan en infraestructuras tradicionales como clusters
o supercomputadores. Lograr una paralelización eficiente de estos algoritmos usando estos
paradigmas no es una tarea sencilla, ya que, típicamente en estos algoritmos, la búsqueda
de nuevas soluciones depende las iteraciones previas, lo que no solo complica la
paralelización sino que también limita la escalabilidad.
En la última década, algunos investigadores han prestado atención y evaluado el
rendimiento de aplicaciones paralelas en el Cloud [14,15,16], concluyendo que las
plataformas cloud no han sido diseñadas para ejecutar aplicaciones paralelas fuertemente
acopladas. El menor ancho de banda, la latencia de las redes, así como la sobrecarga de la
virtualización, tiene un gran efecto en el rendimiento de este tipo de aplicaciones en el
Cloud. También se pueden encontrar algunos trabajos (pocos) explorando la paralelización
de metaheurísticas orientada a su ejecución en entornos Cloud [17,18,19]. La mayoría de
estos trabajos se basan principalmente en el uso de MapReduce [20], ya que era el estándar
de facto. Sin embargo, los resultados de estos trabajos revelan que el coste extra de las
operaciones de entrada/salida y el overhead del sistema reducen significativamente el
rendimiento de la paralelización. Esto se debe a que MapReduce no es un paradigma
adecuado para algoritmos iterativos, como es el caso de las metaheurísticas. El rendimiento
se puede mejorar cuando se usa Spark [21] en este tipo de algoritmos, ya que Spark permite
mantener los datos en memoria entre iteraciones del mismo algoritmo.
En trabajos previos [22,23,24], el equipo de trabajo ha explorado el uso de MPI y Spark en la
implementación de metaheurísticas, así como ha comparado su ejecución en clusters
locales y en infraestructuras cloud. Las implementaciones propuestas se basaron en
modelos de islas, que permiten reducir las comunicaciones interprocesador dando lugar a
aplicaciones paralelas más débilmente acopladas, y por lo tanto, más adecuadas para
entornos cloud. Nuestra experiencia en esos trabajos nos ha permitido entender que para
obtener soluciones eficientes es necesario adaptar los algoritmos a las características de las
infraestructuras cloud, así como utilizar un paradigma de programación que se adapte al
flujo de ejecución de los mismos.
En este proyecto se propone el desarrollo de nuevos algoritmos que supongan un avance
significativo en dos frentes: (1) por una parte en el ámbito de los métodos de optimización,
en especial para modelado de sistemas biológicos y para análisis filogenético, proponiendo
alternativas innovadoras que combinan metaheurísticas populares permitiendo su ejecución
concurrente, y que incluyen una heurística superior que lleva a cabo la cooperación entre
estas metaheurísticas y reconfigura el algoritmo en base a los resultados obtenidos en
tiempo de ejecución; y (2) por otra parte en el ámbito de la explotación de estos algoritmos
en plataformas cloud, consiguiendo una implementación de los métodos que permita
aprovechar la elasticidad del cloud y su escalabilidad para conseguir adaptar la carga de
trabajo en tiempo de ejecución y resolver problemas a gran escala que actualmente
suponen todavía un reto en muchas áreas de aplicación.
C.1.1.1. Bibliografía
[1] F. Realli, C. Priami, and L. Marchetti. Optimization Algorithms for Computational Systems
Biology. Frontiers in Applied Mathematics and Statistics, 2017.

2 de 10

MEMORIA CIENTÍFICO-TÉCNICA DE PROYECTOS EXPLORA

[2] E. Balsa-Canto, J.R. Banga, J.A. Egea, A. Fernández-Villaverde, G.M. Hijas-Liste. Global
Optimization in Systems Biology: Stochastic Methods and Their Applications. Advances in
Systems Biology, pp:409-424, 2012.
[3] R. Bao, L. Huang, J. Andrade, et al. Review of Current Methods, Applications, and Data
Management for the Bioinformatics Analysis of Whole Exome Sequencing. Cancer
Informatics, 13(Suppl 2):67-82. doi:10.4137/CIN.S13779, 2014.
[4] J.R. Banga. Optimization in computational systems biology. BMC systems biology,
2(1):47, 2008.
[5] F. Izquierdo-Carrasco, S.A. Smith, A. Stamatakis. Algorithms, data structures, and
numerics for likelihood-based phylogenetic inference of huge trees. BMC bioinformatics,
12(1), 470, 2011.
[6] P. López, D. Casane, H. Philippe. Heterotachy, an important process of protein evolution.
Molecular Biology and Evolution, 19(1), 1-7, 2002.
[7] A.F. Villaverde and J. R. Banga. Reverse engineering and identification in systems
biology: Strategies, perspectives and challenges. Journal of the Royal Society Interface,
11(91):art. no. 20130505, 2014.
[8] T.G. Crainic. Parallel Meta-Heuristic and Cooperative Search. Technical Report:
CIRRELT-2017-58, Universite du Quebec a Montreal; 2017.
[9] X. Chen, Y-O. Ong, M-H. Lim, K.C. Tan. A multi-facet survey on memetic computation.
IEEE Transactions on Evolutionary Computation, 15(5):591–607, 2011.
[10] P. Yang, Y.H. Yang, B.B. Zhou, A.Y. Zomaya. A review of ensemble methods in
bioinformatics. Current Bioinformatics, 5(4):296–308, 2010.
[11] F. Peng, K. Tang, G. Chen, X. Yao. Population-based algorithm portfolios for numerical
optimization. IEEE Transactions on Evolutionary Computation, 14(5):782–800, 2010.
[12] E.K. Burke, M. Gendreau, M. Hyde, et al. Hyper-heuristics: A survey of the state of the
art. Journal of the Operational Research Society, 64(12):1695–1724, 2013.
[13] E. Alba, G. Luque, S. Nesmachnow. Parallel metaheuristics: Recent advances and new
trends. International Transactions in Operational Research, 20(1):1-48, 2013.
[14] R.R. Expósito, G.L. Taboada, S. Ramos, J.Touriño, and R. Doallo. Performance analysis
of HPC applications in the cloud. Future Generation Computer Systems, 29(1):218-229,2013
[15] D. de Oliveira, K.A.C.S. Ocaña, E. Ogasawara, J. Dias, J. Gonçalves, F. Baião, M.
Mattoso. Performance evaluation of parallel strategies in public clouds: A study with
phylogenomic workflows. Future Generation Computer Systems, 29(7):1816-1825, 2013.
[16] I. Sadooghi et al. Understanding the Performance and Potential of Cloud Computing for
Scientific Applications. In IEEE Transactions on Cloud Computing, 5(2):358-371, 2017
[17] C. Jin, C. Vecchiola, R. Buyya. MRPGA: an extension of MapReduce for parallelizing
genetic algorithms. In IEEE Fourth International Conference on eScience, pp:214-221, 2008.
[18] A. Verma, X. Llora, D.E. Goldberg, R.H. Campbell. Scaling genetic algorithms using
MapReduce. In The Ninth International Conference on Intelligent Systems Design and
Applications (ISDA’09), pp:13-18, 2009.
[19] W.P. Lee, Y-T. Hsiao, W.C. Hwang. Designing a parallel evolutionary algorithm for
inferring gene networks on the cloud computing environment. BMC systems biology, 8(1):5,
2014.
[20] J. Dean, S. Ghemawat. MapReduce: simplified data processing on large clusters. In:
The 6th USENIX Symposium on Operating Systems Design and Implementation, 2004.
[21] M. Zaharia, M. Chowdhury, T. Das, et al. Resilient Distributed Datasets: a Fault-Tolerant
Abstraction for In-Memory Cluster Computing. In USENIX Symposium on Networked
Systems Design and Implementation, NSDI, 2012.
[22] P. González, X.C. Pardo, D.R. Penas, D. Teijeiro, J.R. Banga, R. Doallo. Using the
Cloud for Parameter Estimation Problems: Comparing Spark vs MPI with a Case-study. In
IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid '17),
pp:197-806, 2017.

3 de 10

MEMORIA CIENTÍFICO-TÉCNICA DE PROYECTOS EXPLORA

[23] D. Teijeiro, X.C. Pardo, D.R. Penas, P. González, J.R. Banga, R. Doallo. A cloud-based
enhanced differential evolution algorithm for parameter estimation problems in computational
systems biology. Cluster Computing, 20(3):1937-1950, 2017.
[24] D. Teijeiro, X.C. Pardo, P. González, J.R. Banga, R. Doallo. Towards cloud-based
parallel metaheuristics: A case study in computational biology with Differential Evolution and
Spark. Journal of High Performance Computing Applications, (in press) 2017.

C.1.2. OBJETIVOS DEL PROYECTO
El objetivo global de este proyecto de investigación es el diseño, análisis, implementación y
evaluación de nuevos métodos de optimización global que combinen diferentes
metaheurísticas y permitan explotar las características de elasticidad y escalabilidad que
proporcionan las plataformas en la nube. En concreto, el proyecto pretende abordar los
siguientes objetivos concretos:
O1. La propuesta de nuevos algoritmos multimétodo cooperativos y auto-adaptativos,
con el objetivo de realizar la exploración en tiempo de ejecución de las diferentes
metaheurísticas integradas en el multimétodo, y poder llevar a cabo una reconfiguración
inteligente del algoritmo, con el objetivo de obtener métodos más fiables, más robustos, y
más rápidos. En el diseño de estos algoritmos se tendrá en cuenta el campo de aplicación al
que van dirigidos, que es el modelado de sistemas biológicos y el análisis filogenético.
O2. La implementación y paralelización de los métodos anteriores usando nuevos
paradigmas y herramientas específicas para computación en la nube, que permitan explotar
la elasticidad y escalabilidad de estos entornos.
O3. El desarrollo de una librería software de alta calidad con estas implementaciones,
que reduzca los esfuerzos de programación de otros científicos y la curva de aprendizaje
necesaria para llevar a cabo los experimentos en plataformas Cloud.
O4. La evaluación exhaustiva de las soluciones utilizando problemas reto. Las
soluciones anteriores podrán jugar un papel clave en muchos procesos de la industria
biotecnológica o de la industria farmacéutica, por poner sólo dos ejemplos directamente
relacionados con las empresas que se han mostrado interesadas en los resultados de este
proyecto (ver sección C.2.3).

C.1.3. METODOLOGÍA Y PLAN DE TRABAJO


C.1.3.1. Infraestructuras
El equipo de trabajo tiene acceso a diversas infraestructuras para el desarrollo de este
proyecto. La más inmediata es un clúster heterogéneo (que en lo sucesivo llamaremos
“Pluton”) que cuenta con 19 nodos con procesadores Intel Sandy/Ivy Bridge, con un total de
304 cores y 1.2 TB de memoria. Las redes de interconexión del cluster son Infiniband FDR
(56 Gbps) y Gigabit Ethernet. Este será la infraestructura donde se realicen los desarrollos,
se pruebe su viabilidad y se realicen las primeras pruebas de rendimiento.
Además de ese cluster, el equipo de trabajo, gracias precisamente a las colaboraciones
nacionales e internacionales de sus diferentes miembros, tiene acceso a varios
supercomputadores (que no describiremos dado el limitado espacio de la propuesta) en los
siguientes centros: Centro de Supercomputación de Galicia (CESGA), Instituto de
Investigaciones Marinas (CSIC) e Instituto Europeo de Bioinformática (EBI). Especialmente
interesante será probar los desarrollos en la plataforma cloud que recientemente ha
adquirido el CESGA, compuesta por 38 nodos con un total de 456 cores con 2.68TB de
memoria y 831TB de disco).
El equipo de trabajo tiene también acceso a la infraestructura cloud de Microsoft Azure
(incluyendo a sus instancias de computación intensiva) gracias a la financiación conseguida
a través de una “Microsoft Azure Research Award” que consiste en un crédito de acceso por
valor de 30.000 US$. Esta infraestructura se usará para la realización de las pruebas sobre
una plataforma cloud pública. Amazon Web Services (AWS) también será considerada si
existe disponibilidad presupuestaria.

4 de 10

MEMORIA CIENTÍFICO-TÉCNICA DE PROYECTOS EXPLORA

C.1.3.2. Datos y bancos de pruebas
El equipo de trabajo tiene acceso a diferentes conjuntos de datos y pruebas (benckmarks)
que se usarán durante el desarrollo del proyecto. En concreto, se usarán:
-BioPreDyn-bench (http://gingproc.iim.csic.es/biopredynbench/): un conjunto de problemas
de estimación de parámetros que sirven como casos de prueba de referencia en esta área.
-DREAM challenges (http://dreamchallenges.org): retos abiertos, en el campo de la biología
de sistemas y la biomedicina, que se proporcionan a la comunidad para que de forma
colaborativa se propongan métodos computacionales que permitan resolverlos.
El uso de conjuntos de datos y pruebas disponibles de forma abierta a todos los usuarios,
así como la puesta a disposición de la comunidad de los desarrollos realizados (ver sección
C.2.2 de difusión de los resultados), nos parece esencial para que otros investigadores
puedan reproducir los resultados obtenidos de este proyecto. Además, la participación en
los DREAM challenges también contribuirá a la mayor difusión de los resultados del
proyecto y a su internacionalización.
C.1.3.3. Metodología y planificación
El trabajo correspondiente al presente proyecto se ha estructurado en una serie de tareas,
que se detallan a continuación. La metodología se describe en base a estas tareas (“Tx”),
junto con la temporización de las mismas. El cronograma se presenta posteriormente en la
sección C.1.3.3. En esta planificación se incluyen también los hitos (“Hx”) y los entregables
(“Ex”) con su temporización. También se indican explícitamente los miembros del equipo
que participarán en cada tarea (en la sección C.3. se puede consultar una descripción más
completa del equipo de trabajo y el papel de cada uno de ellos):
T1. Diseño de nuevos algoritmos multimétodo cooperativos y auto-adaptativos
- Temporización: Q1-Q3
- Equipo: XXXX
- Descripción y metodología: A partir de la experiencia previa del equipo en la propuesta de
metaheurísticas y en la paralelización de las mismas, se diseñará un nuevo algoritmo
multimétodo a través de la combinación de diferentes metaheurísticas que se ejecutarán
concurrentemente y cooperarán entre sí para mejorar sus propiedades sistémicas y acelerar
la convergencia de los métodos originales. El multimétodo aplicará una heurística por
encima de las metaheurísticas para realizar la cooperación y para adaptar dinámicamente la
ejecución según los resultados intermedios alcanzados. El proceso de diseño seguirá una
metodología iterativa. Las propuestas se irán evaluando en programas de prueba sintéticos
y en base a los resultados obtenidos se irán refinando. Estas primeras pruebas, que se
centrarán en evaluar el funcionamiento del algoritmo desde el punto de vista de la precisión
de los resultados y la robustez del mismo, se realizarán en el cluster Plutón.
H1. Diseño de nuevos algoritmos multimétodo
E1. Informe con la descripción de los algoritmos propuestos y de las primeras pruebas de
funcionamiento.
T2. Adaptación de los algoritmos multimétodo propuestos para optimización discreta
- Temporización: Q3-Q5
- Equipo: XXXXX
- Descripción y metodología: Se adaptarán los algoritmos multimétodo a casos de
optimización discreta para ser usados en problemas de particionado de árboles filogenéticos
y en la selección de modelos de evolución heterogéneos (heterotaquia). Se seleccionará un
conjunto de prueba compuesto tanto por datos simulados como por datos reales utilizados
en estudios previos. Se comenzará por evaluar de forma estática los algoritmos de
búsqueda para comprobar su viabilidad y eficiencia para resolver este tipo de problemas, y
en base a los resultados obtenidos se adaptará la heurística del multimétodo propuesto en
T1 para estos problemas.
H2. Adaptación de los algoritmos multimétodo a la selección de modelos de evolución
heterogéneos.
E2. Informe con la descripción de la idoneidad y eficiencia de los métodos, y los resultados
de validación.
T3. Implementación y paralelización de los métodos anteriores
- Temporización: Q2-Q6

5 de 10

MEMORIA CIENTÍFICO-TÉCNICA DE PROYECTOS EXPLORA

- Equipo: XXXX, InvestigadorContratado
- Descripción y metodología: En trabajos preliminares, el equipo de trabajo ha observado
que la relación entre diversificación (búsquedas diferentes) e intensificación (paralelización
de cada búsqueda) tiene un gran impacto en los resultados obtenidos, pero la relación
óptima depende de cada problema. Sin embargo, las implementaciones tradicionales
usando MPI y/o OpenMP no permiten un balanceo dinámico durante la ejecución,
especialmente si también se quiere tener en cuenta cambios en la disponibilidad de
recursos. El reto en esta tarea es obtener implementaciones escalables de los métodos que
gestionen la ejecución simultánea de múltiples heurísticas que cooperan asíncronamente
entre sí al tiempo que adaptan dinámicamente sus configuraciones aprovechando las
capacidades elásticas en la provisión de recursos computacionales en el cloud. De nuevo la
metodología seguirá un proceso iterativo. Inicialmente nos planteamos usar Scala y Spark
para la implementación de los métodos, aunque esta decisión puede variar. Las primeras
pruebas de funcionamiento y rendimiento de las implementaciones se realizarán en el
cluster Plutón. Como conjuntos de pruebas se usarán tanto los programas de prueba
sintéticos como, de forma más exhaustiva, los programas de prueba del conjunto
BioPreDyn-bench.
H3. Implementación de los multimétodos propuestos usando Scala y Spark.
E3. Informe con la descripción de la implementación desarrollada y los resultados previos de
rendimiento obtenidos.
T4. Construcción de una librería software de alta calidad con los métodos propuestos
- Temporización: Q5-Q8
- Equipo: XXXXX, InvestigadorContratado
- Descripción y metodología: La implementación para plataformas en la nube de los métodos
anteriores se encapsulará en forma de librería software y se documentará apropiadamente
para su distribución abierta de forma que otros investigadores se puedan beneficiar
directamente de los desarrollos de este proyecto. Las actividades a realizar se incluirían: la
refactorización del código bajo criterios de usabilidad, extensibilidad y mejora de la
eficiencia; el desarrollo de herramientas cliente para facilitar el despliegue automático en los
principales clouds públicos; el desarrollo de programas de ejemplo; la documentación del
código y la elaboración de un manual de usuario.
H4. Construcción de un paquete software de alta calidad con los multimétodos propuestos
E4. Paquete software con la librería de métodos, su documentación y manual de usuario.
T5. Evaluación exhaustiva de los métodos en plataformas cloud
- Temporización: Q5-Q8
- Equipo: XXXXXX
- Descripción y metodología: Las implementaciones de las tareas anteriores serán
exhaustivamente evaluadas en diferentes plataformas cloud, entre ellas la plataforma cloud
del CESGA y la plataforma cloud Microsoft Azure. En estas pruebas se usarán tanto los
problemas del conjunto BioPreDyn-bench como algunos retos de los DREAM Challenge.
Esta tarea se solapa en parte con las tareas anteriores, puesto que los resultados obtenidos
en ella podrían (y seguramente lo harán) incidir en el refinamiento de los métodos o de su
implementación.
H5. Evaluación de los multimétodos en diferentes plataformas cloud
E5. Informe con los resultados de la evaluación en plataformas cloud
T6. Difusión de resultados
-Temporización: Q4-Q8
- Equipo: todos los miembros del equipo de trabajo
- Descripción y metodología: Los resultados serán difundidos siguiendo el plan detallado en
la sección C.2.2. y C.2.3. Todos los miembros del equipo de trabajo contribuirán a la
difusión de los resultados, aunque algunos de ellos, por su perfil (ver detalles en la sección
C.3.), tendrán un papel más relevante en algunos aspectos, por ejemplo, en la transferencia
de resultados a la industria.
E6. Informe final con un resumen de la explotación del plan de difusión y de las actividades
de transferencia realizadas, donde se detallará también el impacto de los resultados.

6 de 10

MEMORIA CIENTÍFICO-TÉCNICA DE PROYECTOS EXPLORA

C.1.3.4. Cronograma
A continuación se muestra un cronograma del proyecto a nivel de tarea:

C.1.3.5. Plan de contingencia


Se han identificado algunos riesgos que podrían desviar la planificación inicial y afectar a la
consecución en los hitos o a la temporización de los entregables:
(1) La interdependencia entre la mayoría de las tareas implica que si una de ellas no se
cumple o se retrasa, otras estarán en riesgo. En la planificación ya se ha tenido en cuenta
que las tareas se solapan, para avanzar en unas tareas mientras se completan otras.
Además, el amplio historial de colaboraciones entre los miembros del equipo de trabajo
evidencia el grado de compromiso e implicación que manifiestan con el proyecto, lo que
minimiza el riesgo de abandono de alguna tarea del proyecto. La IP del proyecto,
responsable de la coordinación, realizará un seguimiento periódico y sistemático de las
tareas y de los responsables.
(2) El retraso en la contratación del personal cualificado presupuestado pondría en riesgo las
tareas T3 y T4, donde el contratado participará. Para minimizar el riesgo se contempla la
formación del contratado en caso de que este no cuente con la formación necesaria, por
ejemplo en Scala y Spark. Además, aunque el volumen de trabajo de estas tareas hace
necesario la contratación de un programador, otros miembros del equipo están cualificados
para llevar a cabo estas tareas sin poner en riesgo la consecución de los objetivos globales
del proyecto aunque dilatando la temporización de las mismas.
(3) La falta de presupuesto para contratar los servicios cloud pondría en riesgo la tarea T5.
Los miembros del equipo participarán en solicitudes de crédito para investigación en las
convocatorias que periódicamente abren Microsoft Azure y Amazon Web Services. Si no se
consigue crédito en ellas y no hay presupuesto disponible para este concepto, todos los
experimentos se realizarán en la plataforma cloud del CESGA a la que tenemos acceso.

C.2. IMPACTO CIENTÍFICO Y/O SOCIO-ECONÓMICO DEL PROYECTO EN CASO DE


TENER ÉXITO
C.2.1. IMPACTO CIENTÍFICO-TÉCNICO
Este proyecto desarrollará una investigación innovadora en el ámbito de los métodos de
optimización global, orientados a su aplicación en el campo de la biología de sistemas y la
bioinformática. El proyecto pretende desarrollar nuevos métodos de optimización global que
exploten las características claves de la computación en la nube, como la elasticidad y la
escalabilidad. Las contribuciones más importantes que esperamos de este proyecto son: (1)
a nivel de los algoritmos de optimización, la propuesta de multimétodos cooperativos y auto-
adaptativos, que exploren en tiempo de ejecución las diferentes metaheurísticas integradas
y sean capaces de auto-reconfigurarse, dando lugar a métodos más rápidos y más robustos;
(2) a nivel de programación, la implementación y paralelización de los métodos anteriores
usando nuevos paradigmas y herramientas específicas para computación en la nube, y el
desarrollo de una librería software de alta calidad con estas implementaciones, que reduzca
los esfuerzos de programación y la curva de aprendizaje de otros científicos; (3) a nivel de
aplicación esperamos que los resultados del proyecto sirvan para mejorar procesos clave de
la industria biotecnológica o de la industria farmacéutica, por mencionar solo dos ejemplos
directamente relacionados con las empresas que se han mostrado interesadas en los
resultados de este proyecto (ver sección C.2.3).
El impacto de los resultados del proyecto se verá reforzado por dos aspectos transversales
importantes: la internacionalización y la transferencia de tecnología. En cuanto a la
internacionalización, el equipo de trabajo incluye 7 investigadores pertenecientes a 4

7 de 10

MEMORIA CIENTÍFICO-TÉCNICA DE PROYECTOS EXPLORA

instituciones de 3 países diferentes, lo que contribuirá a la visibilidad internacional y a
aumentar el impacto de los resultados. El impacto socioeconómico vendrá principalmente de
la potencial transferencia de los resultados, favorecida por la presencia de 3 compañías
interesadas en los mismos (ver la sección C.2.3 para más detalles).
C.2.2. PLAN DE DIFUSIÓN
La difusión del trabajo realizado y la aplicación práctica de los resultados se realizará en las
siguientes direcciones:
(1) Difusión científico-técnica: La difusión científico-técnica tendrá varias vertientes. Por una
parte, los resultados del proyecto se publicarán en conferencias de relevancia y revistas
internacionales especializadas y de alto impacto en las diferentes áreas de conocimiento del
equipo de trabajo. Como muestra del tipo de publicaciones internacionales que se
seleccionarán se pueden consultar las publicaciones de los últimos años en los CVAs de los
miembros del equipo de trabajo. Entre las conferencias destacadas se encuentran varias
listadas en la lista CORE como A, o en posiciones relevantes de la lista SCIE, tales como
CCGRID, IPDPS, o ICCS, muy relacionadas con los tópicos que cubre este proyecto. Entre
las revistas de alto impacto en las que suelen publicar los miembros del equipo de trabajo
figuran Bioinfomatics, BMC Bioinformatics, PLOS, etc. en el área de biología de sistemas y
bioinformática, e International Journal of High Performance Applications, Future Generation
Computing Systems, o Concurrency and Computation: practice and experience, en el área
de la computación de altas prestaciones. Por lo tanto, el equipo tiene potencial para difundir
de forma adecuada los resultados científico-técnicos de este proyecto a través de nuevas
publicaciones, teniendo siempre en mente tanto la calidad como el impacto de las mismas.
La difusión de los resultados se complementará con actividades internacionales llevadas a
cabo por los miembros del equipo, tales como la participación en comités de programas
internacionales, la impartición de conferencias por invitación, o la edición de números
especiales de revistas. La trayectoria previa de los miembros del equipo en este sentido
también se puede comprobar en sus CVAs.
Los resultados que se deriven del proyecto, principalmente en forma de paquetes software
(como se puede ver en la descripción de los entregables dentro de cada objetivo) y que no
se considere necesario proteger su propiedad intelectual, se harán públicos y serán
descargables desde alguna plataforma como GIT o bitbucket. Esta ha sido la política de los
miembros del equipo en sus respectivas investigaciones en los últimos años, y ejemplos
recientes y estrechamente vinculados a la temática de esta petición son: XXXXX. Esta
política proporciona una gran visibilidad a los resultados y aumenta el número de contactos
y potenciales colaboraciones de los miembros del equipo con otros grupos de investigación.
(2) Transferencia tecnológica: ver sección C.2.3.
(3) Difusión entre la sociedad en general: se enviarán notas de prensa sobre resultados
particulares del proyecto para su posible difusión entre el público general. Todas las
instituciones a las que pertenecen los diferentes miembros del equipo de trabajo cuentan
con oficinas de prensa. Algunos ejemplos de este tipo de difusión con resultados de
anteriores proyectos se pueden encontrar en los apartados de noticias de las webs de los
grupos de investigación a los que pertenecen los miembros del equipo.
Todo el material de difusión que se derive de este proyecto se publicará en la página web
XXXXXX, ya sean artículos técnicos, paquetes software, así como resúmenes o folletos
informativos que se puedan realizar orientados a la difusión de los resultados.
C.2.3. TRANSFERENCIA DE RESULTADOS
Existen multitud de aplicaciones industriales que se podrían beneficiar de los resultados de
este proyecto, dado que, como hemos visto en la descripción de la propuesta, la
optimización es un paso clave en muchos procesos industriales. En este proyecto
centraremos nuestros esfuerzos de transferencia de resultados en dos campos: la ingeniería
metabólica y el desarrollo de fármacos. En la ingeniería metabólica, los resultados de este
proyecto servirán para optimizar diferentes procesos en la industria biotecnológica que
favorezcan la producción rentable de compuestos de alto valor como biopolímeros o
biocombustibles; en la industria farmacéutica, serán útiles en la construcción de redes de
señalización para fenotipos normales y patológicos, paso clave en el desarrollo temprano de
fármacos. El equipo del proyecto cuenta con miembros con gran experiencia en ambas

8 de 10

MEMORIA CIENTÍFICO-TÉCNICA DE PROYECTOS EXPLORA

aplicaciones. Además, el proyecto que presentamos cuenta con expresiones de interés de 3
empresas internacionales diferentes (las cartas, que se pueden consultar en XXXXX están
custodiadas en la UDC, ya que la aplicación no permite subir este tipo de archivos adjuntos
a esta memoria). Estas empresas son:
- XXXX empresa dedicada a acelerar la optimización de cepas y bioprocesos en
Biotecnología Industrial mediante el uso de herramientas computacionales y de modelado.
- XXXX compañía radicada en XXXX, que proporciona soporte en el análisis y la generación
de datos multiómnicos para el descubrimiento de fármacos y biomarcadores.
- XXXXX compañía líder en la provisión de soluciones y software para la simulación de
células vivas, que tiene como principal interés la optimización del proceso biotecnológico.
El historial de colaboraciones entre varios de los miembros del equipo del proyecto y estas
empresas facilitará la transferencia de resultados a las mismas. Como consecuencia de esta
transferencia de resultados, es posible que sea necesario proteger la propiedad intelectual
de alguno de los resultados derivados del proyecto. Como referencia se puede ver en los
CVA que los miembros del equipo han registrado en los últimos años varios productos
software y patentes de diferentes trabajos de investigación.

C.3. PERSONAL INVESTIGADOR QUE PARTICIPARÁ EN EL PROYECTO Y


DESCRIPCIÓN DEL PAPEL DE CADA UNO DE ELLOS
Como se puede ver en los CVAs adjuntos a la solicitud, los miembros del equipo mantienen
una actividad investigadora de calidad y continuada. Además poseen una sólida formación
en los fundamentos necesarios para cubrir los objetivos de este proyecto.También se puede
comprobar que entre ellos existe una estrecha colaboración en los últimos años, con
publicaciones conjuntas. Todo ello ofrece una cierta seguridad sobre la viabilidad del
proyecto y consecución de los objetivos tal y como están planteados en esta solicitud.
El equipo de trabajo que participa en este proyecto está compuesto por 7 investigadores
(todos con el título de Doctor), que, de acuerdo con el nombre usado en la convocatoria se
clasifican en:
(1) Equipo de investigación: 5 investigadores, de los cuales 4 son miembros del Grupo
XXXXX y 1 es miembro del Grupo XXXX. En el plan de trabajo descrito en la sección
C.1.3.2 ya se indica para cada tarea los miembros del equipo involucrados. Aquí se describe
su papel de forma genérica y su experiencia previa en aquellos temas relacionados
directamente con este proyecto:
- XXXXX, tiene experiencia en el desarrollo y evaluación de aplicaciones paralelas y
distribuidas, y en computación en la nube. En los últimos años ha participado en varios
trabajos multidisciplinares donde se aplicaban técnicas HPC al diseño e implementación de
métodos de optimización para problemas a gran escala en biología de sistemas. Ella será la
encargada de coordinar el proyecto y al equipo de trabajo. Además, participará activamente
en las tareas de diseño (T1 y T2) e implementación (T3) de los métodos propuestos, y en la
evaluación de los resultados (T5). Con este proyecto se pretende que inicie su experiencia
en dirección de proyectos de investigación.
- XXXXX, posee más de 25 años de experiencia en investigación y desarrollo en el área
HPC, cubriendo un gran abanico de tópicos entre los que se incluye la computación en la
nube. También cuenta con experiencia en la aplicación de técnicas y herramientas HPC en
el campo de la bioinformática (selección de modelos de evolución en ADN y proteínas) y de
la biología de sistemas (métodos de optimización para estimación de parámetros). Su papel
en el proyecto se centrará en el diseño de los métodos (T1 y T2) y su evaluación (T5).
- XXXXX, ha participado recientemente en trabajos de evaluación de aplicaciones HPC en
plataformas en la nube. También cuenta con experiencia en programación con Scala y
Spark, lenguajes y herramientas que se usarán en el desarrollo de este proyecto. Ya ha
trabajado recientemente en la implementación de metaheurísticas usando tanto Hadoop
como Spark. Su papel en el proyecto se centrará en la implementación de los métodos y la
construcción de la librería software (T3 y T4). También participará en la realización de los
experimentos (T5).
- XXXXX, ha desarrollado algoritmos y herramientas HPC para análisis filogenético que han
tenido una gran difusión e impacto, y ha formado parte durante los últimos 4 años de un

9 de 10

MEMORIA CIENTÍFICO-TÉCNICA DE PROYECTOS EXPLORA

equipo internacional multidisciplinar centrado en la investigación en biología molecular
computacional. Por tanto cuenta con experiencia en el desarrollo e implementación eficiente
en el campo de la bioinformática. Participará activamente en el diseño de algoritmos (T2),
así como en su implementación (T3 y T4) y evaluación (T5).
- XXXXX, cuenta con una gran experiencia en el modelado matemático y optimización en
biología de sistemas, por lo que su papel en el proyecto se centrará en el diseño de los
métodos de optimización (T1), así como en el diseño de los experimentos y la evaluación de
los resultados (T5). Además, los contactos y colaboraciones del profesor Julio R. Banga a
nivel internacional claramente ayudarán a visibilizar y difundir apropiadamente los resultados
obtenidos. Y sus colaboraciones con las empresas SilicoLife e Insilico Biotechnology
ayudarán a la transferencia de resultados del proyecto (T6).
(2) Equipo de trabajo: 2 investigadores internacionales, XXXX, profesor en la Universidad
XXXX, y XXXXX, investigadora en el Departamento XXXXX. Además, hemos contado en la
planificación con un investigador contratado durante 2 años, que se incluye en el
cronograma como “InvestigadorContratado” y cuya financiación se incluye en el presupuesto
de este proyecto.
- XXXXX, cuenta con una amplia experiencia en métodos computacionales y herramientas
para estudiar las redes de señalización en enfermedades y aplicar este conocimiento al
diseño de nuevas terapias y fármacos. Además, está involucrado en la organización de los
retos DREAM Challenge, que usaremos como banco de pruebas en el proyecto. Participará
en la evaluación de los resultados obtenidos (T5). Por otra parte, la colaboración que
mantiene con las empresas XXXXX facilitará la difusión de los resultados obtenidos con las
compañías (T6).
- XXXXX, cuenta con una gran experiencia en bioinformática y biología molecular
computacional, tanto en el desarrollo de métodos de análisis filogenético como en su
utilización en estudios reales. Colaborará en la evaluación de los resultados obtenidos (T5),
así como en la validación de las fases intermedias de la tarea T2.
- “InvestigadorContratado” cuyo perfil será el de un graduado en Ingeniería Informática (o
una disciplina afín), y preferentemente con un título de Máster relacionado con la
computación de altas prestaciones. Se valorará en su selección el conocimiento de
lenguajes de programación como C, Java y Scala, y herramientas como MapReduce
Hadoop y/o Spark. A este contratado se le asignarán las tareas de generación de código y
de su verificación y validación, en las tareas T3 y T4 del proyecto.
La coordinación del equipo de trabajo recaerá sobre el IP del proyecto: XXXX. Se llevarán a
cabo reuniones de coordinación de forma periódica. Dado que los miembros del equipo
pertenecen a 4 instituciones, que se encuentran ubicadas en 3 países diferentes, las
reuniones presenciales se minimizarán y se sustituirán por reuniones por videoconferencia,
para las cuales los grupos cuentan con equipamiento suficiente. Durante los dos años de
duración del proyecto algunos miembros del equipo investigador realizarán estancias cortas
en los centros de investigación internacionales a los que pertenecen los miembros del
equipo de trabajo, para facilitar actividades conjuntas de investigación recogidas en las
tareas del proyecto.

C.4. IMPLICACIONES ÉTICAS Y/O DE BIOSEGURIDAD


No se contemplan implicaciones éticas o de bioseguridad.

10 de 10

También podría gustarte