[comp.os.vms] Deductible process quotas

IMHW400@INDYVAX.BITNET (Mark H. Wood) (07/29/88)

>From:         "Jerry Leichter (LEICHTER-JERRY@CS.YALE.EDU)"
>              <LEICHTER@VENUS.YCC.YALE.EDU>
>Subject:      re: Detached "run" page faults
>When you create a subprocess, it gets its own values for various quotas.  Most
>of these are "pooled", or shared with the master process (subprcess quota is
>an obvious one); some are "deductible" taken from the parent, given to the
>child, and returned when the child terminates (I think the remaining time
>limit may currently be the only deductible quota); and some are just granted
>anew to the new process ("non-deductible").

Unless something has changed recently, Mr. Leichter is correct in stating that
CPU time limit is the only deductible quota.  I wanted to add some rather
obscure information that I spent a lot of effort to find.

We had a user whose batch job was spawning multiple subprocesses to do the
bulk of its work (don't ask me why).  The user complained that his job was
crashing on time limit, but wasn't using nearly as much as the limit he'd
set.  After some head-scratching and a few experiments, I determined that
a deductible quota is implemented by dividing the parent's remaining quota
evenly between the parent and the newly-created child.  This means that
if process A, with a 60 minute limit, spawns processes B and C, after the
spawning is done B will have a 30-minute limit and A and C will have 15
minutes each.  (Actually the numbers will be slightly less, since A has
been consuming some of his limit to do the spawning.  The remaining quotas
assigned to all three processes will reflect this.)  The resulting job behavior
will be quite puzzling to those who don't know the secret, which is *only*
found (so far as I know) by reading the information about PQL$_CPULIM in
the System Services volume under service $CREPRC.

I guess that there had to be some kind of default, and this formula is as
good as any; I just wish it was better documented.  So, be forewarned.
To override the default deductible algorithm, you have to use $CREPRC and
specify the amount of time to give, which will still be deducted from the
parent's remaining quota.

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mark H. Wood    IMHW400@INDYVAX.BITNET   (317)274-0749 III U   U PPPP  U   U III
Indiana University - Purdue University at Indianapolis  I  U   U P   P U   U  I
799 West Michigan Street, ET 1023                       I  U   U PPPP  U   U  I
Indianapolis, IN  46202 USA                             I  U   U P     U   U  I
[@disclaimer@]                                         III  UUU  P      UUU  III