¿Cómo puedo establecer el número máximo de trabajos en ejecución por usuario en SGE?

9

Estamos usando SGE (Sun Grid Manager). Tenemos algunas limitaciones en el número total de trabajos simultáneos de todos los usuarios.

Me gustaría saber si es posible establecer un límite temporal y voluntario en el número de trabajos simultáneos en ejecución para un usuario específico.

Por ejemplo, el usuario daveestá a punto de enviar 500 trabajos, pero le gustaría que no más de 100 se ejecuten simultáneamente, por ejemplo, ya que sabe que los trabajos realizan muchas E / S que bloquearon el sistema de archivos (historia verdadera, desafortunadamente).

¿Es eso posible?

David B
fuente

Respuestas:

9

Puede definir un complejo con qconf -mc. Llámalo como algo high_ioo lo que quieras, y establece el campo consumible en YES. Luego, ya sea en la configuración global con qconf -me globalo en una cola particular con qconf -mq <queue name>establecer high_io=500en los valores complejos. Ahora diga a sus usuarios que especifiquen -l high_io=1o la cantidad de "tokens" que desea que usen. Esto limitará el número de trabajos simultáneos a lo que establezca el valor complejo.

La otra forma de hacerlo es con cuotas. Agregue una cuota con un qconf -arqsaspecto similar a:

 {
        name         dave_max_slots
        description  "Limit dave to 500 slots"
        enabled      true
        limit        users {dave} to slots=500
 }
Kamil Kisiel
fuente
Gracias Kamil y perdón por la respuesta tardía. Un par de seguimientos, ya que soy bastante nuevo qconf. Con respecto a su primera sugerencia, ¿podría ser un poco más explícito? ¿Qué es "consumible"? Después de configurar como se mencionó, ¿simplemente le digo al usuario que lo qsubhaga -l high_io=1?
David B
1
Básicamente, un complejo es un recurso de valor que puede solicitar un trabajo con el -lcambio a qsub. Al establecer que un complejo sea consumible, significa que cuando un trabajo solicita ese complejo, el número disponible disminuye. Entonces, si una cola tiene 500 del complejo high_io, y un trabajo solicita 20, habrá 480 disponibles para otros trabajos. Solicitaría el complejo tal como en su ejemplo.
Kamil Kisiel
Gracias Kamil Lo siento, no puedo votar (todavía no tengo suficiente reputación).
David B