Yolanda Flores Salgado
Silvia Elizabeth Frausto Del Río
Joel Ireta Moreno
Leobardo Itehua Rico
Héctor Manuel Oliver Hernández
Eduardo Iván Ortega Alarcón
Eduardo Romero Arzate
2/4
La idea de interconectar infraestructura CAD localizada en diferentes lugares, geográficamente, para ser usada en forma compartida, tomó forma a mediados de la década de los noventa del siglo pasado, y dio origen al término computación en la malla (grid computing en inglés). La integración de clusters CAD en una malla, se puede considerar como un tipo de cómputo distribuido, representa un gran reto debido a la posible heterogeneidad en la infraestructura CAD, el sistema operativo, los despachadores de tareas, las políticas de seguridad y uso de cada cluster. En un inicio, el grupo técnico encargado de la administración y operación de los clusters que forman LANCAD recurrió al software libre Globus, para realizar la integración lógica de clusters en una malla o grid de computación. Sin embargo, se abandonó esa ruta una vez que se anunció que iba a dejar de ser desarrollado [5]. La búsqueda posterior de opciones de software libre que permitiera ensayar la integración de clusters de prueba, llevó a usar Slurm para generar un cluster confederado como se muestra en la figura 1.
Figura 1. LANCAD, “Confederación de clusters,” 2022. Fuente: elaboración propia.
Una federación de clusters, o clusters confederados (Figura 1), es una entidad que permite agregar distintos clusters independientes de forma transparente. Además, brinda la posibilidad de interoperarlo con las herramientas ya existentes para compartir sus capacidades de cómputo de forma coordinada [6]. La administración de un cluster de alto desempeño no es tarea sencilla, ya que normalmente las políticas de uso y de gestión del mismo se basan en las necesidades de los usuarios que atiende. Aunque dos o más clusters proporcionen un servicio de cómputo de alto desempeño, es muy probable que cada uno tenga políticas diferentes. Crear una federación de clusters que pueda apegarse a las políticas de cada participante dificulta la implementación de la misma, para lograrlo es necesario crear nuevas políticas y acuerdos para proporcionar un servicio a los usuarios de la federación. A nivel técnico, el reto principal para realizar la implementación exitosa de una federación es lograr que los clusters puedan comunicarse entre sí y compartir recursos sin perder su individualidad; es decir, que cada uno pueda operar de manera individual si así se requiere, permitiendo que las redes locales, usuarios, configuración y administración de cada cluster sean diferentes.
Un sistema computacional está conformado por tres elementos principales: el procesador, la memoria y el subsistema de entrada y salida. Como se sabe, cualquier sistema operativo proporciona mecanismos para administrar tanto los recursos como las tareas. Una vez que se analiza el funcionamiento de los sistemas de cómputo, usualmente se encuentran dos tipos de comportamiento: a) los equipos de cómputo no se emplean como es debido, dando como resultado que los procesadores permanezcan ociosos durante algunos periodos de tiempo; b) cuando hay muchos procesos buscando acceder a los recursos al mismo tiempo, es posible que en algún momento se exceda la capacidad del sistema, se sature y este no pueda procesar todas las tareas. Si la carga de trabajo es mayor que la cantidad de recursos disponibles, es necesario disponer de un mecanismo o herramienta más allá del sistema operativo, que nos permita optimizar y hacer un manejo eficiente de los recursos de cómputo. Este tipo de herramientas se conocen como sistemas de administración de recursos o RMS (del inglés resource management system), que se configuran para evitar cualquiera de estos dos extremos y al mismo tiempo, alcanzar un alto desempeño en un sistema de cómputo. Slurm, acrónimo de “Simple Linux Utility for Resource Management”, es un RMS; es decir, es un sistema o una herramienta diseñada para satisfacer los requerimientos de carga de trabajo, de acuerdo con la cantidad de recursos disponibles y con las políticas de uso y asignación de los recursos disponibles establecidas. El desarrollo de Slurm comenzó en el año 2002 en el Laboratorio Nacional Lawrence Livermore [7], y desde sus primeras versiones ha mostrado ser un sistema robusto, lo cual significa que es tolerante a fallas y altamente escalable; es decir, capaz de manejar millones de núcleos de procesamiento distribuidos en decenas de miles de nodos, por lo que es usado en algunos de los clusters de CAD más grandes del mundo como Tianhe-2 y Sequoia [1].
Uno de los factores fundamentales a tomar en cuenta al elegir una herramienta de cómputo en un ambiente académico, es el costo de la licencia, que en el caso de los RMS, puede llegar a ser muy alto. Sus precios incrementan conforme se agregan funcionalidades o la cantidad de recursos que se requiere administrar. En este sentido, resulta que Slurm además de ser un sistema seguro, robusto, escalable, flexible y portable. Se distribuye bajo una licencia de código abierto GPL(3) de GNU, y ofrece todas las funcionalidades requeridas para un sistema de administración de tareas [8], como son el manejo de límites de recursos o de niveles de prioridad, el proveer información del estado de los trabajos, la administración centralizada, reconfiguración dinámica y contabilidad de recursos, por mencionar algunas.
(3) GPL, General Public License [En línea]. Disponible en: https://www.gnu.org/licenses/licenses.es.html [Consultado en enero, 26 del 2022]
Fecha de recepción: 2 de febrero de 2022
Fecha de publicación: junio de 2022
This site was built with Mobirise