150.214.220.243
Español  English  

Logo Alhambra CSIRC

UGR Alhambra CSIRC
Inicio Noticias Alhambra

Noticias Alhambra

Cambios en los Entornos Paralelos del sistema de colas

Desde el día 10 de Octubre, en Alhambra está funcionando un nuevo esquema de entornos paralelos, con el objeto de mejorar su uso. Debido a ello, han de modificarse los scripts de envío a cola que tuvieran en marcha, añadiendo un asterisco al entorno paralelo que estuvieran usando, p.ej. -pe impi*

Antecedentes:

Algunos usuarios habréis notado que alguna vez el rendimiento de los cálculos se ha visto deteriorado, de forma aparentemente incontrolada e imprevisible. Una inspección en detalle reveló que bajo ciertas circunstancias, los trabajos enviados, en teoría a 2 nodos, por ejemplo, eran ejecutados en tres nodos, usando un nodo completo y dos fracciones de otros dos nodos, con lo que el uso de los recursos se hacía ineficiente.

Este compotamiento solo aparecía en aquellos momentos en los que el clúster estaba en momentos de ocupación elevada, pero no era reproducible, lo que dificultaba su resolución. Inexplicablemente, a pesar de especificar en la configuración del sistema de colas que sólo se podían usar nodos completos, el sistema de colas seguía asignando fracciones de nodos.

Tras meses de seguimiento y consultas, finalmente creemos que hemos dado con la causa: De vez en cuando, cuando un usuario se confunde de cola  y envía un trabajo, por ejemplo, de 8 cores o 1 core, (solicitando, pues, fracciones de nodo) nuestros filtros lo rechazan, se queda el trabajo en estado de error, y el usuario finalmente lo borra o lo modifica. Sin embargo, durante ese tiempo, los recursos, aun no siendo usados, siguen reservados, de modo que si el cluster está muy ocupado y se solicita un trabajo de 32 cores, que use dos nodos, si no hay más remedio, el sistema asignará nodos partidos, algo que después se propagará al resto de trabajos que entren a continuación.

Solución:

Hay que forzar a que el sistema de colas asigne nodos completos ANTES de que se asignen los recursos. Eso se logra con la configuración de los entornos paralelos, por lo que hemos debido de cambiarlos. Sin embargo, eso trae ciertas consecuencias: Los entornos paralelos no pueden ser los mismos para los nodos normales, de 16 cores, que para los nodos grandes, los bigmem.

Antes, teníamos los entornos shm, impi, openmpi, gamess2013. Ahora tendremos adicionalmente los entornos shm32, impi32, openmpi32, y gamess2013-32, dedicados en exclusiva a los nodos bigmem.

Aquellos que mandeis trabajos a las colas 12H, 24H y 72H, no notareis diferencia, pero si mandais trabajos a las colas bigmem con los entornos paralelos antiguos, no entrarán: Hay que cambiar los scripts de lanzamiento para usar


-pe impi32

en lugar del antiguo


-pe impi

Cambios a realizar

¿Significa esto que voy a necesitar dos scripts diferentes según la cola a la que vaya a lanzar el trabajo? ¿necesitaré un lanza16.sh y un lanza32.sh? No necesariamente.

A la hora de lanzar un trabajo, se puede indicar un único entorno paralelo a usar, o varios. Si el sistema de colas está bien organizado, si yo especifico que quiero (o que puedo) usar varios entornos paralelos, cuando diga que quiero usar la cola bigmem, del conjunto de pe's que haya especificado, escogerá aquel que esté disponible para la cola bigmem. Si lo lanzo a la 12H, cogerá el otro entorno que esté habilitado para usar 16 cores por nodo.

Esto es, que en los scripts se puede usar una única opción para mandar trabajos a todos los tipos de nodos, y es usar el comodín del asterisco, de uno de los siguientes modos


-pe shm*
-pe impi*
-pe openmpi*

-pe gamess2013*

Con lo que se le dice al sistema de colas que trate de usar todos los entornos paralelos que encajen con ese nombre, y que se quede sólo con los que pueda usar en la cola a la que llegue, lo que supone que el mismo script podrá ser usado en una y otra cola

Los scripts comunes que se encuentran en /usr/local/bin y en los directorios de las aplicaciones ya han sido cambiados (añandiendo el asterisco) y sólo queda que los scripts de los usuarios sean cambiados del mismo modo.

Como dijimos anteriormente, si no se modifican los scripts, los cálculos mandados a las colas normales entrarán sin mayor problema, pero si no se hace el cambio, no se podrán ejecutar en las colas bigmem

Publicado a las 10:52, el 10 de octubre de 2014
Contacto  Mapa web  Sugerencias  Visita Alhambra          CSIRC                 © Universidad de Granada