[GE users] question for the allocation rules

Chris Dagdigian dag at sonsorol.org
Thu Jul 17 21:08:31 BST 2008


Wow you actually did have your allocation rule set to "8"! Interesting.

Anyway, this is from the manpage for "sge_pe":

>    allocation_rule
>        The allocation rule is interpreted by sge_schedd(8) and helps  
> the scheduler to decide how  to  distribute
>        parallel  processes  among  the available machines. If, for  
> instance, a parallel environment is built for
>        shared memory applications only, all parallel processes have  
> to be assigned to a single machine, no  mat-
>        ter how much suitable machines are available.  If, however,  
> the parallel environment follows the distrib-
>        uted memory paradigm, an even distribution of processes among  
> machines may be favorable.
>        The current version of the scheduler only understands the  
> following allocation rules:
>
>        <int>:    An integer number fixing the number of processes  
> per host. If the number is  1,  all  processes
>                  have to reside on different hosts. If the special  
> denominator $pe_slots is used, the full range
>                  of processes as specified with the qsub(1) -pe  
> switch has to be allocated on a single host  (no
>                  matter which value belonging to the range is  
> finally chosen for the job to be allocated).
>
>        $fill_up: Starting  from  the  best suitable host/queue, all  
> available slots are allocated. Further hosts
>                  and queues are "filled up" as long as a job still  
> requires slots for parallel tasks.
>
>        $round_robin:
>                  From all suitable hosts a single slot is allocated  
> until all tasks requested  by  the  parallel
>                  job  are  dispatched.  If  more  tasks  are  
> requested than suitable hosts are found, allocation
>                  starts again from the first host.  The allocation  
> scheme walks  through  suitable  hosts  in  a
>                  best-suitable-first order.



I would recommend picking a more flexible allocation rule:

- If you want to force your jobs to only stay within one physical 8- 
core chassis then use "$pe_slots"

- If you want to pack the parallel job on as few machines as possible,  
choose "$fill_up"

- If you want to spread the job across as many machines as possible,  
choose "$round_robin"


-Chris





On Jul 17, 2008, at 4:04 PM, Ryoji Takahashi wrote:

> pe_name           mvapich8
> slots             96
> user_lists        NONE
> xuser_lists       NONE
> start_proc_args   /home/sge/mvapich/startmpi.sh -catch_rsh  
> $pe_hostfile
> stop_proc_args    /home/sge/mvapich/stopmpi.sh
> allocation_rule   8
> control_slaves    TRUE
> job_is_first_task FALSE
> urgency_slots     min
>
> ...
> our cluster's architecture is quad core ... so admin guy seems to  
> make strict to 8 processors per nodes.
> however, fill out rules solve this problem.
>
> thanks.


---------------------------------------------------------------------
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