Anda di halaman 1dari 74

HPC en Bioinformtica

PROFESOR INTEGRANTES : : OSCAR MAGNA GERARDO ARAYA DIEGO CONTRERAS DAVID FUENTEALBA JAIME GUARDA TALO MIRANDA CRISTBAL VARELA

Introduccin
La Biotecnologa es la aplicacin de tecnologas de computadores a la gestin de anlisis de datos biolgicos. A finales de la poca de los aos 50, el desarrollo de esta rea comenz a tomar importancia y progresivamente al paso de los aos el rea de la informtica y la biologa fueron evolucionando de la mano. La informtica ha servido para investigar y desarrollar sistemas tiles para entender el flujo de informacin de los genes a las estructuras moleculares, su funcin bioqumica, su conducta biolgica y, finalmente, si influencia en las enfermedades y en la salud. Como esta cantidad de informacin es muy densa, hoy en da se ha requerido a la computacin paralela, permitindonos as su manejo completo. El ejemplo mas claro es el genoma humano que se ha podido descifrar a base de plataformas computacionales.

Bioinformtica

Definicin (ms sencilla): Aplicacin de tecnologa de computadores a la gestin y anlisis de datos biolgicos. Algunos de los principales esfuerzos de investigacin:

Alineamiento de secuencias
La prediccin de genes Montaje del genoma Alineamiento estructural de protenas

Prediccin de estructura de protenas


Prediccin de la expresin gnica Interacciones protena-protena Modelado de la evolucin

Computacin de altas prestaciones en Bioinformtica

Computacin de Altas Prestaciones

Computacin de Altas Prestaciones

reas de aplicacin:

Modelado predictivo y simulacin:

Previsin meteorolgica numrica y la oceanografa.

Desarrollo industrial:

Inteligencia artificial y automatizacin.

Bioinformtica:

Tomografa asistida, diseo de corazones artificiales, diagnstico heptico, estimacin de daos cerebrales y estudios de ingeniera gentica.

Entornos Paralelos: Cluster, Grid y Cloud Computing

Cluster

Cluster
Ventajas

Desventajas

Alto rendimiento Alta disponibilidad Alta eficiencia

Mala escalabilidad para aplicaciones transaccionales Administracin

Escalabilidad

Seguridad

Cluster en bioinformtica

Cluster de bioinformtica Nelly


Universidad de Costa Rica

Grid Computing

Grid Computing

Ventajas

Desventajas

Mecanismo de colaboracin transparente Funcionamiento de aplicaciones a gran escala Acceso a recursos distribuidos desde nuestros PC

Recursos heterogneos Necesidad de desarrollo de aplicaciones para manejar el grid Comunicacin Econmicas

Grid Computing en bioinformtica

IRISGrid o RedIRIS

Cloud Computing

Cloud Computing

Ventajas

Desventajas

Integracin probada de servicios Red Prestacin de servicios a nivel mundial Implementacin ms rpida y con menos riesgos Actualizaciones automticas Contribuye al uso eficiente de la energa

Centralizacin de las aplicaciones Disponibilidad Confiabilidad de servicios} Seguridad

Escalabilidad a largo plazo

Cloud Computing en bioinformtica

Herramienta bioinformtica para el analisis de genomas

Modelos y lenguajes de programacin paralela


ESTOS HAN SIDO CREADOS PARA LA PROGRAMACIN DE COMPUTADORES PARALELOS. GENERALMENTE SE PUEDEN DIVIDIR EN CLASES BASADAS EN LAS SUPOSICIONES QUE SE HACEN SOBRE LA ARQUITECTURA DE MEMORIA SUBYACENTE: COMPARTIDA, DISTRIBUIDA, O COMPARTIDA-DISTRIBUIDA, TAMBIN CONOCIDA COMO HIBRIDO. LOS LENGUAJES DE PROGRAMACIN DE MEMORIA COMPARTIDA SE COMUNICAN MEDIANTE LA MANIPULACIN DE VARIABLES EN LA MEMORIA COMPARTIDA.
MIENTRAS EN LA ARQUITECTURA CON MEMORIA DISTRIBUIDA SE UTILIZA EL PASO DE MENSAJES.

POSIX THREADS Y OPENMP SON DOS DE LAS API MS UTILIZADAS CON LA MEMORIA COMPARTIDA, MIENTRAS QUE MESSAGE PASSING INTERFACE (MPI) INTERFAZ DE PASO DE MENSAJES ES EL API MS UTILIZADO EN LOS SISTEMAS DE PASO DE MENSAJES.

Pthreads
Este es un lenguaje tambin llamado Poxisthreads que consisten en paralelismos de programas , este comparte memoria fsica, quiere decir que trabaja con el metodo de memoria compartida y tienen un funcionamiento parecido al de OpenMP. Este es una biblioteca que cumple los estndares POSIX y que nos permite trabajar con distintos hilos de ejecucin (threads) al mismo tiempo. sta viene en la mayora de distribuciones Linux, y para compilar este primero se deben instalar las libreras correspondientes

OpenMP
Es un modelo de programacin portable y escalable que proporciona a los programadores una interfaz simple y flexible para el desarrollo de aplicaciones paralelas para las plataformas que van desde las computadoras de escritorio hasta las supercomputadoras. Permite aadir concurrencia a los programas escritos en C, C++ y Fortran sobre la base del modelo de ejecucin fork-join. Se compone de un conjunto de directivas de compilador, rutinas de biblioteca, y variables de entorno que influyen el comportamiento en tiempo de ejecucin.

Caractersticas

El compilador es quien paraleliza el cdigo. Debe ser asistido por directivas dadas por el programador. OpenMP permite escribir aplicaciones mltiple-hilos (multi-threads). Evitando programarlos de manera directa. La paralelizacin se especifica mediante: Un conjunto de directivas. Algunas funciones de biblioteca. Unas cuantas variables de entorno.

Se programa de manera muy semejante tanto en C/C++ como en Fortran


Un hilo maestro genera un conjunto de hilos al entrar en una zona paralela Al salir, los hilos hijos terminan, y continua la parte secuencial. Generalmente el paralelismo se aade incrementalmente a un programa secuencial.

MPI
Fue creado en 1993 como estndar abierto por fabricantes y usuarios de sistemas paralelos. Cada fabricante implementa MPI para su sistema. Tambin existen implementaciones de cdigo de fuente abierta. Lo que permiti el desarrollo de sistemas paralelos de bajo costo.

Caractersticas

Interfaz genrica que permite una implementacin optimizada en cualquier sistema paralelo. Es una biblioteca que incluye interfaces para Fortran, C y C++.

Define varias formas de comunicacin. Lo que permite programar naturalmente cualquier algoritmo paralelo.

Map Reduce
Modelo de arquitectura de programacin propuesto por Google. En este modelo, todo proceso de computacin se divide en dos grandes fases: fase map y fase reduce. Cada fase trabaja con datos del tipo clave/valor tanto de entrada como de salida. La fase map genera un conjunto intermedio de pares claves/valor que durante la fase reduce se mezclan y combinan teniendo en cuenta los elementos que comparten la misma clave. Muchos de los problemas computacionales actuales para el procesado de grandes volmenes de datos pueden ser fcilmente expresados en los trminos de este modelo. A raz de la publicacin del trabajo de Google, han surgido diferentes implementaciones libres del modelo MapReduce. Una de ellas es Hadoop.

Ejemplos de aplicacin de bioinformtica paralela

Ensamblaje y mapeo de secuencias

Todas las tecnologas de secuenciacin producen fragmentos ms o menos cortos y a partir de estos se debe recomponer la secuencia del fragmento analizado, por ejemplo el de un genoma. Este proceso se denomina proyecto de secuenciacin.

Esquema 1

Diferencia entre ensamblaje y mapeo

Hablamos de ensamblaje cuando a partir de la informacin de un grupo de secuencias reconstruimos la secuencia del fragmento localizado.

Ejemplo: Secuenciacin de ADN ya sea de genomas, transcriptomas o clones

Hablamos de mapeo cuando tenemos que ordenar las secuencias por su posicin en el fragmento pero conocemos la secuencia que debemos de obtener.

Ejemplo: Proyectos de resecuenciacin.

Esquema 2

Ensamblaje de secuencias
El proceso de ensamblaje consta de tres fases:

Limpieza de secuencias Alineamiento de secuencias Ensamblaje.

Esquema 3

Limpieza
Es el primer paso a realizar ante cualquier proyecto de secuenciacin. Los secuenciadores devuelven las secuencias crudas y es necesario eliminar o bloquear diferentes regiones que:

Contengan bases con mala calidad de lectura


Contengan bases que pertenezcan a vectores o adaptadores Contengan bases que estn altamente repetidas (secuencias simples o elementos transponibles)

Alineamiento de secuencias
Se alinean todas las secuencias con todas las secuencias dos a dos para identificar que secuencias solapan entre si.

Ensamblaje de secuencias
A partir de estos grafos realizados con las secuencias identificadas que comparten regiones comunes

ClustalX
Es un programa de propsito general para el alineamiento de secuencias mltiples de ADN o protenas.

Produce alineamientos mltiples de secuencias en secuencias divergentes. Calcula el mejor emparejamiento de las secuencias seleccionadas las alinea de forma que se aprecian los fragmentos idnticos, similares y diferentes.

TreeView
TreeView es un sencillo programa para la visualizacin de las filogenias de Apple Macintosh y Windows PC

Grandes desafos en el manejo de datos biolgicos

Nociones

Formato Fasta: Ficheros que contienen largas secuencias de nucletidos (ADN, ARN, etc.), se componen por las combinaciones de las iniciales de estos. El anlisis de estos patrones entregan informacin valiosa de la localizacin por ejemplo de los genes.

Nociones

Ejemplo de cadena en formato FASTA (ADN)

Grandes Desafos en el Manejo de Datos Biolgicos


Definicin de Bioinformtica Algunos de los principales esfuerzos:

Anlisis paralelo de secuencias

Alineamiento de secuencias
La prediccin de genes Montaje del genoma Alineamiento estructural de protenas

Prediccin de estructura de protenas


Prediccin de la expresin gnica Interacciones protena-protena Modelado de la evolucin

Grandes Desafos en el Manejo de Datos Biolgicos


Anlisis paralelo de Secuencias de ADN: Para el caso del ADN, tenemos que este se compone por:
-

Citosina (C) => 01 Guanina (G) Timina (T) Adenina (A) => 10 => 11 => 00

De esto se desprende que tenemos una palabra de k=4, a buscar en la cadena obtenida en el formato FASTA

Grandes Desafos en el Manejo de Datos Biolgicos

Anlisis paralelo de Secuencias de ADN:

Grandes desafos en el manejo de los datos biolgicos


Alineamiento de Secuencias: Un alineamiento de secuencias en bioinformtica es una forma de representar y comparar dos o ms secuencias o cadenas de ADN, ARN, o estructuras primarias proteicas para resaltar sus zonas de similitud, que podran indicar relaciones funcionales o evolutivas entre los genes o protenas consultados.

Grandes desafos en el manejo de los datos biolgicos

Alineamiento de secuencias:

Grandes desafos en el manejo de datos biolgicos


Biologa Evolutiva Computacional: La Biologa evolutiva es el estudio del origen ancestral de las especies, as como de su cambio a travs del tiempo. La informtica ha apoyado a los bilogos evolutivos en diferentes campos clave. Ha permitido a los investigadores:

Seguir la evolucin de un alto nmero de organismos midiendo cambios en su ADN, en lugar de hacerlo exclusivamente mediante su taxonoma fsica u observaciones fisiolgicas.

Ms recientemente, comparar genomas completos, lo que permite el estudio de eventos evolutivos ms complejos, tales como la duplicacin de genes, la transferencia horizontal de genes, o la prediccin de factores significativos en la especiacin bacteriana.
Construir modelos computacionales complejos de poblaciones para predecir el resultado del sistema a travs del tiempo.

Problema de la gestin de datos en la Bioinformtica


Costos. Complejidad de los Algoritmos. Tamao creciente de datos. Bases de Datos Descentralizadas.

Sistemas de archivos distribuidos


ES UN SISTEMA DE ARCHIVOS DE COMPUTADORAS QUE SIRVE PARA COMPARTIR ARCHIVOS, IMPRESORAS Y OTROS RECURSOS COMO UN ALMACENAMIENTO PERSISTENTE EN UNA RED DE COMPUTADORAS.

Sistemas de archivos distribuidos NFS (Network File System)

Permite compartir datos entre varios computadores de una forma sencilla. Es un sistema de archivos distribuido para un entorno de red de rea local. Posibilita que distintos sistemas conectados a una misma red accedan a ficheros remotos como si se tratara de locales. Su objetivo es soportar un sistema heterogneo en donde los clientes y servidores podran ejecutar distintos S.O., por ello es esencial que la interfaz entre los clientes y los servidores este bien definida. EJEMPLO: un usuario validado en una red no necesitar hacer login a un ordenador especifico: via NFS, acceder a su directorio personal en la maquina que est trabajando

pNFS (Parallel NFS)

Es un sistema estndar de archivos creado por Internet Engneering Task Force para mejorar el rendimiento y la escabilidad del sistemas de archivos de red original.

Permite la transferencia directa de archivos desde y hacia clientes pNFS, lo que permite mltiples clientes acceder a los datos al mismo tiempo.

DFS (Distributred File System)


Es un componente de red del servidor que facilita la forma de encontrar y manejar datos en la red. Este sistema de archivos solo se puede instalar sobre Windows Server (versin 2000, 2003 y 2008). DFS facilita la construccin de una nica vista jerrquica de mltiples servidores de archivos. En vez de ver una red fsica compuesta por decenas de servidores de los usuarios vern unos pocos directorios lgicos que incluyen todos los servidores y carpetas compartidas. Cada carpeta compartida aparecer en el lugar lgico que le corresponde en el directorio, sin importar en que servidor se encuentra, proporciona una estructura de rbol lgico para los recursos del sistema de archivos que pueden estar en cualquier lugar de la red.

DFS

DFS Lustre
Es

un sistema de archivos distribuidos Open Source, utilizados en clusters a gran escala.

PVFS (Parallel Virtual File System)


Es un sistema de ficheros paralelo que proporciona alta eficiencia y escalabilidad. Su diseo se centra en clusters Linux, en los que proporciona un gran ancho de banda en las operaciones de lectura y escritura concurrentes realizadas desde mltiples procesos o hilos a un fichero comn.

Caracteristicas PVFS

Transparencia para el usuario Distribucin fsica de los datos Fcil instalacin. Posee mltiples interfaces

Bases de datos Distribuidas

Es un conjunto de mltiples bases de datos lgicamente relacionadas las cuales se encuentran distribuidas en diferentes espacios lgicos (pej. un servidor corriendo 2 mquinas virtuales) e interconectados por una red de comunicaciones.

Bases de datos Distribuidos En Oracle

Es un sistema de bases distribuido que soporta aplicaciones que acceden a datos de bases locales y remotas en la que el servidor de Oracle acta como cliente cuando solicita datos que administra otro servidor de base de datos Oracle

Bases de Datos Distribuidos en HBASE

HBase es una base de datos distribuida que permiteescalar casi linealmente con simplemente agregar ms servidores alsistema. Para esto HBase puede utilizar opcionalmente una tecnologallamada HDFS (HadoopDistributed File System) que bsicamente es elanlogo del GFS (Google File System), que no es ms que un fichero dearchivos distribuidos.

NAMD y VMD: El Microscopio Computacional

NAMD

NAMD, (Not (just) Another Molecular Dynamics program, (No es (slo) Otro programa de Dinmica Molecular) es un cdigo para dinmica molecular en paralelo, diseado para simulaciones de alto desempeo de sistemas biomoleculares. Es escalable a cientos de procesadores en plataformas de punta, y decenas de procesadores en cmodos clster usando Ethernet gigabit.

Usa el programa de presentacin grfica molecular VMD para la configuracin de la simulacin y anlisis de trayectorias.
NAMD es ganador de un premio Gordon Bell en 2002.

VMD
VMD (Visual Molecular Dynamics) es la interfaz grafica de NAMD. Fue principalmente desarrollado como una herramienta para ver y analizar los resultados de las simulaciones de dinmica molecular, pero tambin incluye herramientas para trabajar con datos de volumen, secuencias y objetos grficos arbitrarios como conos, cilindros o esferas.

Permite visualizacin y anlisis de: -Simulaciones de dinmica molecular -Clculos de qumica cuntica -Sistemas de partculas y clulas completas -Datos de la secuencia -Datos volumtricos

Cmo trabaja VMD?

Posee una amplia gama de herramientas de modelado: AMBER, CHARMM entre otros. Compatible con los tipos de datos clave, formatos de archivo y bases de datos, por ejemplo, microscopa electrnica, cuntica qumica, trayectorias MD, secuencia de alineaciones, sper microscopio ptico.

Incorpora herramientas para la preparacin de la simulacin, visualizacin y anlisis.

Dinmica molecular

Aumentos continuos en la tecnologa de computacin de alto rendimiento han expandido rpidamente el mbito de la simulacin biomolecular.

Estos sistemas comprenden habitualmente 100.000 tomos, y varias simulaciones NAMD han superado 1.000.000 de tomos.
Uno de los clculos que ms tiempo toma, en simulacin molecular es la evaluacin de las fuerzas entre los tomos que no comparten lazos. El alto grado de paralelismo y la capacidad aritmtica de punto flotante de las GPU pueden alcanzar niveles de rendimiento veinte veces mayor que la de un solo ncleo de CPU.

Uso de NAMD

Dirigirse a la carpeta que contenga los archivos para la simulacin (PSF; PDB; archivos de parmetros y scripts). Llamar al programa y ejecutarlo con el numero de nodos que se crea necesario.

Caso de estudio con NAMD

La enfermedad de Alzheimer se caracteriza por la progresiva prdida de memoria lo cual lleva gradualmente a una incapacidad mental total y a una perdida completa de la independencia. Esto debido a la produccin de lesiones neuropatolgicas que se manifiestan como depsitos localizados. Estas lesiones se constituyen entre otros, de pptidos -amiloide (placas de -amiloide).

Efectos de la aplicacin de un script para la minimizacin de energa sobre la fibra amiloide.


La figura corresponde a una representacin grafica de la estructura de la fibra amiloide, visualizada a travs del programa VMD. En (A) se observa la estructura inicial la cual fue sometida a un protocolo de minimizacin de energa. En (B) se observa a la fibra -amiloide luego de una simulacin de 5 fentosegundos (2000 pasos), realizados por el software NAMD en el CEMCC de la UFRO.

Efectos

de la aplicacin de un script que simula el efecto del aumento de temperatura sobre la fibra amiloide en diversos solventes.

La figura corresponde a una representacin grafica de la fibra amiloide visualizada a travs del programa VMD. Las simulaciones corresponden a un aumento de la temperatura desde 0 a 100 C.

En (A) y (B) se observa la estructura inicial la cual fue solvatada y sometida a un protocolo de simulacin. En (C) y (D) se observa la fibra amiloide luego de una simulacin de 5 fentosegundos (2000 pasos). Las simulaciones fueron realizadas en el software NAMD en el clster del CEMCC de la UFRO.

La caracterizacin estructural de estas fibras es un paso central hacia la comprensin de los mecanismos que dominan la formacin y estabilidad estructural de estos agregados, y posiblemente hacia la prevencin de la formacin de amiloides, es decir la prevencin de la enfermedad.

Aceleracin de GPU de aplicaciones de modelado molecular

Unidades de procesamiento grfico (GPU modernas) contienen cientos de unidades aritmticas que pueden aprovecharse para ofrecer una tremenda aceleracin para aplicaciones cientficas numricamente intensivos, tales como el modelado molecular. El aumento de las capacidades y la flexibilidad de hardware GPU reciente junto con los lenguajes de programacin de GPU de alto nivel tales como CUDA y OpenCL ha desbloqueado este poder computacional y lo hizo accesible a los cientficos computacionales.

Suma Coulomb Multi-GPU

As como la computacin cientfica puede hacerse en grupos compuestos por un gran nmero de ncleos de la CPU, en algunos casos, los problemas se pueden descomponer y se ejecutan en paralelo en mltiples GPU dentro de una sola mquina host, logrando niveles ms altos de rendimiento.

Uno de los inconvenientes de la utilizacin de CPUs multi-core para la computacin cientfica ha sido la limitada cantidad de ancho de banda de memoria disponible para cada socket de la CPU, a menudo limitando severamente el rendimiento.
Recientemente este problema se ha agravado an ms desde que el ancho de banda disponible para cada socket de la CPU no ha seguido el ritmo de la creciente cantidad de ncleos de CPU actual. Las GPUs contienen su propia memoria de alto rendimiento, el ancho de banda de memoria disponible. Esta propiedad puede permitir que un solo sistema de cdigos multi-GPU permita escalar mucho mejor que sus contrapartes de varios ncleos basados en la CPU.

Suma Coulomb Multi-GPU

Suma Coulomb Multi-GPU

Datos paralelos y problemas de ancho de banda intensivo de memoria suelen ser excelentes candidatos para dicha ampliacin rendimiento multiGPU.

El algoritmo de suma de Coulomb directa implementado en VMD es un caso ejemplar para la aceleracin multi-GPU.
La eficiencia de escala para la suma directa a travs de mltiples GPUs es casi perfecto - el uso de 4 GPUs entrega rendimiento casi exactamente a 4X. Una sola GPU evala hasta 39 mil millones de potenciales tomos por segundo y la realizacin de 290 GFLOPS de aritmtica de punto flotante. Con el uso de cuatro GPU, aumenta el rendimiento total de 157 mil millones de potenciales tomos por segundo y 1.156 TFLOPS de la aritmtica de punto flotante, para un aumento de velocidad de multi-GPU de 3,99 y una eficacia de escala de 99,7%. Para igualar este nivel de rendimiento con CPUs, se necesitaran cientos de ncleos de CPU, as como su cableado auxiliar, potencia y refrigeracin.

Grupo de Biofsica Terica y Computacional (TCB) y el Laboratorio de Programacin Paralela (PPL)

Desarrolladores de NAMD y VMD. Su clster cuenta con las siguientes caractersticas:

Carga mxima: 47.5 Teraflops.


Arquitectura: Clster DELL PowerEdge Xeon con aceleracin NVIDIA Tesla. Total de CPUs: 1536 CPUs, 384 GPUs.

Memoria total: 3072 Terabytes.

Anda mungkin juga menyukai