Perspectivas de la Computación Científica. Clusters, Grids...

39
Universidad Nacional, Bogotá, Enero 2013 Computación científica 1 Perspectivas de la Computación Científica. Clusters, Grids y Clouds. Desarrollos y retos Raúl Ramos Pollán Universidad Nacional de Colombia

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

13

Map-reduce, Hadoop

Universidad Nacional, Bogotá, Enero 2013

Computación científica

14

Map-reduce, Hadoop

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

30

Arquitectura HBase

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

Universidad Nacional, Bogotá, Enero 2013

Computación científica

39