Clusters, Grids y Clouds: Uso e Impacto de Cómputo Distribuido en Bioinformática



Documentos relacionados
Soluciones de virtualización en sistemas Linux:

JORNADAS TÉCNICAS REDIRIS Gestión del parque de máquinas virtuales Xen con herramientas de software libre

III. INTRODUCCIÓN AL CLOUD COMPUTING

VIRTUALIZACIÓN DE SERVIDORES

GlusterFS. Una visión rápida a uno de los más innovadores sistema de archivos distribuido

Nuevas tendencias: Virtualización de computadores / servidores

Instalación de XEN Información de XEN Qué es XEN? Componentes de XEN:... 2

toda la potencia de un Dedicado con la flexibilidad del Cloud

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

DPM Storage calculator

Vielka Mari Utate Tineo Instituto Tecnológico de las Américas ITLA. Profesor José Doñé PRATICA NO. 24, CLUSTER

VMware vs. Xen. Comparación de dos esquemas populares de virtualización. Héctor López Guillermo Veitia

Implementación de plataforma de virtualización con HA basada en Proxmox

PRACTICA NO.24: CLUSTER

IaaS en los estudios de informática

Almacenamiento virtual de sitios web HOSTS VIRTUALES

Capítulo 5. Cliente-Servidor.

Alta Disponibilidad y Virtualización con soluciones de bajo costo. Virtualización. Conceptos básicos

Virtualización. Esquemas populares

Arquitectura: Clusters

MODERNIZANDO PCN Y RECUPERACION DE DESASTRES UTILIZANDO VIRTUALIZACION Y LA NUBE

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

Descripción de los Servicios Oracle contemplados en el Instrumento de Agregación de Demanda

ING. YURI RODRIGUEZ ALVA

Trabajo TP6 Sistemas Legados

UNIVERSIDAD TECNOLOGICA ECOTEC DIEGO BARRAGAN MATERIA: Sistemas Operativos 1 ENSAYO: Servidores BLADE

Estrategia de Cómputo en la Nube. Servicios en la Nube

Introducción a las redes de computadores

Marco Teórico MARCO TEÓRICO. AGNI GERMÁN ANDRACA GUTIERREZ

Proyecto Fin de Carrera OpenNebula y Hadoop: Cloud Computing con herramientas Open Source

Cloud Computing Tendencias. Modelos. Posibilidades. Germán Cortés Lasso

computadoras que tienen este servicio instalado se pueden publicar páginas web tanto local como remotamente.

Virtualización en Servidores. Conceptos básicos

Monitoreando Redes con Linux. Ing. Pedro Alejandro Toribio P. Especialista en Conectividad y Seguridad en

PREGUNTAS Y RESPUESTAS FRECUENTES FAQ DATA CENTER VIRTUAL

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

SISTEMAS DE INFORMACIÓN III TEORÍA

Pruebas y Resultados PRUEBAS Y RESULTADOS AGNI GERMÁN ANDRACA GUTIERREZ

Gestión de Recursos y Seguridad en Redes Virtualización de Servidores, VMware. Derman Zepeda Vega. dzepeda@unan.edu.ni

Virtualización - Que es?

System Center. la plataforma para una gestión ágil de los entornos de TI IDG COMMUNICATIONS, S.A.

Experiencias Cloud en el CESGA Virtualización en entornos Cloud


WINDOWS : TERMINAL SERVER

Visión General de GXportal. Última actualización: 2009

Infraestructura Tecnológica. Sesión 12: Niveles de confiabilidad

Herramientas de. Sistemas Informáticos I.E.S. Virgen de la Paloma

Sistema de SaaS (Software as a Service) para centros educativos

Virtualización. Carlo López Armando Mejía Andrés Sánchez

Acceso al Disco Compartido y Dispositivos USB y DVD

Maquinas virtuales Conceptos Básicos

Virtualización en GNU/Linux

México, D.F., a 13 de Septiembre de 2012

VDI Xen Server. Estés donde estés... preocúpate de encontrar una buena silla. Las tenemos todas conectadas a la nube.

Service Oriented Architecture: Con Biztalk?

Hadoop. Cómo vender un cluster Hadoop?

RODRIGO TAPIA SANTIS com) has a. non-transferable license to use this Student Guide

UT04 01 Máquinas virtuales (introducción)

Guía de uso del Cloud Datacenter de acens

Transición de su infraestructura de Windows Server 2003 a una solución moderna de Cisco y Microsoft

Sistemas Operativos. Curso 2013 Virtualización

Daniel Lombraña Glez., F. Fernández de Vega Universidad de Extremadura Ben Segal, Francois Grey CERN

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

CREACIÓN Y OPERABILIDAD DE UNA BASE DE DATOS DE ADN DISTRIBUIDA MEDIANTE EL USO DE UN SISTEMA GRID CREACIÓN DE ÁRBOLES DE SUFIJOS

SISTEMAS DE INFORMACIÓN II TEORÍA

Informática en la nube. Susi Rodríguez

Virtualización. Administración Avanzada de Sistemas Operativos. Eduardo Iniesta Soto

Virtualización. Gilberto Moreno gmoreno at cenditel.gob.ve Alejandro Vazquez avazquez at cenditel.gob.ve

IDeP. Service Oriented Network Architecture SONA. IDeP SA La Punta, San Luis, Agosto 2008

Arquitectura de sistema de alta disponibilidad

Trabajo TICO Unidad 2: Sistemas Operativos. Guillermo Jarne Bueno.

Una mirada práctica a los Micro-Kernels y los Virtual Machine Monitors François Armand, Michel Gien INFORMATICA III

Ubuntu in the Clouds. Ubuntu Jaunty Jackalope Ing. Andrés E. Rodriguez Lazo

BUSINESS INTELLIGENCE Y REDSHIFT

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

FaceFinder MÓDULO DE BÚSQUEDA DE PERSONAS DENTRO DE UNA BASE DE DATOS DE ROSTROS

Enterprise Resource Planning (ERP) SISTEMA DE PLANEACIÓN DE RECURSOS MASTER: ALFREDO CASTRO JIMENEZ

Curso: FT433 - Introducción a la virtualización con VirtualBox

2. Antes de crear la maquina virtual, debemos tener en cuenta sus características.

Infraestructura Tecnológica


Infraestructura Tecnológica. Sesión 8: Configurar y administrar almacenamiento virtual

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Figura 1. Fuente: elaborada en el MSLab

Cloud Computing: Soluciones y Seguridad

Brindamos asesorías que involucran tecnología y personal calificado, estos hacen de DOCTUM su mejor aliado.

CONFIGURACIONES DE ALTA DISPONIBILIDAD

Un primer acercamiento a la CMDB.

LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA

Taller de Software Libre

El gasto total elegible de la BBPP, Centro de Supercomputación es de ,11. La ayuda FEDER, es el 80%, ,48

2 Congreso Colombiano de Bioinformática y biología computacional.

Windows Server 2012: Infraestructura de Escritorio Virtual

Creación y administración de grupos de dominio

General Parallel File System

Tipos de conexiones de red en software de virtualizacio n: VirtualBox y VMware

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

XV Conferencia Colombiana de Usuarios Esri Bogotá, Agosto de 2013

Proyecto Human Brain

Transcripción:

Clusters, Grids y Clouds: Uso e Impacto de Cómputo Distribuido en Bioinformática Jesús M. Castagnetto, Ph.D. Curso: Tópicos Selectos en Bioinformática y Biotecnología 29 30 de Marzo del 2010 Universidad Peruana Cayetano Heredia Lima, Perú

Agenda Problemas Complejidad molecular en Biología Complejidad algorítmica en Bioinformática Soluciones Sistemas distribuidos Clusters computacionales Grids computacionales Cómputo en la Nube (Cloud)

Problemas

Biología: La complejidad molecular de sistemas vivos Escala: tamaño, número y estructura tridimensional de biomoléculas. Interacciones: Entre estructuras y componentes, tipo de relación, mode de acción temporal, etc. Jerarquía y organización de las estructuras. Rutas y redes de interacción.

Biomoléculas De agua, a aminoácidos hasta un trozo de ADN y uno de proteína

Biomoléculas (2)... a una enzima

Biomoléculas (3)... y un virus

Biomoléculas (4)... y una bacteria

Biomoléculas (5)...hasta células de la sangre

Entendiendo el tamaño relativo de biomoléculas Si una proteína fuera del tamaño de un grano de arroz, una célula promedio mediría: 10 m x 10 m x 10 m Si una célula fuera del tamaño de un grano de arroz, la punta del dedo meñique mediría: 10 m x 10 m x 10 m

Biomoléculas en contexto Sección de la célula de E. coli Dibujo de David Goodsell (TSRI)

Áreas de estudio en Bioinformática (1) Investigación genómica (1D, 2D): Identificación de genes en un genoma Análisis de secuencias (similitud, distancia evolutiva, etc.) Dinámica de expresión de genes... etc.

Áreas de estudio en Bioinformática (2) Bioinformática estructural (3D): Análisis de estructuras (similitudes, cambios dinámicos, etc.) El plegamiento de proteínas (predicciones estructurales dada la secuencia) Relación de geometría a función... etc.

Áreas de estudio en Bioinformática (3) Estudios -ómicos (nd): Estructura y función de los conglomerados biomoleculares en una célula Redes de interacción y rutas de expresión Relación temporal-espacial de las interacciones Vías de comunicación y secuencias de reacción, etc.

Áreas de estudio en Bioinformática (4) Biología de Sistemas: Integrar los diferentes niveles de información disponibles, para llegar a un entendimiento total de como funcionan los sistemas biológicos, desde moléculas, hasta órganos, y aún mas allá.

Bioinformática estructural: Dimensión del problema Rediseñado una proteína pequeña (80 115 residuos): 10 combinaciones. Cambiar el centro (hidrófobo) de una 124 proteína promedio (170 residuos): 10 combinaciones. Poner cadenas secundarias en un esqueleto proteínico (2462 residuos): 1044 10 combinaciones. De: Looger, L.L. and Hellinga, H.W. J. Mol. Bio., 2001, 37, 429-445.

Crecimiento en el número y tamaño de estructuras

Soluciones

Hoy en día, necesitamos lidiar con información en cantidades masivas

Necesitamos usar múltiples herramientas para procesar este diluvio de los datos

No es posible el aprender a usar todas las herramientas y fuentes de datos BLAST Phylip UCSC In-Silico PCR Tree of Li Web Proje tolweb.org

... felizmente han habido cambios tecnológicos y filosóficos que ayudan ha hacer esto manejable

Nuevas tecnologías y modos de usarlas, que son críticas para el quehacer científico

Sistemas distribuidos Se busca coordinar a un grupo de computadoras físicamente separadas. Requieren métodos y software muy diferentes a los usados en sistemas centralizados. Pueden estar orientados a la realización de cómputos complejos, ofrecimiento de servicios, proceso de datos, etc.

Características de un sistema distribuido Transparente: el usuario no sabe que el sistema usa una arquitectura distribuida. Abierto: cada parte del sistema puede interactuar con las otras partes en forma directa y flexible. Escalable: el sistema debe de poder crecer para acomodar cambios en el número de usuarios, recursos, y procesos computacionales.

Desacoplamiento de componentes Disminuye y simplifica dependencias entre las partes. Hace poco probable la existencia de puntos de falla singular. Permite el reemplazo de partes sin afectar el funcionamiento del sistema. Requiere mas interacciones, y hace difícil el desacoplar problemas de comunicación o comportamiento

Tipos de sistemas distribuidos Clusters Grids Para el cómputo o manejo de datos masivo Uso de recursos geográficamente distribuidos Cloud y Servicios Web Recursos heterogéneos, en locaciones distintas, funcionando a través de protocolos estándar y desacoplados

Clusters computacionales (1) Grupo homogéneo o heterogéneo de computadoras. Interconexión de alta performance. Uno (o más) nodo(s) maestro(s), envía(n) el trabajo a los nodos de cómputo, y agregan los resultados.

Clusters computacionales (2) Usados en cálculos paralelizables. Cómputos que necesitan alta interacción entre resultados, no trabajan en forma óptima. Se pueden comprar o Hacerlo uno mismo.

Rocks Cluster http://www.rocksclusters.org/ Proyecto de SDSC/UCSD que permite la creación rápida y sencilla de clusters Múltiples paquetes pre-configurados (rolls) para Química, Bioinformática, etc. Puede usar nodos virtuales via Xen. Ganglia para el monitoreo de los nodos (Ej: http://meta.rocksclusters.org/ganglia/) Basado en CentOS

Clusters computacionales: Ejemplos de uso Simulaciones climatológicas Predicciones de movimientos sísmicos. Comparaciones de genomas completos. Modelos de comportamiento financiero. Render farms : Dreamworks SKG (Shrek, Shrek 2, Sinbad) Pixar (Toy Story, Monsters Inc., Finding Nemo) Weta (Lord of the Rings Trilogy)

Grid computacional (1) Compuesto de recursos de cómputo (clusters, supercomputadoras) y subsistemas que proveen una infraestructura de comunicación y manejo de tareas en forma distribuida.

Grid computacional (2) Permite compartir recursos a escala regional y nacional. Soporta un grupo heterogéneo de sistemas. Latencia en las comunicaciones es un factor crítico.

Globus Toolkit http://www.globus.org/toolkit/ Software libre para la construcción de grids. Usa WS como base. El de facto estándar para grids, otros se basan en él.

Grid computacional: Teragrid https://www.teragrid.org/ Proyecto de interconexión y cómputo de alta performance.

Grid computacional: BIRN http://www.birncommunity.org/ BIRN (Biomedical Informatics Research Network): Proyecto del NIH para proveer la infraestructura para trabajo distribuido y colaborativo en las ciencias biomédicas.

Grid computacional: BioGrid http://goc.pragma-grid.net/ Proyecto de PRAGMA (Pacific Rim Applications and Grid Middleware Assembly) Conecta bases de datos de interés biológico usando un formato común basado en XML. Desarrolla BioPfuga (Biosimulation Platform united on Grid Architecture), una plataforma para el acoplamiento de cálculos computacionales a través de los diferentes niveles de grid, y usando sistemas de computadoras heterogéneos.

Grid computacional: EELA-2 http://www.eu-eela.eu/ E-science grid facility for Europe and Latin America... EELA-2 aims at building a high capacity, production-quality, scalable Grid Facility, providing round-the-clock, worldwide access to distributed computing, storage and network resources needed by the wide spectrum of Applications from European Latin American Scientific Collaborations, with special focus on: Offering a complete set of versatile services fulfilling Applications requirements; Ensuring the long-term sustainability of the e-infrastructure beyond the term of the project...

Grid computacional: CPU Scavenging Seti@Home, Folding@Home, FightAIDS@Home

Grid Computacional: Datagrid http://eu-datagrid.web.cern.ch/eu-datagrid/... The objective is to build the next generation computing infrastructure providing intensive computation and analysis of shared large-scale databases, from hundreds of TeraBytes to PetaBytes, across widely distributed scientific communities... Productos incorporados en el EGEE (Enabling Grids for E-sciencE)

Cloud Computing Implica el usar recursos accesibles en internet para cálculos y procesos. Basado en gran parte en tecnologías Web (incluyendo Servicios Web). El paradigma es el de servicios como el que da la compañía de agua: abres el caño y sale el agua, simplemente funciona y lo hace a demanda.

Virtualización Permite usar con mayor eficiencia los recursos computacionales actuales. En un mismo servidor pueden tenerse máquinas virtuales homogéneas o heterogéneas. Se pueden usar como nodos en clusters, grids o clouds. Existen tecnologías abiertas y privativas.

OpenVZ http://openvz.org/ Ejecuta múltiples instancias aisladas de un sistema base. Sistema base y VMs tienen que ser Linux. Los parámetros de ejecución de la VM (CPU, RAM, espacio en disco), pueden ser modificados dinámicamente. Buen rendimiento y escalabilidad. Manejo masivo posible, pues la base puede ver todas las instancias.

KVM http://www.linux-kvm.org Kernel-based Virtual Machine: usa un módulo base de kernel y otro específico al procesador, y QEMU para manejar VMs. Permite que las VMs puedan correr diferentes sistemas operativos. Herramientas de manejo de línea de comandos y gráficas. Incluido en versiones de Linux para servidores (Ej. Ubuntu Linux Server)

Xen http://www.xen.org/ Una capa delgada de virtualización que funciona entre el hardware y el sistema operativo (paravirtualización) Permite múltiples SOs en las VMs. Múltiples herramientas de manejo y soporte comercial. Hay kernels pre-configurados con Xen. Rendimiento menor que OpenVZ o KVM.

VirtualBox http://www.virtualbox.org/ Virtualización para todos, y en desktop. Interfaz GUI para manejo de las VMs. Perfecto para probar nuevas distribuciones o cambios que pudieran afectar a nuestra configuración. El rendimiento y la escalabilidad no son tan buenos como las otras soluciones.

ConVirt http://www.convirture.com/ GUI para el manejo del ciclo de vida de las máquinas virtuales (Xen o KVM). Soporta el controlar múltiples servidores sin necesidad de uso de agentes, etc. Migración de VMs es fácil: drag-and-drop Creación de VMs usando plantillas. Consola integrada de manejo y estadísticas.

Proxmox VE http://pve.proxmox.com/ Manejo de múltiples maquinas virtuales, centralizado y via Web. Virtual Appliances (OpenVZ o KVM). Se puede hacer backup, restaurar, y migración en vivo (sin apagar la VM). Creación de clusters para el manejo de servidores de VMs: master con múltiples slaves

ovirt http://www.ovirt.org/ Un proyecto de tecnología emergente de RedHat Interfaz web para el manejo de las VMs. Imágen base (host) pequeña, puede correr desde USB drive, CDROM o via PXE. Permite manejo de múltiples servidores, así como de sistemas de almacenamiento. Agrupa las VMs en pools

OpenNebula http://www.opennebula.org/ Virtualización de infraestructura. Manejo dinámico de VMs: Xen, KVM, Amazon EC2 Integración con Haizea, Globus, etc. Parte del proyecto Reservoir (EU)

Hadoop http://hadoop.apache.org/ Proyecto de Apache de software libre que brinda computación confiable, escalable y distribuida. La base de muchos servicios comerciales (ej. Amazon WS), y de código libre. Usado tanto en el sector privado (AOL, Amazon, Facebook, etc.), como en el educativo y de investigación (ETH, Cornell University, etc.),

Eucalyptus http://www.eucalyptus.com/ Permite crear una Nube Privada (Private Cloud), tanto hosted con on-site. Servicio comercial, pagado y a demanda, o hazlo tu mismo (código libre, http://open.eucalyptus.com/) Computación compatible con Amazon EC2, y almacenamiento compatible con Amazon S3.

Enomaly http://www.enomaly.com/ Una plataforma para computación elástica (EPC) Versión comercial (que escala hasta 100,000+ nodos), y de código libre (que escala a ~ 10 nodos)

Amazon Web Services (1) S3 Simple Storage Service http://aws.amazon.com/s3/ EC2 Elastic Compute Cloud http://aws.amazon.com/ec2/ Public datasets http://aws.amazon.com/publicdatasets/ Ejemplo: Annotated Human Genome Data provided by ENSEMBL

Amazon Web Services (2) SimpleDB (non-relational) http://aws.amazon.com/simpledb/ VPC Virtual Private Cloud http://aws.amazon.com/vpc/ SQS Simple Queue Service http://aws.amazon.com/sqs/... etc.

La tendencia mundial no es vender cajitas con software

Es mejor ofrecer Software Como Un Servicio (SaaS)

Servicios Web: Tecnologías que permite la interconexión de aplicativos distribuidos

Podemos usar servicios web en almacenamiento masivo Amazon S3: Simple Storage Service S3 en Second Life Chicago Crime Maps

Nos posibilitan el integrar sistemas de búsqueda Google Search AP Google CSE

Incluyendo la integración de fuentes de información de forma simple y sofisticada igoogle Panoramio RSS + xfruits

Existen tecnologías que nos permiten agregar semántica a datos y procesos

Las mismas arquitecturas de sistemas están cambiando Service Oriented Architecture

Se han creado nuevos métodos para manejar esta tecnología

Existen directorios de Servicios Web ofrecidos Universal Description, Discovery and Integration http://www.xmethods.net/

Y formas de orquestrar el funcionamiento de servicios

Hasta control del flujo de trabajo científico en forma visual, modular y escalable http://www.kepler-project.org/ Sistemas Integrados para flujos de trabajo científicos Taverna http://taverna.sourceforge.net/

La web se ha convertido en una plataforma de desarrollo Yahoo! Pipes Real time traffic in San Francisco Zoom and Go Second Life

Cómo se está usando todo esto en Bioinformática?

NCBI (NIH): Integración de fuentes de datos

EMBL-EBI: Servicios Web Bioinformáticos

SDSC: SWAMI Plataforma de trabajo en línea para Biología Molecular http://www.ngbw.org/

Kepler: Flujos de trabajo científicos distribuidos Promotores en Biología Molecular Cálculo de la ecodiversidad

Tree of Life: Colaboración global entre biólogos http://tolweb.org/

Servicios de predicción de estructuras de proteínas

Una interfaz para búsqueda de flujos de trabajo http://www.google.com/coop/cse?cx=006491099109873764573%3ahtaex4vgqqg

Un mapa (parcial) de Servicios Web Bioinformáticos* * Brendan Vaughan, http://www.ebi.ac.uk/~bren/alberto_map.html

Y nosotros, como podemos usar estas tecnologías en nuestra investigación científica?

Aplicativos y datos tienden cada vez más hacia sistemas globales y abiertos Usemos Sistemas Abiertos, y aprendámos de ellos

No nos dejemos abrumar por el tsunami de datos Integradores de información nos ayudan a ver lo relevante

Estas son tecnologías que nos abren nuevas puertas y haces accesible lo que antes no era

Gracias! Jesús M. Castagnetto jesus@upch.pe jesus@upch.edu.pe