Opened 17 years ago

Last modified 9 years ago

#58 new enhancement

IZ320: improve load formula syntax

Reported by: ernst Owned by:
Priority: lowest Milestone:
Component: sge Version: current
Severity: Keywords: scheduling
Cc:

Description

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

        Issue #:      320              Platform:     All           Reporter: ernst (ernst)
       Component:     gridengine          OS:        All
     Subcomponent:    scheduling       Version:      current          CC:    None defined
        Status:       NEW              Priority:     P5
      Resolution:                     Issue type:    ENHANCEMENT
                                   Target milestone: ---
      Assigned to:    andreas (andreas)
      QA Contact:     andreas
          URL:
       * Summary:     improve load formula syntax
   Status whiteboard:
      Attachments:

     Issue 320 blocks:
   Votes for issue 320:


   Opened: Mon Jul 15 08:08:00 -0700 2002 
------------------------


I would like to see the load formula syntax improved to handle more
flexible expressions. Specifically, I would like to able to specify
load_values as the weighting factors in the formula below. Currently,
the load formula is a bit limited because the weighting factors (w1,w2)
must be positive integers.
                                                                                                                load_val1[*w1][{+|-}load_val2[*w2][{+|-}...]]

Allowing load_values as weighting factors would allow me to specify a
load formula which does load balancing on one set of hosts, and best-fit
on another set of hosts based on load average or slots. Best-fit
scheduling is defined as "schedule this job to the host with the least
amount of available resources where it can run".
The best-fit load formula is:

slots
or
-np_load_avg

The load balancing algorithm is:

-slots
or
np_load_avg

With the new syntax, they could be combined as:
                                                                                                                slots*best_fit+slots*(best_fit-1)
or
-np_load_avg*best_fit-np_load_avg*(best_fit-1)

where best_fit is a boolean load value which is set to true (1) for
hosts which require "best-fit" scheduling and false (0) on hosts which
require load-balancing.
This a real scenario, where interactive jobs are load
balanced on one cluster, and batch jobs are scheduled best-fit to
another cluster. A given job is only a candidate to run on only one of
the clusters. Currently, this calculation has to be accomplished in the
load sensor itself, which causes the scheduling decision to be based on
stale information.

   ------- Additional comments from andreas Thu Sep 11 01:26:33 -0700 2003 -------
Using two load values or generally complex attributes in the load
formula is still not yet possible. Similar results however can in some
cases be achieved by using exec host based load scaling (see under
'load_scaling' in host_conf(5)). Load scaling is applied on the load
value of each host before it is used to determine the combined load
value as defined in the load formula.


   ------- Additional comments from sgrell Mon Dec 12 03:08:02 -0700 2005 -------
Changed subcomponent.

Stephan

   ------- Additional comments from joga Fri Nov 10 01:53:49 -0700 2006 -------
This is not a testsuite issue - moving it to scheduling subcomponent.

Change History (0)

Note: See TracTickets for help on using tickets.