another newbie question

Jeffrey Watts watts at jayhawks.net
Sat Oct 21 18:57:49 CDT 2000


On Fri, 20 Oct 2000, Tony Hammitt wrote:

> You have to put up with the fact that your Ultra160 card has to hook
> up to the computer through one bus.  PCI32 (at 33MHz) is limited to
> 132 MB/s roughly divided by the number of cards on that bus.  Even if
> you use PCI64 at 66MHz, it's still slower than the bandwidth that the
> processors are capable of doing.

This was what bugged me about your math last time.  Regardless of which
processor generates the parity stripe (main CPU or the RAID controller
processor), the data STILL has to be sent through the PCI bus to get to
the disk.  Doesn't matter if the parity checksum is generated by a slow
100MHz processor on the RAID card, or an ultra-fast GHz PIII, the PCI
bandwidth to the disks is the same.  I'm willing to bet that most RAID
cards can generate a parity stripe faster than the PCI bus can get data to
them (probably by an order of magnitude).

The onboard IDE and SCSI controllers prevalent in the industry today all
hang off of the PCI controller.  Same bandwidth as the RAID card.  In
fact, I'd argue that the RAID card would do writes FASTER, since in most
situations it will be able to do DMA access to get the data, and leave the
processor alone.  There is no way that a software solution can somehow use
less CPU time or get more PCI bandwidth, which is the bottleneck as you've
identified.  Your point is that the CPU has much higher bandwidth to the
memory than the PCI bus does, but what your argument fails do address is
that the CPU must read all of the data from main memory, compute the
parity checksum, then WRITE all of it to the PCI bus.  No way that is
faster than simply writing it to the bus.

Some more comments below:

>  128MB of RAM is considerably less than the 2GB of main memory.

Considering the size of disk caches, and the danger of huge disk buffers,
128MB is more than adequate for mid-range applications.  I think my
$600,000 CLARiiON FibreChannel RAIDs (which have GOBS more bandwidth) have
2GB of cache.  But they have built-in UPSes and dual power feeds.  A $2000
server doesn't need that much.

> The operating system doesn't have to have the data transferred into it
> before it can do the checksum calculations, and it can use more than
> one bus to transfer the data to the disks.

No, one bus.  There is a single PCI controller on most motherboards.  
Both IDE controllers on the typical board hang off of it.  Most IDE RAID
implementations have multiple controllers as well, that hang off the same
controller.  No difference.

Jeffrey.

o-----------------------------------o
| Jeffrey Watts                     |
| watts at jayhawks.net         o-----------------------------------------o
| Systems Programmer         | "If this thread is annoying, please     |
| Network Systems Management |  imagine what it is like to see an      |
| Sprint Communications      |  idealistic project stymied and made    |
o----------------------------|  ineffective, because people don't      |
                             |  usually give it the credit for what it |
                             |  has done.  If you're an idealist like  |
                             |  me, that can ruin your whole decade."  |
                             |  -- Richard Stallman                    |
                             |  Regarding the GNU/Linux debate         |
                             o-----------------------------------------o




More information about the Kclug mailing list