- Publicado el
Linux + Cluster = LUSTRE. Un filesystem open source diseñado para High Performance Computing

date
Jul 3, 2020
tags
Computación
summary
El artículo discute el High Performance Computing (HPC), destacando su evolución desde los primeros clusters en los años 50 y 60 hasta tecnologías avanzadas como Lustre. Esta última mejora la eficiencia en la gestión de almacenamiento mediante una arquitectura que separa funciones entre nodos, facilitando la escalabilidad y reducción de costos. El texto enfatiza la importancia del HPC en tareas computacionales intensivas y celebra los principios de programación de "divide y vencerás" y "desacoplamiento".
slug
lustre
status
Published
type
Post
author
La disciplina que investiga cómo disponibilizar la capacidad suficiente para resolver los problemas computacionalmente más intensos se llama High Performance Computing (HPC).
Las aplicaciones prácticas que requieren hoy este extra de performance varían desde el entrenamiento de modelos de deep learning, hasta simulaciones para modelar, por ejemplo, los movimientos de las estrellas. También es útil para la edición y renderización de video.
Desde que los usuarios se encontraron con problemas que no podían resolver en los límites de una única computadora (se cree que entre los 50’s y los 60’s) se empezaron a diseñar intuitivamente los primeros clusters. Pero el gran salto en el uso de esta tecnología se produce en 1989 de la mano de un proyecto open source la Parallel Virtual Machine.
Resolver problemas “grandes”, supone tres desafíos para el hardware que está debajo: alta capacidad de memoria, de procesamiento y de leer y escribir archivos (I/O). Mientras que las dos primeras mejoraron exponencialmente en los últimos 20 años, los discos rígidos siguen girando a la misma velocidad y se convirtieron un un cuello de botella para las aplicaciones de HPC.

En la arquitectura de Lustre se reservan un conjunto de nodos para comunicarse con el storage, otro conjunto de nodos para manejar la metadata de los archivos y los nodos “clientes” (que son los que efectivamente van a trabajar en los problemas) quedan libres de interactuar con el hardware de almacenamiento.
Esto les permite a los filesystems Lustre escalar de forma prácticamente infinita y ahorrar costos. Un proyecto open source al que tenemos mucho para agradecerle y una aplicación más de mis dos principios de programación favoritos:
- Un elefante se come de a partes, divide & conquer
- Decoupling, decoupling, decoupling