HP3000-L Archives

February 1996, Week 2

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Stan Sieler <[log in to unmask]>
Reply To:
Stan Sieler <[log in to unmask]>
Date:
Tue, 13 Feb 1996 16:47:13 -0800
Content-Type:
text/plain
Parts/Attachments:
text/plain (78 lines)
Hi Mohan, Jeff.
 
If you implement a global job limit, as I fervently hope you do!,
here are some observations on it, along with a few notes.
 
Values other than 0 are important, in fact: critically important.  Many
sites will use this as a "throttling" mechanism.  (No, Workload Manager
won't suffice .. it controls exactly and only CPU utilization only.)
 
So, let's say the global limit is 9, and there are 9 jobs running, and
one terminates.  And, three jobqs have jobs ready to start, and two of
those three are below their jobq-specific job limit (jobqs FOO and FUM).
Which jobq do you choose from?  You *have* to pick some mechanism.  I'd
suggest one of the following:
 
   1) round-robin
 
      Pick FOO this time.  The next time you need to pick one, start at
      the first jobq alphabetically greater than FOO, and scan for a jobq
      with jobs waiting, and not yet at the limit.  If ZZZZZZZZ is passed,
      circle back to beginning.  If FOO is reached, check it.  If FOO is
      passed, give up and next search at FOO+1 again.
 
   2) priority
 
      Let every jobq have a priority in the range 0..99 be assigned (by
      limiting the range to 2 digits, you limit the # of characters it takes
      to display the priority).  Higher values are more important.  The
      default value is 0.
 
         :NEWJOBQ FOO; PRIORITY=9
         :NEWJOBQ FUM; PRIORITY=12
 
      FUM will always be picked over FOO.  Jobqs with equal priority are
      selected in a round-robin manner (see above).
 
Personally, I'd choose #2, but that requires the most work.  It is also
the most useful!  E.g., NEWJOBQ STAN; PRIORITY=99  :)
 
It also implies the need for an ALTJOBQ command:
 
      :ALTJOBQ FOO; PRIORITY=11
 
The jobq priority, and the "purge pending", would be stored in the
file jobq.JOBQ.HPSPOOL (e.g., FOO.JOBQ.HPSPOOL).  At bootup, jobq files
with "purge pending" set are deleted.
 
 
Once you get an ALTJOBQ command, you can consider:
 
      :ALTJOBQ FOO; [NO]RESTART
 
thus,
 
      :ALTJOBQ FOO; RESTART  --> jobs will be restarted after a system
      failure *if* start recovery is done.
 
      :ALTJOBQ FOO; NORESTART --> jobs will never be restarted after a
      system failure, regardless if "start recovery" is done.
 
and:
 
      :ALTJOBQ FOO; [NO]HIPRI
 
          ... HIPRI means "jobs streamed into this jobq have an implicit
              ;HIPRI on them...and SM is not required".  (Presumably, the
              ACD will be setup appropriately, as required!)
 
          ... NOHIPRI is the default, and does not imply HIPRI (and does
              not prevent it, if you are SM)
 
 
Also, never, ever, use the phrase "jobqueue" if you want people to standardize
on "jobq". :)   (And, I believe you want them to standardize on a spelling!)
 
Stan Sieler                                          [log in to unmask]
                                     http://www.allegro.com/sieler.html

ATOM RSS1 RSS2