Routing queue

Craig Tierney ctierney at hpti.com
Tue Jul 10 09:14:24 PDT 2001


I suspect that the routing queue code in the server (scheduler?) is
not smart enough.  At some point in your configuration you selected

set queue route_queue route_destinations = switch1_queue

And so all jobs are going to switch1.  You are probably going to have
to write something yourself (and that big mess I sent you before was probably
not what was needed).

Do your jobs take about the same wallclock time, or do the times vary?

Here is the basic structure of what you want:

#!/bin/csh -f

   set exequeues=("switch1" "swtich2")
   set routequeue="route_queue"

   set pos=1;
   set maxqueue=2;  # this should equal the number of exequeues

   while(1)
 
# See if there are jobs waiting
       set jobs_list = `qstat -a | grep $routequeue | awk '{print $1}'`
   
# Now do something with each job
# In this case I am just going to alternate between queues
  
       foreach job ($jobs_list) 
           qmove $exequeues[$pos] $job   
@ pos = $pos + 1
           if ($pos > $maxqueue) then
               set pos=1
           endif
       end

     sleep 30

   end 

# End of script

You can make the logic in what queue things get moved to more robust.
you can count up the nodes and jobs on each queue, (see jobs_list for
an example).  You also don't have to schedule each job, but you could
only do that when resources are available.

For this to work, you need to turn off server routing.

set queue route_queue alt_router = True
set queue route_queue enabled = True
set queue route_queue started = False

Good luck.  I hope this example is easy enough to understand.

Craig


On Tue, Jul 10, 2001 at 11:26:35AM -0400, Joey Raheb wrote:
> Hello,
> 
> I was hoping someone could help me out.  I am having problems with my routing
> queue.  I would like to be able to allow the users to submit jobs to one queue
> called route (a routing queue).  This routing queue should be able to submit
> jobs to two different execution queues, switch1 or switch2, based on the
> availability of nodes.  No resource properties are set on either queue so both
> are identical in resources.  Why is it that when I send multiple jobs to the
> routing queue all jobs are sent to switch1 and none are sent to switch2.  Even
> when switch1 is full, it continues to send jobs their and queues them until
> nodes become free while switch2 runs NO jobs. I would appreciate any help
> anyone can give, I've been stuck on this one for a while.
> 
> Joey
> 
> ____________________________________________________________________
> Get free email and a permanent address at http://www.amexmail.com/?A=1
> 
> _______________________________________________
> Beowulf mailing list, Beowulf at beowulf.org
> To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf

-- 
Craig Tierney (ctierney at hpti.com)
phone: 303-497-3112




More information about the Beowulf mailing list