UNACLOUD
Opportunistic cloud computing platform

Casos de éxito

UnaCloud ha potencializado las capacidades computacionales de diferentes proyectos de investigación en e-ciencia. Las capacidades de UnaCloud han sido utilizadas en proyectos de áreas como Ingeniería química, Ingeniería industrial y bioinformática. UnaCloud ha reducido los tiempos de ejecución y desarrollo de estos proyectos.

A continuación se describen algunos de los proyectos que han hecho uso de UnaCloud.


A Parallel Branch and Bound algorithm for the Resource Levelling Problem with minimal lags

Área: Ingeniería Civil

Este proyecto de investigación presenta varias etapas. Esta primera etapa tiene dos objetivos principales:

  • Proponer un algoritmo paralelizable para el problema de nivelación de recursos
  • Implementar dicho algoritmo y desplegarlo en infraestructura distribuida para resolver un conjunto significativo de problemas de la librería PSPLIB.

Los problemas que pretende resolver este proyecto producen grafos con entre 10^10 y 10^30 nodos, por lo cual es inviable una solución que almacene los grafos en memoria. Por lo tanto se definió un algoritmo que explora y construye el grafo al mismo tiempo, lo cual hace que sólo sea necesario iterar por todos los nodos del grafo sin necesidad de almacenarlos. Las últimas versiones del algoritmo exploran alrededor de 100.000 nodos por segundo por procesador (con un procesador de 2.4 GHz).

UnaCloud permitió integrar estas infraestructuras siguiendo una arquitectura Cliente-Servidor en la cual los clientes reportaban al servidor los “sub-problemas” que terminaban de resolver, esto hacía que el servidor mantuviera un estado medianamente actual de la resolución del problema y en caso de perder uno de los clientes no se perdía mucha información. Se logró resolver alrededor de 50 problemas de la librería PSPLIB, algunos con complejidades iniciales de 10^17 y 10^18 y complejidades reales de 10^14. Adicionalmente se desarrolló un artículo que describe los algoritmos, implementaciones y resultados del proyecto.


KMC ANTs Template

Área: Procesamiento de imágenes

Este proyecto tenía como objetivo generar un “template” de cerebro para el estudio de madre canguro que fue financiado por Grand Challenges, Canadá. Esto es un cerebro que representa a toda la población (aproximadamente de 200 imágenes), y que puede utilizarse para realizar análisis de grupo.

El algoritmo básico requería de 4 iteraciones por todas las imágenes, las cuales podían realizarse en paralelo. Al final sin embargo decidimos subir a 8 iteraciones para poder capturar mejor la variabilidad de la muestra. Cada iteración requería de aproximadamente 3 horas de cómputo en las máquinas virtuales y 6G de RAM.

Al utilizar UnaCloud fue posible realizar suficientes pruebas para afinar los parámetros del algoritmo y realizar el cálculo final sin afectar los procesos que se llevan habitualmente en nuestro laboratorio (COLIVRI). El template final es de muy alta calidad y será de gran utilidad para el análisis de las imágenes del estudio. También hay que notar que no existen templates de estas poblaciones (adultos jóvenes que nacieron prematuramente o con bajo peso); luego este podría ser útil para otros estudios.


BSGrid – simulación del Bacillus thuringiensis

Area: Ingeniería química

En el área de ingeniería química se desarrolló la aplicación BSGrid para simular la bacteria Bacillus thuringiensis. Bacillus thuringiensis (B. thuringiensis) es una bacteria Gram positiva ampliamente conocida por su capacidad para sintetizar δ-endotoxinas, las cuales son usadas como biopesticidas, y representan el 90% del total de biopesticidas del mercado mundial. Esto debido a su alta afinidad, su capacidad de no maltratar otras especies (incluyendo vertebrados) y su bajo impacto ambiental. Con BSGrid, los investigadores pueden analizar las concentraciones de δ-endotoxinas a través del tiempo para ayudar a reducir los altos costos necesarios para su producción industrial.

Para apoyar la ejecución de BSGrid con una infraestructura con altas capacidades de procesamiento se desplegó un CVP en una sala de computadores y múltiples simulaciones de BSGrid fueron ejecutadas para encontrar las condiciones óptimas bajo las que la B. thuringiensis genera δ-endotoxins. El CVP fue configurado con el programador de tareas Condor versión 6.7.1 y el sistema operativo Debian 4.0. Cada simulación es ejecutada para una población de bacterias cuyo modelo es definido a través de una interfaz web de usuario. Una vez definido el modelo, una simulación complete es ejecutada como un proceso batch in el CVP, cada población de bacterias es ejecutada como una tarea independiente en una máquina virtual del CVP, y los resultados de la simulación son almacenados en una base de datos relacional. Una vez todas las poblaciones son ejecutadas, los usuarios pueden consultar la base de datos a través de la interfaz gráfica.


Integración de aplicaciones de BioInformática mediante LONI pipeline

Area: BioInformática

Las aplicaciones de bioinformática son conocidas por ser complejas para los investigadores y consumidoras intensivas de capacidad computacional. Para facilitar el uso trasparente de infraestruturas para computación de alto rendimiento y para el manejo automático de workflows, se ha configurado y adaptado la aplicación LONI Pipeline. LONI pipeline usa un modelo cliente servidor y una interfaz gráfica que permite fácilmente crear, validar, ejecutar y monitorear workflows, permitiendo que los investigadores se concentren en el análisis de los datos generados por los workflows y no en los detalles técnicos de la computación requerida. Cualquier conjunto de aplicaciones que provean interfaces de línea de comando pueden ser integradas mediante una instalación de LONI pipeline; cada aplicación es integrada como un módulo LONI.

Un CVP con varias aplicaciones bioinformáticas, el scheduler Sun Grid Engine (SGE) 6.2u5 y el sistema operativo Debian 5.0 fueron configuradas. Dos laboratorios de computadores y un cluster dedicado con 5 servidores fueron utilizados para un total de 180 núcleos disponibles para procesamiento. El servidor de LONI pipeline y el maestro SGE compartieron la misma máquina dedicada. También se desarrollaron módulos de LONI pipeline para varias aplicaciones de bioinformática como HMMER, BLAST, Mr. Bayes y InterPro Scan, que son intensiva en procesamiento. Un módulo de autenticación de usuarios fue creado y configurado en el servidor LONI para proveer acceso y seguridad al sistema. Ahora los investigadores bioinformáticos usan el cliente LONI Pipeline como una herramienta para la crear, implementar y manejar workflows en sus proyectos, que son luego ejecutados en el CVP.


Solución de problemas de optimización

Area: Ingeniería industrial

Se desarrollaron dos frameworks para resolver problemas de optimización: JG2A y pALS. Java Grid-enabled GEnetic Algorithm (JG2A) es un framework grid para el prototipado rápido de algoritmos evolutivos que explotan el paralelismo de los algoritmos genéticos.

pALS (parallel Adaptative Learning Search) es un framework orientado a objetos para el desarrollo de meta-heurísticas paralelas y cooperativas para la solución de problemas de optimización complejos. pALS aprovecha dos modelos de paralización: ejecución paralela de operadores y la ejecución de instancias separadas de modelos multi-inicio. pALS también incluye el diseño de estrategias de cooperación para la solución del problema, como el modelo de islas para algoritmos genéticos o la exploración paralela de vecindades en meta-heurísticas derivadas de búsquedas locales, incluyendo un amplio conjunto de topologías asociadas con estos modelos. pALS fue aplicado satisfactoriamente en varios problemas de optimización y ha mostrado ser una librería flexible, extensible y dominante para el desarrollo inmediato de prototipos, ofreciendo una colección de operadores ready-to-use que abarcan el núcleo de muchas meta-heurísticas (incluyendo meta-heurísticas híbridas).

Debido a las altas capacidades de procesamiento requeridas para resolver estos problemas de optimización, JG2A y pALS son candidatos perfectos para ser ejecutados en UnaCloud. Para ejecutar las simulaciones de JG2A y pALS fue desplegado un CVP en una sala de computadores. Una máquina dedicada fue utilizada como el maestro del CVP y tenían instalado Globus Toolkit 4.0 y Condor 7.0. Todas las máquinas tenían Debian 4.0 como sistema operativo. Las tareas son enviadas por los usuarios a través de la interfaz de JG2A/pALS a GRAM (Grid Resource Allocation Manager) y GRAM enviar las tareas al scheduler de Condor, el cual las distribuye entre los esclavos Condor.


GISELA

Area: GRID computing

La Universidad de los Andes participa in GISELA (Grid Initiatives for e-Science virtual communities in Europe and Latin America) ejecutando un sitio gLite certificado. El despliegue del CVP de GISELA busca integrar la infraestructura de UnaCloud con una infraestructura grid de servicios como GISELA. El sitio de Uniandes es un service grid Resource Center, ofreciendo 5 servicios para garantizar el correcto funcionamiento del sistema entero: Systema de información y monitoreo (DBII – RGMA), servicio de seguridad (CA – VOMS), servicio de datos (SE – LFC), Servicio de administración de tareas (CE – WMS UI) y el servicio de registro (RA).

La integración fue lograda creando un CVP con el middleware de gLite instalado y configurado. Este esquema tiene los componentes básicos de la infraestructura de gLite para la ejecución de tareas como el Computer Element (CE) que es el putno de entrada del sistema local de colas (PBS, LFS, Condor), y los nodos trabajadores (WNs) que son los encargados de la ejecución de las tareas. El CE está instalado en un servidor ESXi, y los nodos trabajadores (35 en total) fueron instalados en una sala de computadores. El CE y los WNs están virtualizados y son ejecutados bajo demanda a través de UnaCloud. El CE está conectado al WMS (Workload Management System), desde el cual serán enviadas las tareas a ejecutar.


Framework para minería de datos sobre redes peer-to-peer

Area: Data mining

Como parte de la etapa de evaluación de un sistema Peer-to-Peer de Minería de Datos Distribuida, se realizó la simulación de múltiples instancias de la aplicación para evaluar la validez de los algoritmos desarrollados. Dado que en un sistema Peer-to-Peer no existe control sobre la distribución de los datos compartidos. Cada nodo produce y almacena de forma autónoma datos en el sistema. Esta característica puede afectar el desempeño y exactitud de un algoritmo de minería de datos distribuida. Para validar el comportamiento de los algoritmos desarrollados respecto a esta característica, se realizan dos escenarios de prueba: Un escenario en donde la distribución de los datos es estática y otro en donde la distribución de los datos se hace de acuerdo a los mecanismos de indexación del servicio distribuido de almacenamiento.

La ejecución de estos escenarios de prueba se realizó a través de la infraestructura Oportunista ofrecida por UnaCloud. Para la experimentación se utilizaron 40 máquinas virtuales con las siguientes características: Sistema operativo Linux Debian 5, procesador con doble núcleo de 1.86 GHz y memoria RAM de 2 GigaBytes. En cada máquina se ejecutan diferentes instancias de la aplicación para simular múltiples nodos, para un total de 1.000 nodos interconectados. Durante las pruebas realizadas se desplegaron desde 10 hasta 25 instancias de la aplicación en cada máquina para simular la totalidad de los nodos requeridos. Los objetos de datos fueron generados de forma sintética siguiendo un modelo de distribución probabilística previamente definido. De esta forma se generaron objetos desde 10.000 hasta 100.000 registros. Esta estrategia permitió controlar la distribución de los datos sobre los nodos desplegados en cada ejecución y la validación de los resultados obtenidos. A continuación se presentan los resultados obtenidos haciendo énfasis en las principales medidas identificadas para evaluar la validez de la solución.

Durante las pruebas realizadas sobre los algoritmos desarrollados en el sistema propuesto. Se obtuvieron resultados satisfactorios de acuerdo a los principales requerimientos identificados tales como: la precisión de resultados y el manejo eficiente de recursos. Esto permitió validar la hipótesis acerca de la utilidad de los sistemas Peer-to-Peer basados en DHT para la ejecución de tareas de minería de datos distribuida y el marco de trabajo propuesto.


UNACLOUD MSA:

Area: Bioinformática

UnaCloud MSA permite la ejecución automática de un workflow para el análisis y generamiento de alineamiento múltiples de secuencias (MSAs).

Una de las tareas fundamentales en bioinformática es la generación de un MSA a partir de un conjunto de secuencias de ADN o proteínas. Sin embargo, encontrar el mejor alineamiento múltiple es una problema de alta complejidad computacional y por lo tanto existen una gran variedad de aplicaciones que usan diferentes heurísticas.

UnaCloud MSA integra estas herramientas para la generación y el análisis de MSA en un workflow automatizado. A través de la aplicación web, el investigador en bioinformática sube su archivo de secuencias y lanza la ejecución de su job. Una vez la ha sido completada, un correo electrónico es enviado al usuario indicándole la url donde puede consultar sus resultados.

Los diferentes componentes de UnaCloud MSA son:

Workflow MSA

Utilizando la herramienta de manejo de workflows LONI Pipeline, se integraron diferentes aplicaciones (Previamente existentes y nuevas) en un workflow ejecutable. Las herramientas incorporadas son:

CLUSTALW2, MUSCLE, MAFFT, T-COFFEE, PROBCONS, KAlign, dist, cons, Graphviz, matrix_plotter, alignment_comparison.

UnaCloud

Debido a que cada ejecución de una tarea de UnaCloud MSA genera muchas subtareas diferentes, todas de alta complejidad computacional, UnaCloud MSA aprovecha la infraestructura oportunista de la universidad a través de UnaCloud. Se configuró y desplegó un Cluster Virtual Personalizado. Se utilizó el software de SGE como middleware para la distribución de las tareas generadas por LONI.

UnaCloud MSA Web Application:

UnaCloud MSA es accesible a través de una interface web amigable en la que el usuario carga sus archivos, lanza la ejecución de su tarea de análisis y posteriormente revisa sus resultados.

Opportunistic Deployment:

A diferencia de los otros proyectos que empleaban la infraestructura oportunista, UnaCloud MSA es una aplicación web disponible a toda la comunidad científica y por lo tanto la cantidad de trabajo ejecutado es variable. Debido a esto, se extendió UnaCloud de manera que pudiera adaptar el tamaño virtual del CVC de acuerdo al nivel de carga. El middleware de Opportunistic_Deployment propone un primer pase hacia una infraestructura elástica en UnaCloud.