PIG la Plataforma para la Investigación con GPUs
PIG, es un proyecto de colaboración interinstitucional de la Comunidad de Supercómputo en la Corporación Universitaria para el Desarrollo de Internet (CUDI), que tiene como principal objetivo agrupar infraestructura de GPUs distribuida en diferentes instituciones miembros de la Red Nacional de Educación e Investigación (RNEI) Mexicana, bajo una misma plataforma basada en contenedores que permita compartir recursos de manera segura y sencilla.
PIG propone una plataforma para compartir infraestructura, administrada y gobernada por la comunidad de instituciones que la conforman, que promueva la colaboración inter-institucional. PIG busca ser una herramienta para que los estudiantes e investigadores puedan experimentar el uso de múltiples GPUs de manera segura y sencilla
En palabras del Mtro. Luciano Díaz, colaborador en el Instituto de Ciencias Nucleares de la UNAM, PIG "facilita a estudiantes y académicos de las instituciones participantes el acceso a las GPUs para que prueben sus códigos, procesen y analicen datos , enfocándose así en los temas de investigación sin perderse en la administración de este tipo de recursos. Además, al colaborar y compartir recursos se puede obtener una cantidad superior para cubrir los picos de demanda de GPU que se requieren por periodos cortos de tiempo".
El proyecto inició en 2020, cuando se buscaba la colaboración de México en el Proyecto “Pacific Research Platform (PRP)” liderado por La Universidad de California en San Diego (UCSD). Debido a la escasez de fondos para adquirir el equipo de cómputo necesario, se decidió crear un cluster piloto a partir de infraestructura voluntaria. La finalidad de este proyecto ”piloto” es la de demostrar la viabilidad y usabilidad de esta plataforma.
PIG propone una misma interfaz de usuario para acceder a los recursos de infraestructura de GPUs de las diferentes instituciones, estos recursos pueden ser aislados completamente de cualquier otra infraestructura al interior de las instituciones limitando así un daño potencial de seguridad. Este proyecto abre la puerta y da un paso importante hacia la formación de colaboraciones inter-institucionales
El proyecto se encuentra en la fase piloto, con la participación de la 1) Universidad Nacional de México (UNAM), la 2) Universidad de Guadalajara (UDG), la 3) Universidad Autónoma del Estado de México (UAEMEX), la 4) Universidad Autónoma de San Luis Potosí (UASLP) y la 5) Universidad Autónoma del Estado de Morelos (UAEM), quienes están colaborando con hardware para investigar la viabilidad del proyecto. Así mismo los recursos humanos donan su tiempo para la puesta a punto y administración de los sistemas, así como también para brindar soporte a los usuarios.
- Plataforma de administración: Kubernetes
- Instituciones participantes: 4
- Total de GPUs: 11
- Total de CPUs: 86
- Total de RAM(GB): 269
La comunicación entre nodos se lleva a cabo a través de una VPN.
Los usuarios interactúan con la Plataforma desde sus equipos usando el cliente de Kubernetes: kubectl, Uutilizando archivos de texto en formato yaml describen la ejecución de sus trabajos.
Se cuenta con un almacenamiento central que se puede acceder, transparentemente, desde cualquier nodo de la Plataforma.
Participan activamente en el proyecto:
- Diego Dávila (UCSD/CUDI)
- Lukas Nellen (UNAM)
- Luciano Díaz (UNAM)
- Edilberto Sánchez (UNAM)
- Octavio Valenzuela (UNAM)
- Lizette Robles (UDG)
- Benjamín Hernández Valencia (UNAM)
- Joel González Lara (UDG)
- Hiram Castillo (UASLP)
Diego Dávila (UCSD/CUDI) nos comenta que la principal ventaja de PIG es que reduce la curva de aprendizaje para los usuarios con nula o poca experiencia en el uso de GPUs y al mismo tiempo los expone a una amplia variedad de GPUs. Al utilizar tecnologías ampliamente adoptadas por la industria como lo son Kubernetes y S3, los usuarios pueden, fácilmente portar sus códigos a otras plataformas.
El uso de contenedores le da al usuario la capacidad de configurar su ambiente de ejecución, es decir, le permite instalar cualquier software y al mismo tiempo le quita esa responsabilidad al administrador. También hace mas reproducibles sus ejecuciones al empaquetar todas las dependencias en una imagen que además es fácil de portar y compartir. Debido a su naturaleza distribuida el proyecto es resiliente a los problemas, ya sean técnicos o burocráticos que pudieran afectar a una o mas instituciones miembro, pues estos no afectaran el funcionamiento del resto.