home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / os / vms / 14635 < prev    next >
Encoding:
Internet Message Format  |  1992-09-07  |  3.9 KB

  1. Path: sparky!uunet!usc!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!ucbvax!lrw.com!leichter
  2. From: leichter@lrw.com (Jerry Leichter)
  3. Newsgroups: comp.os.vms
  4. Subject: RE: Resource Quotas
  5. Message-ID: <9209041108.AA23371@uu3.psi.com>
  6. Date: 4 Sep 92 11:12:28 GMT
  7. Sender: daemon@ucbvax.BERKELEY.EDU
  8. Distribution: world
  9. Organization: The Internet
  10. Lines: 62
  11.  
  12.  
  13.     I have been looking at the resource quotas in Authorize and trying to
  14.     understand exactly the diffrence between POOLED, SYSTEM-WIDE,
  15.     DEDUCTABLE AND NON-DEDUCTABLE resource process limits.  Can anyone
  16.     give discribe exactly what these mean and how they relate to the total
  17.     system resources. By the way (I have looked at "GUIDE TO SETTING UP A
  18.     VMS SYSTEM" and still have questions about what the manual is trying
  19.     to say.
  20.  
  21. The difference between pooled, deductible, and non-deductible quotas are only
  22. visible when there are multiple processes in a job tree.
  23.  
  24. Processes in VMS are organized in groups called jobs.  At the top of a job is
  25. a detached process, which has no parent; below it are any number of subpro-
  26. cesses.
  27.  
  28. A pooled quota is charged to the job tree as a whole:  There is one counter of
  29. how much of the controlled resource is in use, and every process in the tree
  30. adds and subtracts its usage from that counter.  The quota limits how large
  31. the counter can get.  An example of a pooled quota is FILLM, which controls
  32. channel (open file) slots.  If FILLM is 100, then all the processes in a job
  33. tree can have at most a total of 100 files open at any one time.  A pooled
  34. quota effectively flows back and forth among the processes in the job tree on
  35. an as-needed basis.
  36.  
  37. A deductible quota is split between a parent process and a subprocess at the
  38. time the subprocess is created.  During the life of the subprocess, it
  39. retains ownership of that piece of quota (though it may, in turn, split it
  40. with its own subprocesses).  The subprocess can't take more of the parent's
  41. quota, nor can the parent take back the deductible quota it has granted its
  42. subprocess.  When the subprocess terminates, any remaining deductible quota
  43. units are returned to the parent.   There is only one deductible quota:  The
  44. CPU time limit.
  45.  
  46. A non-deductible quota is "the remaining case".  This a terrible name; it
  47. should really be called something like an "independent quota".  Each process
  48. in the job tree has an independent counter of how much of a resource control-
  49. led by such a quota it is using, and each counter independently is limited
  50. by the quota.  When a subprocess is created, the parent process specifies
  51. how much of each non-deductible quota it should have.  This quota is not taken
  52. away from the parent, but it is limited to at most the parent's own value of
  53. that quota.  An example of a non-deductible quota id BIOLM, the number of
  54. buffered I/O operations a process may have pending at once.  If BIOLM is 10,
  55. then each process in the job tree may have 10 buffered I/O operations pending
  56. at any time, independent of what the other processes in the job tree are
  57. doing.  (Actually, like several other non-deductible quotas, the real effect
  58. of BIOLM is also limited by a pooled quota:  A buffered I/O request requires
  59. allocation of system buffer space to the process, and that allocation is
  60. limited by BYTLM, which is pooled.)
  61.  
  62. There are no system-wide quotas as such.  There are, however, system paramet-
  63. ers that influence the quota values that $CREPRC, which creates all processes
  64. in a VMS system, will assign.  For quota q, parameter PQL_Mq establishes a
  65. minimum value for q; if $CREPRC is asked to create a process with a smaller
  66. value for q, it will ignore the request and assign PQL_Mq units instead.
  67. $CREPRC allows the parent process to leave any (or all) of the quota values
  68. unspecified.  If q is left unspecified, the value $CREPRC uses is PQL_Dq.
  69. (The check against the minimum value, PQL_Mq, is done AFTER assignment of
  70. defaults, so if PQL_Dq < PQL_Mq, $CREPRC will end up using the Minimum in
  71. place of the Default.)
  72.                             -- Jerry
  73.  
  74.