Opened 14 years ago

Last modified 9 years ago

#337 new enhancement

IZ1992: Enable slots to be used as -l

Reported by: pcarey Owned by:
Priority: normal Milestone:
Component: sge Version: 6.0u7
Severity: Keywords: scheduling
Cc:

Description

[Imported from gridengine issuezilla http://gridengine.sunsource.net/issues/show_bug.cgi?id=1992]

        Issue #:      1992             Platform:     All           Reporter: pcarey (pcarey)
       Component:     gridengine          OS:        All
     Subcomponent:    scheduling       Version:      6.0u7            CC:    None defined
        Status:       NEW              Priority:     P3
      Resolution:                     Issue type:    ENHANCEMENT
                                   Target milestone: ---
      Assigned to:    andreas2 (andreas2)

                      This user has been disabled.
      QA Contact:     andreas
          URL:
       * Summary:     Enable slots to be used as -l
   Status whiteboard:
      Attachments:

     Issue 1992 blocks:
   Votes for issue 1992:


   Opened: Thu Feb 23 09:54:00 -0700 2006 
------------------------


The current limitations of SunGrid 6.0u7 are as follows:

     The pre and post execution scripts need to be integrated with the job as
in LSF. Having them operated completely independantly has little use. One
advantage would be to allow for dynamic parsing of command line options to
remove a lot of extra switches that a user may need to enter. This would allow
for expressions to be supported and allow for a more dynamic solution. However
allowing for them to be integrated provides a better product.

It seems very difficult to run a job exclusively on a host. If the cluster
contains a mixture of 2 and 4 CPU servers, then there is a need to pass a flag
that means all slots. I have looked into complex values and parallel
environments using $pe_slots but they require the user to specify the number of
CPU's. I know there's the argument of a user needing to know about their job
but that should not extend to the environment since the point of thegridengine
is to accept the requirements from the user and allocated the relevant
resources. One solution is "-l exclusive=2,num_cpu=2" ad the other using
parallel environments "-pe ex 2" using $pe_slots to fill all slots on a single
server. This ensures that a job that will take 2 slots must run on a system
with 2 CPU's otherwise it will not be exclusively reserved. The point here is
that we don't want users to know how many CPU's run on each server. Note if
they had submitted a job with the option "-l exclusive=2 and a 4 CPU server was
free, then the job would be submitted to that server. Another one or two jobs
could be submitted to the same server. One solution of allowing expressions
that I have already seen raised where we could specify "-l exclusive=$slots".
It would also be nice to ensure users could not enter "-l exclusive=0".
Considering the number of times I have seen this requested, I believe it should
be implemented ASAP.

Peter

Change History (0)

Note: See TracTickets for help on using tickets.