El gestor de recursos distribuidos Grid Engine es el sistema de gestión de colas de trabajos parecido a sus competidores Platform LSF o PBSPro.
Un gestor de recursos distribuidos permite que varios usuarios, grupos y proyectos puedan trabajar juntos usando una infraestructura compartida como, por ejemplo, un cluster de computación de alto rendimientio.
En el entorno de Grid Engine la existencia de colas no tiene mucha importancia para el usuario. El usuario simplemente tiene que especificar los recursos que requiere su trabajo y Grid Engine se ocupa en colocarlo en la cola de trabajos más adecuada.
Funcionamiento
El funcionamiento principal de Grid Engine lo podemos resumir en los siguientes puntos:
Pone trabajos en colas y planifica su ejecución.
Cuadra trabajos con el nodo de ejecución más apropiado.
Gestiona recursos (licencias de software, etc.).
Hace cumplir las políticas de asignación de trabajos (proyecto A es más importante que proyecto B.)
Para el usuario que manda un trabajo, el sistema Grid Engine hace lo siguiente:
1) Aceptar la solicitud de ejecutar un trabajo (job) del usuario.
2) Meter el trabajo en un área pendiente (cola).
3) Manda el trabajo desde el área pendiente al nodo más adecuado.
4) Gestiona el trabajo mientras se ejecuta.
5) Devuelve los resultados y guarda la información sobre la ejecución (accounting) en cuando termine el trabajo.
Unos ejemplos de requerimientos de recursos de un trabajo pueden ser:
El trabajo requiere una licencia de software.
El trabajo prefiere un nodo con una gran cantidad memoria.
Un trabajo requiere un nodo con una gran cantidad de memoria.
Un trabajo requiere un nodo con GPU.
Un trabajos paralelo requiere 500 núcleos CPU.
Comandos más importantes de Grid Engine
Los comandos que son más útiles para la gestión de trabajos por parte del usuario son: