Changes between Version 4 and Version 5 of ColasPBS


Ignore:
Timestamp:
Dec 13, 2010 6:16:31 PM (12 years ago)
Author:
lluis
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ColasPBS

    v4 v5  
    22
    33Un clúster es una agrupación de unidades de computación el cual permite trabajar con unidades individuales o cualquier subconjunto de ellas. Las unidades de computación pueden ser de muchos tipos y tener muchas características distintas, por lo general con una unidad de cálculo (''core'') y una memória (particular del core o compartida con otros). Un clúster suele tener much@s usuari@s que querrán ejecutar distintas aplicaciones. Un gestor de colas es el software encargado de manejar las aplicaciones que se quieren ejecutar en un determinado clúster.
    4 
    5 == Gestor de colas ==
    6 Para que un clúster funcione adecuadamente para tod@s us usuari@s y el gestor de colas pueda hacer su trabajo, l@s usuari@s sólo tienen que interactuar con el gestor por medio de ''jobs''. Estos ''jobs'' son peticiones de recursos del clúster (número de cores, tiempo de ejecución...) necesarios poder lanzar la aplicación del usuari@. El gestor de colas será el encargado de permitir la ejecución de la petición si hay suficientes recursos disponibles en el clúster. En caso contrario, el trabajo se quedará ''encolado'', a la espera de que haya los recursos suficientes requeridos en el ''job''. De esta manera, todas las peticiones de l@s usuari@s son centralizadas y manejadas automáticamente por el gestor de colas. Este gestor de colas puede a su vez, estar siguiendo unas directrices de prioridades de ejecución determinadas por otros softwares buscando maximizar el rendimiento del clúster.
    7 
    8 El sistema de colas del clúster del ''Grupo de Meteorología de Santander'' (Diciembre 2010) es el sistema de colas PBS (''Portable Batch System'').
    9 
    10 == Job ==
    11 Un job del clúster tiene unos cuantos requerimientos básicos tales como:
    12  * '''número de cores:''' el número de unidades de cálculo que se requieren para la ejecución del job.
    13  * '''cola de ejecución:''' etiqueta que se le da a un grupo de cores. Determina los cores que tendrán que compartir todos los jobs que se manden en concreto a una cola. Es muy común que un clúster se compartimente en distintas colas a modo de intentar maximizar el rendimiento de un clúster. Estas colas pueden compartir cores entre ellas y estar asignadas a proyectos y/o grupos de usarios distintos.
    14  * '''wall-time:''' determina el tiempo de ejecución del job dentro del clúster. Una vez pasado este tiempo el job y su aplicación seran detenidos forzosamente. Es un muy común que en los clústers se ejectuen antes los jobs con un wall-time pequeño que con uno de grande
    15 
    16 La pericia de l@s usuari@s en saber escoger adecuadamente los requerimientos de sus jobs, determinará el éxito a la hora de que se ejecuten sus jobs.
    174
    185Las unidades básicas que constituyen un clúster son:
     
    2512   * Lo mas común es que todas las unidades de almacenamiento sean visibles des de todos los nodos de un clúster
    2613
     14== Gestor de colas ==
     15Para que un clúster funcione adecuadamente para tod@s us usuari@s y el gestor de colas pueda hacer su trabajo, l@s usuari@s sólo tienen que interactuar con el gestor por medio de ''jobs''. Estos ''jobs'' son peticiones de recursos del clúster (número de cores, tiempo de ejecución...) necesarios poder lanzar la aplicación del usuari@. El gestor de colas será el encargado de permitir la ejecución de la petición si hay suficientes recursos disponibles en el clúster. En caso contrario, el trabajo se quedará ''encolado'', a la espera de que haya los recursos suficientes requeridos en el ''job''. De esta manera, todas las peticiones de l@s usuari@s son centralizadas y manejadas automáticamente por el gestor de colas. Este gestor de colas puede a su vez, estar siguiendo unas directrices de prioridades de ejecución determinadas por otros softwares buscando maximizar el rendimiento del clúster.
     16
     17El sistema de colas del clúster del ''Grupo de Meteorología de Santander'' (Diciembre 2010) es el sistema de colas PBS (''Portable Batch System'').
     18
     19== Job ==
     20Un job del clúster tiene unos cuantos requerimientos básicos tales como:
     21 * '''número de cores:''' el número de unidades de cálculo que se requieren para la ejecución del job.
     22 * '''cola de ejecución:''' etiqueta que se le da a un grupo de cores. Determina los cores que tendrán que compartir todos los jobs que se manden en concreto a una cola. Es muy común que un clúster se compartimente en distintas colas a modo de intentar maximizar el rendimiento de un clúster. Estas colas pueden compartir cores entre ellas y estar asignadas a proyectos y/o grupos de usarios distintos.
     23 * '''wall-time:''' determina el tiempo de ejecución del job dentro del clúster. Una vez pasado este tiempo el job y su aplicación seran detenidos forzosamente. Es un muy común que en los clústers se ejectuen antes los jobs con un wall-time pequeño que con uno de grande
     24
     25La pericia de l@s usuari@s en saber escoger adecuadamente los requerimientos de sus jobs, determinará el éxito a la hora de que se ejecuten sus jobs.
     26
    2727== Infraestructura del GMS ==
    2828
     
    5757
    5858Las peticiones se hacen por un conjunto de ''flags''. El envio del job al gestor de la cola se puede hacer añadiendo todas las directrices en la línea de comandos de la aplicación, o por medio de una script (archivo de texto con instrucciones de sistema). En según que circumstancias nos va interesar hacerlo de una manera u otra, pero las dos son equivalentes. La estructura tipo de un script (llamado por ejemplo {{{job.pbs}}}) de colas tiene la siguiente estructura (se añaden todas las opciones a modo de ejemplo):
     59
     60
     61{{{
     62
     63}}}
    5964
    6065{{{
     
    8085
    8186[aplicacion]
    82 }}}}
     87}}}
    8388
    8489En esta plantilla se muestra la sintaxis de los siguientes requerimientos/especificaciones: