home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / vmsnet / internal / 1700 < prev    next >
Encoding:
Internet Message Format  |  1992-12-21  |  9.4 KB

  1. Path: sparky!uunet!elroy.jpl.nasa.gov!usc!sol.ctr.columbia.edu!hamblin.math.byu.edu!arizona.edu!telcom.arizona.edu!leonard
  2. Newsgroups: vmsnet.internals
  3. Subject: Re: Received Bytes Accounting
  4. Message-ID: <1992Dec18.132136.4147@arizona.edu>
  5. From: leonard@telcom.arizona.edu (Aaron Leonard)
  6. Date: 18 Dec 92 13:21:32 MST
  7. Reply-To: Leonard@Arizona.EDU
  8. References: <01GSFKS4THCYAFTSR3@accuwx.com>
  9. Distribution: world,local
  10. Organization: University of Arizona Telecommunications
  11. Nntp-Posting-Host: penny.telcom.arizona.edu
  12. Lines: 175
  13.  
  14. In article <01GSFKS4THCYAFTSR3@accuwx.com>, Paladin 
  15. <GOODMAN@ACCUWX.COM> writes:
  16.  
  17. | None of the process accounting data that VMS records is a fair
  18. | and accurate way to charge a user for use of a time-shared Vax:
  19.  
  20. Bull.  Connect time is a perfectly good measure of resource 
  21. consumption, because it directly relates to usage of real 
  22. physical hardware: a terminal, a serial line, a modem, a
  23. terminal server port, etc.
  24.  
  25. | *  For a session where the user is retrieving a fixed amount of
  26. |    data, the elapsed process time is really a measure of how slow
  27. |    the system is at the time of that session.  Why should a user
  28. |    be charged *more* when he has to wait longer to get his data?
  29.  
  30. Because a given amount of CPU time is a scarcer resource, and
  31. hence more valuable, during times of heavy load.  It makes sense
  32. to charge a user more for n CPU ticks at 2 p.m. than at 2 a.m., just
  33. as it makes sense to charge water customers more per acre-foot
  34. at 2 p.m. in July than at 2 a.m. in December.  The maximum capacity
  35. of systems like VAXen and water plants needs to be configured to
  36. cover peak loads, so it makes perfect sense to discourage consumption
  37. at overload times via variable pricing.
  38.  
  39. | *  CPU-use based accounting over charges users when they run badly
  40. |    written applications that are CPU hogs.
  41.  
  42. Just as per-gallon gas prices "over charge" people who drive 1971 
  43. Eldorados.  If you don't charge users for using wastefully designed
  44. and implemented products, then where is their incentive for 
  45. purchasing more efficient products?
  46.  
  47. |  If users are migrated
  48. |    among Vaxes with different CPU speeds determining a fair rate
  49. |    for CPU use becomes problematical.   And on faster Vaxes VMS is
  50. |    extremely inaccurate in recording CPU use; the interval timer
  51. |    interrupt service routine which records what process is using
  52. |    the CPU runs only every .01 seconds; in that interval many I/O
  53. |    bound processes may have briefly used the CPU and then returned
  54. |    to LEF state.
  55.  
  56. Ten years ago, some fools at an august southwestern land-grant
  57. university decided to "account" for every jot and tittle of usage on
  58. their large and expensive DECsystem-10 mainframes.  After several
  59. man-years of labor, the end result was that 70% of the disk space
  60. on these mainframes were consumed by accounting data, vs. 10%
  61. given over to user files.  While these beancounters had failed to collect
  62. anything in fees, because their charging algorithm was so byzantine
  63. as to be utterly incomprehensible and unenforceable.
  64.  
  65. It would appear that you wish to replicate their efforts in the realm
  66. of CPU usage.
  67.  
  68. | *  The process direct I/O count (DIOCNT) is, to some degree, a measure
  69. |    of how much work the process did.  But again it may often be more of
  70. |    an indication of how well specific applications were designed.  And
  71. |    it would be difficult for remote users to relate the DIOCNT figure
  72. |    to what they would perceive as the true value of their time-sharing
  73. |    session.  For most users this "perceived session value" would be
  74. |    related to how much data they receive on their terminal.
  75.  
  76. Doubtful.  A Usenet reader perusing alt.sex.bondage may receive 
  77. megabytes of "information" sent to his screen during a single terminal
  78. session.  A physicist running a simulation may receive one line of
  79. terminal output following an eight-CPU-hour run.  I am skeptical
  80. that the Usenet browser would be willing to spend one hundred
  81. thousand times more money on his session than the physicist would
  82. on his.
  83.  
  84. | *  The process buffered I/O count (BIOCNT) counts not just I/O to
  85. |    the user's terminal but also file opens and other miscellaneous
  86. |    I/O types.
  87. | *  The number of I/Os performed on the user's terminal device could
  88. |    be calculated by storing the I/O count of the device at login and
  89. |    subtracting that from the I/O count at process termination.  This
  90. |    would require an executive rundown routine to perform this and to
  91. |    record the result somewhere.  This is getting closer to being a
  92. |    measure of the "perceived session value" but it still has one flaw:
  93. |    An I/O to the terminal device can vary from being one byte long to
  94. |    being a dump of a "n"K buffer.   A well designed application that
  95. |    uses large buffers would have at least the same perceived value as
  96. |    one that does no terminal I/O buffering, but its device I/O count
  97. |    could be less by orders of magnitude.
  98. | ------------------------------------------------------------------------
  99. | So what is really needed is a count of the bytes written to the user's
  100. | terminal.  Unfortunately VMS does not record any statistics on the
  101. | number of bytes written to a device.
  102.  
  103. I would contend that providing "usage information" in endless 
  104. granularity and myriad detail would be overall harmful, because
  105. it would further encourage myopic beancounters to spend enormous
  106. amounts of time grovelling over infinitesimal particles of data, just
  107. as SHOW MEMORY/POOL has caused man-centuries of somewhat
  108. valuable system manager time to be squandered twiddling IRPCOUNT.
  109. (Although it could well be argued that people so inclined are better
  110. occupied entangled in makework than what they might be doing
  111. otherwise, e.g. incompetently creating unmaintainable software.
  112.  
  113. | So I am asking all you internal gurus with those source listings by
  114. | your side for help!  How about a patch to the terminal class driver
  115. | that records the total number of bytes from all $QIOs (or just the
  116. | write $QIOs if possible) performed to a terminal device somewhere in
  117. | its UCB where I could access it when the master process of an inter-
  118. | active job logs out.
  119.  
  120. I will defer to any actual internal guru who would care to reflect on
  121. the loss in efficiency that requiring all silo'd RMS writes to be 
  122. byte-counted would entail.
  123.  
  124. | Or, alternately, record the total number of bytes written to any terminal
  125. | device by a process, since remote users normally don't use more than one
  126. | terminal device anyway.  If this value could be stored in an under-used
  127. | field that's written to the VMS accounting record for the process, such as
  128. | ACC$L_VOLUMES (remote users never mount volumes) that would be fantastic!
  129. | And if somehow this accounting could be done on job-wide basis instead of
  130. | per process that would be even better!!
  131. | A patch for any VMS 5.5 release would be fine.  I will be happy to debug
  132. | it myself.  And I promise not to bug the author for updates for new VMS
  133. | releases.
  134.  
  135. Now, for the $64 question: even assuming you were oblivious to the
  136. drop in performance that implementing your supposed improvement
  137. would entail, I would like to know how much cash money you would
  138. be willing to fork over for someone to do the work.  
  139.  
  140. A little thought experiment: let's say that someone rewrote TTDRIVER
  141. and RTDRIVER to make $QIO count bytes and update UCBs or PHDs or
  142. whatever.  Let's say you hired someone good (because you don't want
  143. to crash your system), so you're paying $100 an hour for only 40 hours
  144. of work rather than $25 an hour for 500 hours of work.  
  145.  
  146. So you'll have to plunk down four grand to get your little "improvement".
  147. I suppose you'll have to recoup your "investment" in increased rates on
  148. all of your customers.  If you want a two-year payback, then you'll
  149. have to charge raise your rates enough to gain $2K per year, or $6 per
  150. day across your user base.
  151.  
  152. Now, I assume that you are in competition with other VMS timesharing
  153. providers.  (If you have no competition, then I don't imagine you would
  154. be so worried about coming up with a "fair" rate ... you'd just pull some
  155. egregious number out of some occluded place and inflict it upon your 
  156. captive audience.)  Your competitors have $6/day lower costs than
  157. you do, and so will be able to charge significantly lower rates than 
  158. you can.  We are to believe that your customers will be glad to pay 
  159. your higher rates because they will get terminal bytecounts on their
  160. bills rather than I/O counts.
  161.  
  162. Doubtful.  Actually, if your users are charged on a per-character
  163. basis, they will SET MESS/NOFACIL/NOIDENT/NOSEVER/NOTEXT in
  164. their LOGIN.COMs and then spend their time and yours trying to 
  165. figure out why they can't figure out why things don't work.
  166.  
  167. In my humble opinion, usage-based accounting for host computing 
  168. is an utter crock.  Back when a 780 cost half a million dollars, it may
  169. have made sense to expend resources charging back for usage.
  170. Nowadays, when you can get a 5-MIP VAX for $3000, it is ludicrous
  171. to squander expensive people-time beancounting for usage of an
  172. almost free resource.  If your bills actually cover the cost of your
  173. billing, you will be forced to charge so much that your customers
  174. will be inspired to buy their own systems, which will enable them
  175. to get actual work done without worrying about every miserable
  176. byte that comes thru their terminal line.
  177.  
  178. Aaron
  179.  
  180. Aaron Leonard (AL104), <Leonard@Arizona.EDU>
  181. University of Arizona Network Operations, Tucson AZ 85721
  182.   "It's not a bug, it's a form of flow control."
  183.   - Jerry Leichter on why crash-prone Unix is a suitable
  184.     platform for NSFNET core routers
  185.