Hi,

I'm just now able to get back to this post and issue - thanks for all the
answers. With this info and another post that said to set

  execd_params               ENABLE_BINDING=TRUE

binding is working now (at least qstat and taskset show that bindings have
been assigned).

But I'm wondering how to have a default binding of linear:1, while allowing
the user to override it. The goal is for users who set a parallel
environment to set '-binding linear:N' in there call to qsub, where N is
the num of slots they're requesting.

If I add '-binding linear:1' to sge_request or $HOME/.sge_request, it works
to set binding, but then when I try to override it in a call to qsub I get
this error:

    [mgstauff@chead ~]$ qsub -binding linear:1 mjob
    qsub: Unknown option -binding linear:1

I *am* able to override, e.g., a default setting of h_stack. Is there
something particular to binding that doesn't allow this? Anyone know a way
around this? Thanks.

Or, is there a way to have something in sge_request that automatically sets
binding to the number of requested slots, like '-binding linear:$num_slots'
?

-M



> Message: 1
> Date: Wed, 26 Mar 2014 08:23:51 -0400
> From: Bill Bryce <[email protected]>
> To: Andreas Haupt <[email protected]>
> Cc: [email protected]
> Subject: Re: [gridengine users] limit jobs to N core?
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset="us-ascii"
>
>
> On Mar 26, 2014, at 6:43 AM, Andreas Haupt <[email protected]> wrote:
>
> > Hi Reuti,
> >
> > On Wed, 2014-03-26 at 11:29 +0100, Reuti wrote:
> >>> AFAIK this is done on a best-effort basis. As long as 4 consecutive
> >>> cores are available, jobs will be limited that way. If not, jobs might
> >>> even be bound to cores spread over different cpus on multi-socket
> >>
> >> My understanding is, that there is no binding in certain cases. There
> are two occurrences in `man qsub` section "-binding / linear" reading "If
> this is not possible then binding is not done." Binding in SGE is a kind of
> soft request, which might or might not be fulfilled.
>
> As Reuti mentioned binding is a soft request in SGE but UGE works
> differently.  It is a hard request and is controlled by the qmaster not
> just the execd as in other versions of Grid Engine.  Daniel Gruber can
> explain it better than me because he implemented it.
>
> Bill.
>
> >
> > Just have access to the UGE man page (hope, it's ok to post parts of it
> > here ...):
> >
> > ---
> >              linear means that Univa Grid Engine tries to  bind  the
>  job  on
> >              amount  successive  cores.  If  socket  and core is omitted
> then
> >              Univa Grid Engine first allocates successive cores on the
>  first
> >              empty socket found.  Empty means that there are no jobs
> bound to
> >              the socket by Univa Grid Engine.  If this is not  possible
> or is
> >              not  sufficient  Univa Grid Engine tries to find (further)
> cores
> >              on the socket with the most unbound cores and  so  on.   If
>  the
> >              amount  of  allocated  cores  is  lower than requested
> cores, no
> >              binding is done for the job.
> > ---
> >
> > For me this sounds more like the behaviour I suggested, but my
> > understanding might be wrong here ... Maybe there's even a difference in
> > the implementation between UGE and SoGE/OGS now.
> >
> > Cheers,
> > Andreas
> > --
> > | Andreas Haupt             | E-Mail: [email protected]
> > |  DESY Zeuthen             | WWW:    http://www-zeuthen.desy.de/~ahaupt
> > |  Platanenallee 6          | Phone:  +49/33762/7-7359
> > |  D-15738 Zeuthen          | Fax:    +49/33762/7-7216
> >
> >
> > _______________________________________________
> > users mailing list
> > [email protected]
> > https://gridengine.org/mailman/listinfo/users
>
>
_______________________________________________
users mailing list
[email protected]
https://gridengine.org/mailman/listinfo/users

Reply via email to