[GE users] sort by sequence number

Paul MacInnis macinnis at dal.ca
Tue Apr 1 15:35:47 BST 2008


Hi,

We have some nodes that have extra features such as additional memory or
low latency interconnects.  These nodes are part of the same cluster
queues as all other nodes and can be selected by using various -l
parameters.  We want to allow regular jobs to be scheduled on these
nodes also but only when there are no slots available on the non-special
nodes.

We attempt to do this by assigning a low sequence number to ordinary
nodes and a higher sequence number to the special nodes and requesting
that the scheduler sort nodes by sequence number.

I've often noticed ordinary jobs running on the special nodes when I know
that there are and have been free slots on the non-special nodes.  The
impression I've developed is that nodes are being selected by load and not
by sequence number.

Looking in file gridengine/source/daemons/schedd/scheduler.c in the
older SGE source code directory tree for schedd as a separate daemon, or
file gridengine/source/daemons/qmaster/sge_sched_thread.c in the
current source code tree for sched as a thread in qmaster,
there is this piece of code:

   /*---------------------------------------------------------------------
    * SORT HOSTS
   *---------------------------------------------------------------------*/
   /* 
      there are two possibilities for SGE administrators 
      selecting queues:

      sort by seq_no
         the sequence number from configuration is used for sorting
     
      sort by load (using a load formula)
         the least loaded queue gets filled first

         to do this we sort the hosts using the load formula
         because there may be more queues than hosts and
         the queue load is identically to the host load

   */
   switch (queue_sort_method) {
   case QSM_LOAD:
   case QSM_SEQNUM:
   default:

      DPRINTF(("sorting hosts by load\n"));
      sort_host_list(lists->host_list, lists->centry_list);


      break;
   }


This doesn't look right.

As written the switch/case statements seem to do nothing - sorting is
always done by host load.  In spite of what the comments say,
QSM_SEQNUM is ignored here.

Is there some other place where the load sorted list is then grouped
and ordered by sequence number?

Paul





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe at gridengine.sunsource.net
For additional commands, e-mail: users-help at gridengine.sunsource.net




More information about the gridengine-users mailing list