Perspectivas de la Computación Científica. Clusters, Grids...
Transcript of Perspectivas de la Computación Científica. Clusters, Grids...
Universidad Nacional, Bogotá, Enero 2013
Computación científica
1
Perspectivas de la Computación Científica. Clusters, Grids y Clouds. Desarrollos y retosRaúl Ramos PollánUniversidad Nacional de Colombia
Universidad Nacional, Bogotá, Enero 2013
Computación científica
2
Computación Científica
“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”.
http://www.wtec.org/sbes/
Universidad Nacional, Bogotá, Enero 2013
Computación científica
3
Computación Científica
Algoritmos/Aplicaciones
Infraestructura de cómputo
Recurso humano/ Comunidades científicas
Datos
Universidad Nacional, Bogotá, Enero 2013
Computación científica
4
Aplicaciones – Fine grained parallelism
Descomposición en elementos finitos
Predicción climáticaDocking de proteínas
Universidad Nacional, Bogotá, Enero 2013
Computación científica
5
Aplicaciones – Coarse grained parallelism
Simulación Montecarlo
Particiones de datos
Data scans / aggregations / summaries
Summatory query form over data
Logs processing, index generation �
Map/reduce, Hadoop
Universidad Nacional, Bogotá, Enero 2013
Computación científica
6
AplicacionesCoarse computation for fine grained parallelism
Barridos de parámetros
(ejemplo Stellerator TJ-II en la Grid)
Simulate
device
conf 1
Simulate
device
conf 2
Simulate
device
….
Simulate
device
conf n
Generate
configurations
Evaluate
configurations
Universidad Nacional, Bogotá, Enero 2013
Computación científica
7
Paralelización de algoritmos
• Naturaleza de los algoritmos
Universidad Nacional, Bogotá, Enero 2013
Computación científica
8
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
Universidad Nacional, Bogotá, Enero 2013
Computación científica
9
Ejemplos de algoritmos
Procesamiento de imágenes � operaciones en regiones (i.e. contraste)
� �and perform n iterations
Universidad Nacional, Bogotá, Enero 2013
Computación científica
10
Ejemplos de algoritmos
Particionamiento no trivial � por algoritmo
(otra estrategia � por datos para muchas imágenes, pero cada una
tiene que caber en memoria)
Universidad Nacional, Bogotá, Enero 2013
Computación científica
11
Ejemplos de algoritmos
Particionamiento no trivial
Universidad Nacional, Bogotá, Enero 2013
Computación científica
12
Paralelización de KMeans
� Paralelizar asignación y el cálculo de la media para cada centroide
…
…
…
Universidad Nacional, Bogotá, Enero 2013
Computación científica
15
Escalabilidad• Ley de Amdahl
N: Núm. nodos paralelos P: Proporción paralelizable del código S(N): speedup máximo
Universidad Nacional, Bogotá, Enero 2013
Computación científica
16
Infraestructuras de computación
• Clusters
• Supercomputadores
• Clouds
• Grids
• GPUs
• Computación oportunista
Universidad Nacional, Bogotá, Enero 2013
Computación científica
17
Top500, distribución histórica (www.top500.org)
Universidad Nacional, Bogotá, Enero 2013
Computación científica
18
Top500, distribución histórica (www.top500.org)
Universidad Nacional, Bogotá, Enero 2013
Computación científica
19
Clusters• Planificación de tareas � Batch jobs
• Sistema compartido de archivos
• Fast inter-networking for inter-process communication
Shared storage
Universidad Nacional, Bogotá, Enero 2013
Computación científica
20
Supercomputadores• Planificación de tareas � Batch jobs
• Memoria compartida
• Procesos multi-nodo
Universidad Nacional, Bogotá, Enero 2013
Computación científica
21
Grids• Redes de datacenters
• Particiones de procesos independientes
• Heterogéneos
• Federación vs distribución
• Middleware propio
Universidad Nacional, Bogotá, Enero 2013
Computación científica
22
Clouds
• Desacoplamiento infraestructura física
• Modelo de cómputo no fijo: IaaS, PaaS, SaaS
Universidad Nacional, Bogotá, Enero 2013
Computación científica
23
Computación oportunista
• Sobre recursos no propios
• Computación voluntaria, labs de escuelas, etc.
Universidad Nacional, Bogotá, Enero 2013
Computación científica
24
GPUs
• Computación matricial
• Procesadores simples y masivos
Universidad Nacional, Bogotá, Enero 2013
Computación científica
25
Datos científicos
• Colecciones de datos
• Adquisición de datos
• Colisiones LHC, secuenciaciones, digitalizaciones, bancos
de imágenes, mapas
Universidad Nacional, Bogotá, Enero 2013
Computación científica
26
Datos científicos
• Orígenes
• Distribución
• Estándares y formatos
• Propiedad y responsabilidades
Universidad Nacional, Bogotá, Enero 2013
Computación científica
27
Datos científicos
• Orígenes
• Distribución
• Estándares y formatos
• Propiedad y responsabilidades
Universidad Nacional, Bogotá, Enero 2013
Computación científica
28
Big Data
• 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»
Universidad Nacional, Bogotá, Enero 2013
Computación científica
29
Bases de datos NoSQL
• 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.
Universidad Nacional, Bogotá, Enero 2013
Computación científica
31
La GenteCientíficosIngenieros
ProgramadoresGestores de proyecto
Administrativos
Universidad Nacional, Bogotá, Enero 2013
Computación científica
32
Formación multidisciplinar
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.
http://www.wtec.org/sbes/
Universidad Nacional, Bogotá, Enero 2013
Computación científica
33
Escenarios y Retos
Código sucio o poco estructurado
Falta de documentación
Procesos de desarrollo informal
Procesos de desarrollo informal
Arquitecturas de software y datos
espontáneas
Comunidades científicas tradicionales
Código mezclado (paralelo, seq, …)
Universidad Nacional, Bogotá, Enero 2013
Computación científica
34
DecisionesCloud? Grid?
GPU?
Modificar algoritmos?
Contribuir al software?
Comprar hardware?
Adaptarse al hardware
disponible?
Duplico datasets?
Comunidad científica?
Me dedico a otra cosa?
Universidad Nacional, Bogotá, Enero 2013
Computación científica
35
SOLOS NO SOMOS NADA
Mantener hardware es caro
Portar aplicaciones es caro
Criterios científicos, técnicos y organizacionales
Cambios generacionales
Universidad Nacional, Bogotá, Enero 2013
Computación científica
36
A corto plazo
Medir el alcance del sw/hw disponible
Medir recurso humano disponible
Afinar objetivos y esfuerzo
Adaptar objetivos científicos a posibilidades
Universidad Nacional, Bogotá, Enero 2013
Computación científica
37
A medio/largo plazo
Construir equipos multidisciplinares
Cultura HPC en la ciencia y Cultura científica en ingeniería
Iniciar procesos de planificación de software
Regeneración generacional
Actualizar programas de capacitación (BSc Msc PhD)
Generar frameworks y modelos de computación
Generar frameworks y modelos de computación
Estrategias transnacionales
Universidad Nacional, Bogotá, Enero 2013
Computación científica
38
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
EL USO DEL CÓMPUTO CIENTÍFICO ES INEVITABLE
CAMBIO DE PARADIGMA ���� EVITAR OBSOLESCENCIA