home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / unix / bsd / 8762 < prev    next >
Encoding:
Internet Message Format  |  1992-11-11  |  7.6 KB

  1. Xref: sparky comp.unix.bsd:8762 comp.benchmarks:1659 comp.arch:10636 comp.arch.storage:763
  2. Path: sparky!uunet!cis.ohio-state.edu!zaphod.mps.ohio-state.edu!caen!zeus.ieee.org!rutgers!bagate!cbmvax!jesup
  3. From: jesup@cbmvax.commodore.com (Randell Jesup)
  4. Newsgroups: comp.unix.bsd,comp.benchmarks,comp.arch,comp.arch.storage
  5. Subject: Re: Disk performance issues, was IDE vs SCSI-2 using iozone
  6. Message-ID: <36994@cbmvax.commodore.com>
  7. Date: 12 Nov 92 05:24:34 GMT
  8. References: <1992Nov7.102940.12338@igor.tamri.com> <36794@cbmvax.commodore.com> <1992Nov10.170022.21624@igor.tamri.com>
  9. Reply-To: jesup@cbmvax.commodore.com (Randell Jesup)
  10. Organization: Commodore, West Chester, PA
  11. Lines: 132
  12.  
  13. jbass@igor.tamri.com (John Bass) writes:
  14. >From: jesup@cbmvax.commodore.com (Randell Jesup)
  15. >>    You're right about the early SCSI days - for example, scsi got zone
  16. >>recording earlier, etc.  The base technology in IDE/SCSI is now the same, so
  17. >>it comes down to software and interface issues.  I'll agree that for a single-
  18. >>disk system and small transfers, IDE has a slight margin in speed over SCSI,
  19. >>due to lower command overhead. 
  20.  
  21. >Given small transfers qualification, "Slight margin in speed" is highly
  22. >debatable .... The ability to do read scheduling and write placement
  23. >based upon knowing geometry and current head/spindle position allows for
  24. >30%-700% better semi-random small file I/O with the right filesystem design.
  25.  
  26.     You're making the assumption that IDE doesn't hide that from you as
  27. well.  It does.  Some (many?) current IDE drives use the cylinder/head/sector
  28. registers as merely a convoluted way to specify a block number, use zone
  29. recording, etc.  I strongly suspect that this will continue, as the benefits
  30. of zone recording, sector replacement, etc are too large to ignore (a number
  31. of filesystems (most?) require that the device drivers present them with a
  32. perfect media, no unusable blocks.  This requires remapping of bad blocks in
  33. the disk controller (SCSI or IDE) or in the device driver itself.  Usually the
  34. controller has a better chance to do a good job at this.)
  35.  
  36. >>    Once per sector?  Don't PC's use the ReadMultiple/WriteMultiple
  37. >>commands?  I guess not (which matches what I've heard elsewhere).  Our IDE
  38.  
  39. >>    I don't understand your comment about "poor man's disconnect".  While
  40. >>you may be waiting for an interrupt, unless you have multiple IDE busses you
  41. >>can't use your second IDE drive until the IO on the first is complete.
  42. >
  43. >Yes, Yes ... the interrupt for WD1003/IDE interfaces means the 512 byte sector
  44. >buffer is full, and must be emptied. R/W Multiple are used, but it requires
  45. >handling a transfer request interrupt for each sector, or busy waiting on
  46. >data_request in the command status register ... hence poor man's disconnect
  47. >from the processor bus.
  48.  
  49.     I think you're confused.  The CAM-ATA spec (and all the IDE drives I've
  50. played with) says that when read/write Multiple is used (with SetMultiple),
  51. you get 1 interrupt per N sectors.  From CAM-ATA rev 2.3:
  52.  
  53.  9.12  Read Multiple Command 
  54.  
  55.  The Read Multiple command performs similarly to the Read Sectors command. 
  56.  Interrupts are not generated on every sector, but on the transfer of a block 
  57.  which contains the number of sectors defined by a Set Multiple command. 
  58.  
  59. > For WD100? cards, there is a single buffer per
  60. >controller ... on the IDE model there is a buffer per drive ... and each
  61. >can be active from what I can tell selected by the drive select bit(s).
  62.  
  63.     Nope.  The entire command must complete before you select the other
  64. drive.  No disconnect, no multiple simultaneous IO's.
  65.  
  66. >>    Write-buffering (starting to be commonly available as an option on
  67. >>SCSI drives) can help in avoiding slipping revs. 
  68.  
  69. >While some speed can be gained by this practice, all ability to handle
  70. >error conditions responsibly is generally lost. I am not a big fan of
  71. >lookaside bad block handling to a slow microprocessor ... it only
  72. >SIGIFICANTLY reduces throughput when important data gets spared ... leading
  73. >to difficult to understand IN-FIELD performance problems. Filesystems
  74. >should know and deal with media problems ... even though most UNIX's
  75. >either don't or have the drivers do the fix ups.
  76.  
  77.     There's a big philosophical argument over who should deal with media
  78. problems.  The consensus seems to be that they should be pushed into the
  79. lowest level possible (fs->driver->host controller->drive controller).  Having
  80. written both filesystems and device drivers, I must agree with that (and yes
  81. I've had to implement bad-block mapping at the driver level, such as for IDE).
  82.  
  83.     Yes, write-buffering does lose some error recovery chances, especially
  84. if there's no higher-level knowledge of possible write-buffering so
  85. filesystems can insert lock-points to retain consistency.  However, it can be
  86. a vast speed improvement.  It all depends on your (the user's) needs.  Some
  87. can easily live with it, some can't, some need raid arrays and UPS's.
  88.  
  89. >>As a multi-disk interface, or generalized IO interface (tape drives, CDROM,etc)
  90. >>SCSI has a large edge.  Also, IDE can only handle 2 devices.  Even if IDE
  91. >>tape drives and CDROMs were available (they're not), you'd rapidly start
  92. >>needing multiple IDE interfaces.
  93.  
  94. > Tapes are (or will be) here, and I
  95. >expect CDROMS (now partly proprietary & SCSI) to be mostly IDE & SCSI
  96. >in the future. IDE is already extending the WD1003 interface, I expect
  97. >addtional drive support will follow at some point, although multiple
  98. >hostadapters is a minor cost issue for many systems.
  99.  
  100.     There are rumbles in that direction.  I'm not certain it's worth
  101. it, or that it can be compatible enough to gain any usage.  Existing users
  102. who need lots of devices have no reason to switch from SCSI to IDE, and
  103. systems vendors have few reasons to spend money on lots of interfaces
  104. for devices that don't exist.  The reason IDE became popular is that it was
  105. _cheap_, and no software had to be modified to use it.
  106.  
  107. >>>Even the fastest 486 PC UNIX systems are filesystem CPU bound to between
  108. >>>500KB and 2.5MB/sec ... drive subsystems faster than this are largely
  109. >>>useless (a waste of money)
  110.  
  111. >>    This is a combination of poor interfaces and the OS interface.
  112. >>AmigaDos tries to do transfers direct to user buffers where possible,
  113.  
  114. >What I said was enough ... the UNIX interfaces are more general by DESIGN
  115. >and a simplistic OS can surely take additional short cuts beyond page
  116. >flipping ... AND SOME UNIX's do, and in some cases more should. Other than
  117. >pushing your product, I don't see the utility in knocking UNIX and pumping
  118. >AmigaDos. But thanks for your posting anyway.
  119.  
  120.     Sorry if I went too deep into it; most people don't realize the sorts
  121. of IO speeds that are possible.  I also wouldn't call AmigaDos simplistic
  122. (I would call MSDOS that, if I called it an OS at all).  AmigaDos is more
  123. complex (though in different ways) than many of the older, "clean" unixes
  124. like V7 (and larger, too).  Certainly it is designed with different targets
  125. in mind.  Blanket statements like "drives faster than X are a waste of money"
  126. are dangerous to make.  Such things often depend on factors you're making all
  127. sorts of assumptions about, starting with OS/FS and primary use of the drive.
  128. For example, people doing lots of high-speed from-disk animation _really_
  129. want high throughput for large transfers.
  130.  
  131.     Other reasonably modern OS's can also get very good IO numbers, such
  132. as QNX.
  133.  
  134. >As a side note, I saw a reference a while back to the IDE standard in
  135. >progress ...  How can I get a copy?
  136.  
  137.     Check the SCSI BBS (719) 574-0424.
  138.  
  139. -- 
  140. To be or not to be = 0xff
  141. -
  142. Randell Jesup, Jack-of-quite-a-few-trades, Commodore Engineering.
  143. {uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.cbm.commodore.com  BIX: rjesup  
  144. Disclaimer: Nothing I say is anything other than my personal opinion.
  145.