home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / benchmar / 1707 < prev    next >
Encoding:
Internet Message Format  |  1992-11-16  |  6.7 KB

  1. Xref: sparky comp.benchmarks:1707 comp.arch.storage:780
  2. Path: sparky!uunet!cbmvax!jesup
  3. From: jesup@cbmvax.commodore.com (Randell Jesup)
  4. Newsgroups: comp.benchmarks,comp.arch.storage
  5. Subject: Re: Disk performance issues, was IDE vs SCSI-2 using iozone
  6. Message-ID: <37086@cbmvax.commodore.com>
  7. Date: 17 Nov 92 01:21:08 GMT
  8. References: <36995@cbmvax.commodore.com> <1992Nov12.193308.20297@igor.tamri.com> <37043@cbmvax.commodore.com> <1992Nov15.072855.3112@igor.tamri.com>
  9. Reply-To: jesup@cbmvax.commodore.com (Randell Jesup)
  10. Organization: Commodore, West Chester, PA
  11. Lines: 112
  12.  
  13. jbass@igor.tamri.com (John Bass) writes:
  14. >>    You need to separate multi-tasking from multi-user.  Single-user
  15. >>machines (and this includes most desktop Unix boxes) don't have the activity
  16. >>levels for the example you gave to have any relevance.  It's rare that more
  17. >>than one or two files are being accessed in any given second or even minute.
  18. >
  19. >I would have agreed with you up until last year ... X windows and MS windows
  20. >have drasticly changed the volume of disk I/O on PC's. At the same time,
  21. >disk I/O has become a major wait factor in the startup and initialization
  22. >of most GUI applications ... often contributing 80% of the minute or two
  23. >big applications take to startup. In addition, applications seldom deal with
  24. >simple ascii files .... they are now full of font and layout info, if
  25. >not bitmaps. The evolution was most noticable on my mac ... when I
  26. >first got my 128k mac I didn't understand why all the app's were
  27. >so big ... today I don't think there are may app's that will even
  28. >load on it ... many require more than the 1mb of a Mac Plus.
  29.  
  30.     Taking minutes to start an application is obscene to begin with (and of
  31. course X is usually horridly bloated).  Even in the cases you site, how much
  32. of the time is X actually reading more than one file at a time?  Sure, it may
  33. be reading 27 different files to start XSuperMarioBase, but I suspect it's
  34. reading them from the single process, one at a time...  The example you gave
  35. was of _massive_ io for a very _small_ portion of a disk.
  36.  
  37. >Applications that delivered acceptable performance on a 60KB/sec filesystem
  38. >10 years ago, now need 500KB/Sec or more. MSDOS and UNIX V7 filesystems
  39. >don't deliver this type of performance ... single block filesystems
  40. >are a thing of the past.
  41.  
  42.     So the MSDOS FS is crappy and V7 is ancient.  Is this news?  This
  43. doesn't mean you have to have super-dumb drives and super-intelligent
  44. filesystems to solve the problems.  How does HPFS do?  (Are the HPFS specs
  45. published or on the net somewhere?  I'd like to look into it...)
  46.  
  47. >>recognition of the costs and complexity involved should be there also.
  48. >>Filesystems are complex beasts, and that complexity can lead to high
  49. >>maintenance costs.  Things that increase the complexity of an already
  50. >>complex item for performance gains that are only rarely needed for the
  51. >>application are suspect.  Also, adding something to an already complex
  52. >>object can be more costly than adding it to a simple object, because the
  53. >>complexities interact.
  54. >
  55. >My point EXACTLY ... SCSI Firmware & Drivers have become too complex,
  56. >in many cases, more complex than the application & filesystem using it!
  57. >Enter IDE, simple firmware and simple drivers. And with some minor
  58. >issues resolved (like better host adapters), better performance.
  59.  
  60.     My side of it would be that filesystems are too complex already, and
  61. that moving such things to the drive avoids having all the complexity in one
  62. spot.
  63.  
  64. >>    Why should the single-user have to run everything through a cache?
  65. >>I think direct-DMA works very nicely for a single-user environment, especially
  66. >>if you don't own stock in RAM vendors (as the current maintainers of Unix,
  67. >>OS/2, and WindowsNT seem to).  Reserve the buffers for things that are likely
  68. >>to be requested again or soon - most sequential reads of files are not re-used.
  69. >
  70. >Generally user applications don't ask for a whole file, properly aligned
  71. >and of an even sector length ... the filesystem can. Disk caches don't need
  72. >to use an excessively large amount of DRAM to make significant performance
  73. >increases.
  74.  
  75.     That depends.  Most stdio's ask for BUFSIZE bytes, which is usually
  76. a multiple of the sector size, and usually on a BUFSIZE boundary.  Most
  77. programs that use low-level reads tend to read into allocated space, which is
  78. usually aligned.  Even if not initially aligned, after reading the first
  79. partial block often all but the last partial block can be read directly.
  80. It also depends what you consider "large".  I tend to consider 50K of buffers
  81. for a FS large (AmigaFS defaults are usually 15K).
  82.  
  83. >Actually, from my experience, most files opened and read sequentially,
  84. >will be opened and read sequentially again ... and soon. C compilers
  85. >open the sources once, then typically open 6-20 include files which
  86. >will be used again, if not for another compile, by the same users
  87. >next try of the same program. Ditto for the many default, startup
  88. >and font files in a X/motif environment. Make files, shell scripts
  89. >and other such tools are another good example. Many small programs
  90. >are also frequently re-used, especially those used by make & shell
  91. >scripts. In development environments, common libraries are also
  92. >often read.
  93.  
  94.     There is a small percentage of files that are often re-read.  The
  95. environment matters a lot also: for example, developers may re-read includes
  96. often, while users may start applications every few minutes or hours, which
  97. are read (including startup files) once.
  98.  
  99.     The problem is of course identifying the files that are likely to be
  100. re-read.  This can be a tough problem, especially if you're not willing to
  101. write to the disk on most file opens for read (to keep info on reuse).
  102.  
  103. >Caching all writes is also highly productive ... editor writes out
  104. >C source, to be read by C compiler which writes object module read
  105. >by linker which writes the executable to read by system loader when
  106. >the user tests. The cycle repeats, deleting ALL files created by the
  107. >cycle .... if you hold the I/O long enough ... it really isn't I/O
  108. >after all.
  109.  
  110.     You talk about write-caching in drives being dangerous, and you're
  111. advocating write-caching in the FS?  This is _far_ more dangerous.  It can
  112. be useful, but it adds significant risks if the machine may be powered-off
  113. unexpectedly, as desktop machines often are.  Write-caching makes sense on
  114. a computer in a machine room, with well-conditioned power or even a UPS,
  115. which is only shut off for maintenance.  It is not a very good idea for a
  116. machine on someone's desktop.  Do you want to explain to Mr. Naive User
  117. that you can't just save a file and switch the machine off?
  118.  
  119. -- 
  120. To be or not to be = 0xff
  121. -
  122. Randell Jesup, Jack-of-quite-a-few-trades, Commodore Engineering.
  123. {uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.cbm.commodore.com  BIX: rjesup  
  124. Disclaimer: Nothing I say is anything other than my personal opinion.
  125.