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

  1. Xref: sparky comp.benchmarks:1695 comp.arch.storage:775
  2. Path: sparky!uunet!dtix!darwin.sura.net!sgiblab!sgigate!sgi!igor!jbass
  3. From: jbass@igor.tamri.com (John Bass)
  4. Newsgroups: comp.benchmarks,comp.arch.storage
  5. Subject: Re: Disk performance issues, was IDE vs SCSI-2 using iozone
  6. Message-ID: <1992Nov16.031850.9663@igor.tamri.com>
  7. Date: 16 Nov 92 03:18:50 GMT
  8. References: <36995@cbmvax.commodore.com> <1992Nov12.193308.20297@igor.tamri.com> <sc77t04@zuni.esd.sgi.com>
  9. Organization: TOSHIBA America MRI, South San Francisco, CA
  10. Lines: 135
  11.  
  12. Hi Dave ... long time no hear .... interesting that so many Ex-Fortune
  13. guys all ended up at SGI ...
  14.  
  15. >Doing it in the filesystem requires all apps that ever deal with
  16. >the raw disk to do it also.  Not a great idea.  A number of apps,
  17. >particularly database programs use the raw disk.
  18.  
  19. My point is that unmapped disks with visible error blocks represent
  20. the least possible cpu requirements for the slow microprocessor in
  21. the drive and for the host filesystem/driver when errors are handled
  22. directly by the filesystem. Maybe bad blocks should be visible for raw
  23. partitions as well, and databases (few in number) also understand about
  24. not using bad blocks. Translation overheads in the drive can represent
  25. a significant loss in performance.
  26.  
  27. Filesystem management doesn't prevent driver mapping, ... but driver
  28. mapping does generate additional unwanted I/O's that the data base
  29. may not anticipate ... remapping a single sector in the middle of a
  30. large request will generate 3 I/O's .... start, remaps, and ending segements.
  31.  
  32. If under a frequently updated table element, the write backs will have a
  33. sigificant and measurable performance decrease without any indication
  34. of such to the user or Database Admin or systems staff. Like filesystems
  35. Databases often have key tables that represent 5-15% of the updates.
  36.  
  37. In addition, doing mapping in the driver requires a table lookup for
  38. exceptions on every I/O request ... for 50-60 errors (not an unreasonable
  39. number for a very large drive) this is often 150usec or more memory/cpu time
  40. per request that is wasted. At 80 requests per second this is about 1.5%
  41. of the cpu. Now sure the SGI machines have faster CPU's/memory, but this
  42. is not a great tradeoff for 386 PC's.  Some large drives have more than a
  43. hundred errors.  Now sure, key vendors can order error free drives for a
  44. premium, but what about the rest of the market?
  45.  
  46. Even with slip sectoring in the drive, error groups will over run, and
  47. the drive will do even slower table lookups and/or long seeks. Slip
  48. sectoring on scsi drives also makes the math more complex to translate
  49. logical to physical for every request ... on a slow micro this time adds
  50. up as well. For an IDE drive that does geometry mapping it is also a problem.
  51.  
  52. >
  53. >| Nor would I like to be the customer who has his FAT or root inode over
  54. >| a remapped sector.
  55. >
  56. >As I said above, I doubt this would be measurable, given any decent
  57. >drive.  Of course, there are always going to be poorly implemented
  58. >drives, but you have to draw the line somewhere.
  59.  
  60. I'm sorry Dave .... but I have already seen this happen ... the spare in
  61. the current cyl was already used, and each access to the FAT did two long
  62. seeks. Of course all that was needed was repartitioning the drive to move
  63. the FAT .... but still, most customers don't understand the problem.
  64.  
  65. Now maybe there are better ways than remapping to the end of the drive ...
  66. how do current drives handle more than n bad sectors in a zone? Do
  67. they table lookup on every request?
  68.  
  69. >
  70. >| >    Yes, write-buffering does lose some error recovery chances, especially
  71. >| >if there's no higher-level knowledge of possible write-buffering so
  72. >| >filesystems can insert lock-points to retain consistency.  However, it can be
  73. >| >a vast speed improvement.  It all depends on your (the user's) needs.  Some
  74. >| >can easily live with it, some can't, some need raid arrays and UPS's.
  75. >| 
  76. >| It is only a vast speed improvement on single block filesystem designs ...
  77. >| any design which combines requests into a single I/O will not see such
  78. >| improvement ... log structured filesystems are a good modern example.
  79. >| It certainly has no such effect for my current filesystem design.
  80. >
  81. >Unfortunately, by actual measurement, this is untrue.  Even with
  82. >write buffering turned on, errors can still be handled; it just
  83. >requires the driver to keep the previous request around till the
  84. >next request is done.  This slows things down for sync writes to
  85. >the point where it is actually a slight loss, but fortunately most
  86. >writes are async (at least for unix, and presumably most modern
  87. >OS's).  Command queuing with SCSI2 has similar issues.
  88.  
  89. For SCSI this is true with tagged queuing ... for IDE and many caching ctlrs
  90. enabling write behind leaves you entirely blind to the error, and it can be
  91. more than one request back.
  92.  
  93. >| that be at Fortune Systems ... we put it in ... only to take it when Field
  94. >| Service grew tried of the bad block tables overflowing and taking a big loss
  95. >| on good drives being returned due to "excessive bad blocks" as the result
  96. >| of normal (or abnormal) soft error rates due to other factors.
  97. >
  98. >Yes, I remember this.  I've seen similar things happen with SCSI disks
  99. >that implemented the dynamic mapping poorly.  I've reached the confidence
  100. >point with current drives that SGI ships (i.e., that we have done
  101. >qualification on, including numerous discussions with drive firmware
  102. >vendors), that I enable the dynamic mapping.  I very rarely see false
  103. >remappings.  Technology has advanced some over the years.
  104.  
  105. Sgi ships top of the line ... including power supplies ... with cheap
  106. PC's this is seldom true and I've seen two customer failures along this
  107. line in the last year. Most PC power supplies are worse about meeting
  108. 12v regualtion under load than the Fortune Zenith's were. While high
  109. end technology has advanced, low end power technology hasn't, and
  110. automatic remapping will have the customer buy several new drives
  111. before a tech will fix the supply or configuration. For a number of
  112. applications each down time can cost more than the whole machine
  113. is worth.
  114.  
  115. >
  116. >| Write buffering requires automatic remapping ... A good filesystem design
  117. >
  118. >No it doesn't.  All it requires is error recovery code in the host.
  119. >Any host OS that enables writebuffering without that error recovery
  120. >code is either asking for trouble, or poorly written.  We provide the
  121.  
  122. For SCSI true ... for IDE & caching controllers enabling write buffering
  123. leaves you blind to errors without automatic remapping.
  124.  
  125. >Sorry, but I have to disagree with you here.  The greatest benefit
  126. >from write buffering is when you have disjoint blocks that can't
  127. >be joined into a single write (SGI does write combining in the
  128. >filesystem code, and I have many measurements that confirm this),
  129. >as it allows the OS to overlap the setup for the next write with
  130. >the drive doing the previous write.  Even on fast systems, this
  131. >can be significant.  Sure, single block sequential writes will
  132. >be helped as well, but as you say, this should not normally occur
  133. >in a well implemented system.
  134.  
  135. I agree that for SCSI this represents a gain due to command decode timings
  136. of typical drives ...  for IDE the amount of overlap is NIL, and not worth
  137. the implied error risks.
  138.  
  139.  
  140. ... well I think we have beat this issue to death .... enough for me
  141. unless someone brings something really interesting to the table.
  142.  
  143. have fun ...
  144.  
  145. John Bass, Sr. Engineer, DMS Design                  (415) 615-6706
  146. UNIX Consultant             Development, Porting, Performance by Design
  147.