[GE users] How to get one of my jobs to land on top of other pending jobs belonging to me - no impact to other users jobs

andy andy.schwierskott at sun.com
Mon May 10 11:34:19 BST 2010


Shruti,

> We use project sharetree policy with default.We just increase the
> fairshare of projects and put it on different q with restricted access if
> users need to go for higher priority job/rush jobs.
>
> This request scope needs to be limited to just one user and his jobs on
> regular q being shared with all other users using same project.
>
> So, what is the right way to get the desired results?

If a user needs to boost the priority of his own pending jobs without
impacting other jobs the "-js" option is the right method.

See what I've done:

% qconf -bonsai
Root=1
   prjA=100
      default=10
   prjB=100
      as1=10
      dg=10
      eb=10

User "eb" submitted 6 jobs, three jobs to prjA and three to projB.
Afterwards user "as1" did the same. There is 1 million sharetree tickets
configured, and since the past usage was 0 we get as expected this ticket
distribution:

% qstat -ext
job-ID  prior   ntckts  name       user         project          department state cpu        mem     io      tckts ovrts otckt ftckt stckt share queue
------------------------------------------------------------------------------------------------------------------------------------------------------
    339 0.56000 1.00000 sleep      eb           prjA             defaultdep qw                               500000     0     0     0 500000 0.20
    342 0.56000 1.00000 sleep      eb           prjB             defaultdep qw                               500000     0     0     0 500000 0.20
    345 0.55500 0.50000 sleep      as1          prjA             defaultdep qw                               250000     0     0     0 250000 0.10
    348 0.55500 0.50000 sleep      as1          prjB             defaultdep qw                               250000     0     0     0 250000 0.10
    340 0.55333 0.33333 sleep      eb           prjA             defaultdep qw                               166666     0     0     0 166666 0.07
    343 0.55333 0.33333 sleep      eb           prjB             defaultdep qw                               166666     0     0     0 166666 0.07
    346 0.55250 0.25000 sleep      as1          prjA             defaultdep qw                               125000     0     0     0 125000 0.05
    349 0.55250 0.25000 sleep      as1          prjB             defaultdep qw                               125000     0     0     0 125000 0.05
    341 0.55200 0.20000 sleep      eb           prjA             defaultdep qw                               100000     0     0     0 100000 0.04
    344 0.55200 0.20000 sleep      eb           prjB             defaultdep qw                               100000     0     0     0 100000 0.04
    347 0.55167 0.16667 sleep      as1          prjA             defaultdep qw                               83333     0     0     0 83333 0.03
    350 0.55167 0.16667 sleep      as1          prjB             defaultdep qw                               83333     0     0     0 83333 0.03

After issuing the commands

  qalter -js 1 346
  qalter -js 1 350

which increase the relative share of

   - the second job of user "as1" submitted to prjA
   - the third job of user "as1" submitted to prjB

these jobs are just ranked higher than the other jobs of user "as1" but it does not impact the jobs of user "eb":

% qstat -ext
job-ID  prior   ntckts  name       user         project          department state cpu        mem     io      tckts ovrts otckt ftckt stckt share queue
------------------------------------------------------------------------------------------------------------------------------------------------------
    339 0.56000 1.00000 sleep      eb           prjA             defaultdep qw                               500000     0     0     0 500000 0.20
    342 0.56000 1.00000 sleep      eb           prjB             defaultdep qw                               500000     0     0     0 500000 0.20
    346 0.55500 0.50000 sleep      as1          prjA             defaultdep qw                               250000     0     0     0 250000 0.10
    350 0.55500 0.50000 sleep      as1          prjB             defaultdep qw                               250000     0     0     0 250000 0.10
    340 0.55333 0.33333 sleep      eb           prjA             defaultdep qw                               166666     0     0     0 166666 0.07
    343 0.55333 0.33333 sleep      eb           prjB             defaultdep qw                               166666     0     0     0 166666 0.07
    345 0.55250 0.25000 sleep      as1          prjA             defaultdep qw                               125000     0     0     0 125000 0.05
    348 0.55250 0.25000 sleep      as1          prjB             defaultdep qw                               125000     0     0     0 125000 0.05
    341 0.55200 0.20000 sleep      eb           prjA             defaultdep qw                               100000     0     0     0 100000 0.04
    344 0.55200 0.20000 sleep      eb           prjB             defaultdep qw                               100000     0     0     0 100000 0.04
    347 0.55167 0.16667 sleep      as1          prjA             defaultdep qw                               83333     0     0     0 83333 0.03
    349 0.55167 0.16667 sleep      as1          prjB             defaultdep qw                               83333     0     0     0 83333 0.03

So I believe "-js" should do what you want to achieve?

Andy

>
> Thanks,
> Shruti
>
> -----Original Message-----
> From: andy [mailto:andy.schwierskott at sun.com]
> Sent: Friday, May 07, 2010 5:10 AM
> To: users at gridengine.sunsource.net
> Subject: Re: [GE users] How to get one of my jobs to land on top of other pending jobs belonging to me - no impact to other users jobs
>
> Hi Shruti,
>
> > We use SGE 6.2U5.
> >
> > One of the user wants to raise priority of a specific job of his to sit on
> > top of other pending jobs for him. He does not want to impact other users
> > pending jobs.
> >
> > "qalter -js 1 <job-id>" option does not work for the user as it is putting
> > his job on top of all other users pending jobs as well. He only wants to
> > impact his own set of jobs.
> >
> > I would like to consider "-p" option. Constraint in that option is that
> > user can only decrease priority..that would work in the sense that he can
> > decrease relative priority for his pending jobs that he wants to sit below
> > urgent job.
> >
> > For implementing "-p <negative prior>" for all rest job-ids and "-p
> > <default 0>" for job to be on top of user specific job pile, I would need
> > to change scheduler config as below :
> >
> > weight_priority 0.00000 > weight_priority 1.00000
> >
> > Pls suggest if that sounds like a good approach or it would receive same
> > fate as "-js" option.
>
> What (ticket) policies are you currently using to prioritize jobs of the
> users? Is it the sharetree policy? Or the functional policy?
>
> If it's the sharetree policy: Is it a user or project sharetree? Is there a
> "default" node under the projects, or are user explicitly listed under a
> project?
>
> The Posix priority is not part of the ticket policy. So if you use it,
> depending on the weighting factors it opens a new priority band, not only
> weighting jobs of the same user. So it would place that single job ahead of
> all other jobs if weight_priority >> weight_ticket (or give pretty
> unpredictable results if weight_priority and weight_ticket have similar
> magnitudes.
>
> Andy

------------------------------------------------------
http://gridengine.sunsource.net/ds/viewMessage.do?dsForumId=38&dsMessageId=256826

To unsubscribe from this discussion, e-mail: [users-unsubscribe at gridengine.sunsource.net].



More information about the gridengine-users mailing list