390 likes | 488 Views
Perspectivas de la Computación Científica . Clusters , Grids y Clouds . Desarrollos y retos. Raúl Ramos Pollán Universidad Nacional de Colombia.
E N D
Perspectivas de la Computación Científica. Clusters, Grids y Clouds. Desarrollos y retos Raúl Ramos Pollán Universidad Nacional de Colombia
“La Ciencia e Ingeniería Basada en la Simulación ha alcanzado hoy día un nivel de capacidad predictiva que complementa sólidamente los pilares tradicionales de teoría, experimentación y observación … Muchas tecnologías críticas … están en un horizonte que no pueden ser entendidas, desarrolladas o usadas sin simulación por computador”. Computación Científica http://www.wtec.org/sbes/
Algoritmos/Aplicaciones Computación Científica Datos Infraestructura de cómputo Recurso humano/ Comunidades científicas
Descomposición en elementos finitos Aplicaciones – Fine grained parallelism Predicción climática Docking de proteínas
Particiones de datos Aplicaciones – Coarse grained parallelism Data scans / aggregations / summaries Summatory query form over data Logs processing, index generation Map/reduce, Hadoop Simulación Montecarlo
Generate configurations Barridos de parámetros (ejemplo Stellerator TJ-II en la Grid) AplicacionesCoarse computation for fine grained parallelism Simulate device conf 1 Simulate device conf 2 Simulate device …. Simulate device conf n Evaluate configurations
Naturaleza de los algoritmos Paralelización de algoritmos
Recurso computacional disponible (GPUs, Cluster, Grids, Clouds, …) Topología interconexión unidades de cómputo Estrategias para explotar recursos computacionales Por paralelización intrínseca del algoritmo Por barrido de parámetros Por partición de datos Paralelización de algoritmos
Procesamiento de imágenes operaciones en regiones (i.e. contraste) Ejemplos de algoritmos and perform n iterations
Particionamiento no trivial por algoritmo (otra estrategia por datos para muchas imágenes, pero cada una tiene que caber en memoria) Ejemplos de algoritmos
Particionamiento no trivial Ejemplos de algoritmos
Paralelización de KMeans … … • Paralelizar asignación y el cálculo • de la media para cada centroide …
Ley de Amdahl N: Núm. nodos paralelos P: Proporción paralelizable del código S(N): speedup máximo Escalabilidad
Clusters Supercomputadores Clouds Grids GPUs Computación oportunista Infraestructuras de computación
Planificación de tareas Batch jobs Sistema compartido de archivos Fast inter-networking for inter-process communication Clusters Shared storage
Planificación de tareas Batch jobs Memoria compartida Procesos multi-nodo Supercomputadores
Redes de datacenters Particiones de procesos independientes Heterogéneos Federación vs distribución Middleware propio Grids
Desacoplamiento infraestructura física Modelo de cómputo no fijo: IaaS, PaaS, SaaS Clouds
Sobre recursos no propios Computación voluntaria, labs de escuelas, etc. Computación oportunista
Computación matricial Procesadores simples y masivos GPUs
Colecciones de datos Adquisición de datos Colisiones LHC, secuenciaciones, digitalizaciones, bancos de imágenes, mapas Datos científicos
Orígenes Distribución Estándares y formatos Propiedad y responsabilidades Datos científicos
Orígenes Distribución Estándares y formatos Propiedad y responsabilidades Datos científicos
manejo de datasets de tamaño >> capacidad de las herramientas tradicionales de bases de datos según la tecnología avanza con el tiempo, el tamaño de los conjuntos de datos a los que denomina el término también crecerán, si cabe, a un aún ritmo mayo Requiere nuevo modelo (no sirven BBDD tradicionales, paquetes estadísticos/visualización desktop) Objetivo Escalabilidad «trivial» Big Data
Expresividad SQL vs. Escalabilidad Tablas: filas de keys + lista no fija de columnas/valores Operaciones simples: Scan por key Acceso directo por key Transacciones mínimas (check&put) No joins, no SQL language Big table, Hbase, DynamoDB, Azure, Cassandra, etc. Bases de datos NoSQL
La GenteCientíficosIngenierosProgramadoresGestores de proyectoAdministrativos
Conclusión 1: El mundo de la computación es plano, cualquiera puede acceder. Lo que nos distinguirá del resto del mundo es nuestra habilidad para hacerlo mejor y explotar las nuevas arquitecturas que desarrollamos antes de que dichas arquitecturas sean universalmente usadas. Conclusión 2: La educación y formación inadecuadas de la siguiente generación de científicos computacionales amenaza el crecimiento global de la Ciencia e Ingeniería Basadas en Simulación. Esto es particularmente urgente [...]; a no ser que preparemos a los investigadores para desarrollar y usar la próxima generación de algoritmos y arquitecturas de computadores, no seremos capaces de explotar sus capacidades para cambiar las reglas del juego. Formación multidisciplinar http://www.wtec.org/sbes/
Código sucio o poco estructurado Falta de documentación Escenarios y Retos Arquitecturas de software y datos espontáneas Código mezclado (paralelo, seq, …) Procesos de desarrollo informal Comunidades científicas tradicionales Procesos de desarrollo informal
Grid? Cloud? Modificar algoritmos? Decisiones Adaptarse al hardware disponible? Me dedico a otra cosa? Contribuir al software? Duplico datasets? Comunidad científica? Comprar hardware? GPU?
Mantener hardware es caro SOLOS NO SOMOS NADA Portar aplicaciones es caro Criterios científicos, técnicos y organizacionales Cambios generacionales
Medir el alcance del sw/hw disponible A corto plazo Medir recurso humano disponible Afinar objetivos y esfuerzo Adaptar objetivos científicos a posibilidades
Construir equipos multidisciplinares Actualizar programas de capacitación (BSc Msc PhD) A medio/largo plazo Generar frameworks y modelos de computación Cultura HPC en la ciencia y Cultura científica en ingeniería Generar frameworks y modelos de computación Iniciar procesos de planificación de software Regeneración generacional Estrategias transnacionales
EL USO DEL CÓMPUTO CIENTÍFICO ES INEVITABLE Conclusiones La computación científica es un reto tecnológico, científico y organizacional Científicos e ingenieros computacionales se necesitan mutuamente equipos multidisciplinares Tecnología vs. Modelos de computación vs. Disponibilidad de recursos (humanos + técnicos) Conciliar estrategias a corto, medio y largo plazo CAMBIO DE PARADIGMA EVITAR OBSOLESCENCIA