Revisión de la Plataforma Grid UNAM:
comandos gu

Grid UNAM ha desarrollado una serie de comandos que facilitan consultar el estado de la plataforma, generar el "Token" de acceso, enviar trabajos, recuperar sus resultados y limpiar la "cola" de trabajos enviados. A estos comandos los llamaremos comandos "gu".

Haremos énfasis en conocer y entender el estado de la plataforma, y así decidir a cual de las entidades nos conviene enviar un trabajo. Usted puede enviar trabajos a todas las entidades de la plataforma. En este documento, utilizaremos como ejemplo la información del "Taller Grid UNAM".

El envío de trabajos, obtención de resultados y consulta de las colas de trabajo lo puede consultar en el documento Envío de trabajos.

Requerimiento

  1. Tener acceso a un nodo submit
  2. Acceder al nodo submit, revise el documento Acceso a la Interfaz de Usuario (UI) si tiene dudas.

Activación de los comandos gu

Active los comandos gu mediante el comando:

jovyan@jupyter-...-2emx:~$ module load gridunamUI

Verifique que los comandos gu estén disponibles. Ejecute simplemente lo siguiente:

gu_<TAB><TAB>

en donde <TAB><TAB> es teclear dos veces consecutivas el tabulador del teclado. Por ejemplo

jovyan@jupyter-...-2emx:~$ gu_
gu_activar_acceso_gridunam  gu_eliminar_mis_agentes     gu_generar_token            gu_show_cpus_all_cluster
gu_consultar_jobs           gu_enviar_jobs              gu_mostrar_mis_agentes      gu_show_cpus_cluster
gu_crear_cuenta_oidc        gu_estado_cluster           gu_ping_cluster             
gu_descargar_archivos       gu_estado_del_agente        gu_run_test_cluster     

Activar el "Token"

Un "Token" es una cadena de caracteres cifrados que contienen información de los recursos a los cuales usted está autorizado, así como una sección de la llave que sirve como palabra de acceso para auteticarse. En Grid UNAM, la vigencia de un "Token" para el procesamiento es de 1 h y 3 días para el "Token" de almacenamiento.

Activar "Token" por primera vez

El prodimiento siguiente se realiza una sola vez. En los accesos subsecuentes no se requerirá que el "Token" se autorize. La plataforma Grid UNAM almacena sus credenciales.

Ejecute el comnando gu_activar_acceso_gridunam. Le aprecerá lo siguiente:

jovyan@jupyter-...-2emx:~$ gu_activar_acceso_gridunam 
No exite un token
...
...
oidc-gen -w device gridunam --issuer=.............
No account exists with this short name. Creating new configuration ...
Redirect_uris (space separated): 

Teclee [Enter]

Segido le aparece una liga a la que debe acceder y un código de su "Token". Adicionalemte aparece en la pantalla una código QR para que acceda desde una cámara a este sitio. Por ejemplo:

Generating account configuration ...
accepted

Using a browser on any device, visit:
https://sso.lamod.unam.mx/auth/realms/GridUNAM/device

And enter the code: LDLO-JIDC
Alternatively you can use the following QR code to visit the above listed URL.

Acceda a https://sso.lamod.unam.mx/auth/realms/GridUNAM/device en otra pestaña de su navegador. En ese momento se despliga el sistema de control de los "Token" como se muestra en la Figura 1.

Figura 1: Acceso al sistema de control de los "Token".

Llene los campos del código del "Token" que su terminal le ha mostrado y presione el botón [Submit], como se muestra en la Figura 2.

Figura 2: Inyecte el código del "Token".

Entonces, se despliegan las características que GridUNAM le permite. Simplemente presione el botón [Yes], vea la Figura 3 .

Figura 3: Características de su "Token" en Grid UNAM.

Le aparece la confirmación que su petición es aceptada, vea la Figura 4.

Figura 4: "Token" autorizado.

Regrese a la venta de comandos de la interaz de ineterfaz gráfica del nodo de envío. La terminal se libera indicándole que el "Token" fue aceptado.

....
Everything setup correctly!
Se genero uno nuevo
jovyan@jupyter-...-2emx:~$

Activar "Token" preexistente

Para reactivar su "Token" utilice el comando siguiente:

Ejemplo:

jovyan@jupyter-...-2emx:~$ gu_activar_acceso_gridunam
No exite un token
Se reuso el agente
success
Se genero uno nuevo

Note que se reutilizó la información del "Token" inicial y usted no necesitó introducir información adicional.

Falla del "Token"

Es poco probable que el "Token" inicial falle. Generalmente ocurre sí no ha accedido a la plataforma por un largo tiempo, aproximadamente por más de un mes. No obstante, la falla se elimina colocando al "Token" en su estado inicial. El procedimiento es el siguiente:

  1. Borre los archivos temporales del directorio "/tmp" del "Token" previo.
jovyan@jupyter-...-2emx:~$ rm -rfv  /tmp/oidc*
  1. Borre los archivos de configuracion del "Token" de su cuenta mediante el comando siguiente:
jovyan@jupyter-...-2emx:~$ rm -rfv $HOME/.oidc-agent $HOME/.acceso_gridunam_cuenta_oidc
  1. Reactive los comandos gu
jovyan@jupyter-...-2emx:~$ module purge
jovyan@jupyter-...-2emx:~$ module load gridunamUI
  1. Ejecute nuevamente el procedimiento de la sección "Activar "Token" por primera vez"
jovyan@jupyter-...-2emx:~$ gu_activar_acceso_gridunam
  1. Si el problema persiste, solicite ayuda a su asesor, o bien a la "mesa de soporte Grid UNAM" mediante el correo soporte-grid@unam.mx e indique que realizó la "reinicialización del Token de acceso".

Revisión de la infraestructura de procesamiento disponible en Grid UNAM

Grid UNAM cuenta actualmente con cuatro entidades que comparten recursos de procesamiento; en particular nos referimos a los núcleos de procesamiento y memoria RAM. Actualmente, estas entidades son: 1) la Dirección de General de Cómputo y de Tecnologías de Información y Comunicación (DGTIC), 2) el Laboratorio de Modelado de Datos (LAMOD) compuesto por el Instituto de Ciencias Nucleares (ICN), el Instituto de Astronomía (IA) y el Instituto de Química (ICQ), 3) el Instituto de Ciencias de la Atmósfera y Cambio Climático (ICAyCC) y 4) el Instituto de Astronomía con sede en Ensenada (IAE). En la Tabla 1 se presentan los nombres de la entidades y el nombre del identificador que será usado en los comandos gu.

Entidad Identificador-cluster (gu)
DGTIC $dgtic
LAMOD (ICN, IA, ICQ) $vlamod
ICAyCC $icaycc
IAE $astrosen

Tabla 1: Identificador de la entidades usados en los comandos gu

El número de núcleos disponibles y la cantidad de memoria RAM en la plataforma Grid UNAM, puede variar en distintos momentos, es dinámica. Esto se debe a varios factores, dentro de los cuales podemos citar a:

  • Mantemientos preventivos y correctivos del hardaware de los nodos de procesamiento.
  • Actualización de software.
  • Inclusión de nuevos nodos de procesamiento.
  • Pruebas e inclusión de nuevas técnicas que mejoren el rendimiento de Grid UNAM. Grid UNAM es una plataforma heterogénea en desrrollo contínuo.
  • Problemas mediombientales.

Es por ello, que es ampliamente recomendable revisar el estado de la infraestructura antes de enviar un lote de trabajos. Con esta información se puede decidir cual o cuales serán las entidades que mejor se adapten a su problema.

Son dos los comandos gu que se pueden utilizar y reportan la misma información, estos son:

jovyan@jupyter-...-2emx:~$ gu_show_cpus_all_cluster
que muestra el estado de todos las entidades de procesamiento. El segundo comando es:
jovyan@jupyter-...-2emx:~$ gu_show_cpus_cluster ID

en donde ID es la cadena de caracteres descrita en la columna "Identificador-cluster (gu)" de la Tabla 1. El comando muestra únicamente la información de la entidad ID.

La información mas relevante que se muestra es:

Consultado Nombre del nodo submit (vea Tabla 1)
N cores CPU disponible de M totales Información de los núcleos disponibles en la entidad
Columna Comentario
PARTITION Nombre de partición del sistema de colas
AVAIL Estado de operación del nodo
CPUS Número de núcleos del nodo
HOSTNAMES Nombre del nodo
CPU_LOAD Porcentaje de carga del nodo
STATE Estado de operación del sistema de colas
CPU (A/I/0/T) Número de núcleos. A=ocupados; I=disponibles; O=no-operables; T=totales
TIMELIMIT Tiempo máximo de ejecución. Cada trabajo en Grid UNAM tiene un tiempo máximo de 3 días
SOKETS Número de zócalos del nodo
CORES Número núcleos por zócalo
THREADS Número de hebras por núcleo


Ejemplo:

jovyan@jupyter-...-2emx:~$ gu_show_cpus_all_cluster

El resultado de este comando se muestra en la Figura 7. En la fecha de ejecución de gu_show_cpus_all_cluster, la plataforma Grid UNAM contaba con 1536 núcleos de procesamiento, un total de ~4.7 TB de memoria RAM y 18 nodos de procesamiento, distribuidos entre las 4 entidades. Del total de núcleos de la plataforma, están disponibles 1,114.

Figura 7: Infraestructura Grid UNAM

La entidad DGTIC (identificador $dgtic) aporta a Grid UNAM 6 nodos de procesamiento. De los 192 núcleos están disponibles 162. El nodo "n2" está parcialmente ocupado con 30 núcleos trabajando y 2 núcleos disponibles. Los restantes 5 nodos están disponibles.

La entidad IAE (identificador $astrosen) aporta a Grid UNAM 5 nodos de procesamiento. De los 512 núcleos están disponibles 448. En particular, en el nodo "geminis-w02" está bloqueada su cola de trabajo. El motivo es que este nodo se está utilizando para instalar el sistema operativo a RedHat Like 9 y su cúmulo de paquetes. Si usted desea utilizar a la entidad IAE, podría enviar un correo a soporte-grid@unam.mx para que se le proporcione más información. Los 4 nodos restantes están disponibles.

La entidad ICAyCC (identificador $icaycc) aporta a Grid UNAM 4 nodos de procesamiento. De los 96 núcleos están disponibles 24. En particular los nodos "node1" y "node_2" tienen bloqueada su cola de trabajo. El motivo es que están en mantenimiento. De la misma forma, usted puede enviar un correo a soporte-grid@unam.mx para más información. En el nodo "node4" los 24 núcleos están trabajando. El nodo "node3" está disponible.

La entidad LAMOD (ICN, IA, ICQ) con identificador $vlamd aporta a Grid UNAM 3 nodos de proceamiento. De los 736 núcleos están disponibles 480. Cabe hacer mención, que en esta entidad la infraestructura está basada en sistema operativo RedHat Like 9. En particular, en el nodo "atocatl-23" la cola de trabajo no está operando. De la misma forma, usted puede enviar un correo a soporte-grid@unam.mx para más información. Los 2 nodos restantes están disponibles.

Entonces, si debo decidir a que entidad envío un trabajo, LAMOD (\(vlamod**) tiene el número mayor de CPUs disponibles con 480. En segundo lugar está IAE (**\)astrosen) con 448. Le sigue DGTIC ($dgtic) con 162 y finalmente IACAyCC (icaycc) con 24. No obstante, sí todos los CPUs de la plataforma están en uso, usted decidirá a cuales y a cuantas entidad envirá su trabajo. Éstos se colocarán en las colas de ejecución de las entidades que usted escogió.

Finalmente, este comando pone de manifiesto la naturaleza heterogénea y dinámica de la plataforma Grid. En donde usted puede utilizar a toda la infraestructura para ejecutuar su aplicación.