[Pc_Support] Linux RAID 1+0 on Pri/Sec Mast/Slave Setup?

Bryan J. Smith b.j.smith at ieee.org
Fri Jan 6 18:56:54 EST 2006


Jason Boxman <jasonb at edseek.com> wrote:
> I'm curious how much of a performance hit you'd take from
> running Mast/Slave on a Pri/Sec ATA setup with Linux
> RAID 1+0 on top?

What is the [PC/]AT Attachment (ATA)?  It's the modern
version of the Enhanced System Disk Interface (ESDI).

ESDI is a drive with integrated drive electronics (IDE) that
talks to the 16-bit @ 8MHz PC/AT bus -- point-to-point.  It's
literally that simple -- the drive controls the bus, and it
talks to the I/O.  The CPU controls the transfer in a
Programmed I/O (PIO) operation.

Then companies like Western Digital got fancy.  They decided
that you could have 2 devices on the same bus.  Hence Western
Digital's Enhanced IDE (EIDE) with a master/slave setup. 
They came out with new 8MHz Programmed I/O (PIO) modes --
mode 4 being 16.6MBps.

What WD didn't tell you is that each device can_not_ talk
directly to each other, despite the marketing.  Transfers
must go from the drive to memory, because only *1* IDE can be
active at any time.  To transfer from once device to another,
one device must take control of the bus, the other give up
the bus -- then transfer to memory -- then the reverse must
happen to get the data back to the other device.

ATA is _not_ SCSI, where you can have direct device-to-device
transfers.

This becomes very crucial with the introduction of newer ATA
standards, such as Direct Memory Access (DMA).  With DMA, no
longer is the CPU involved, but the IDE of the hard drive
itself (_not_ the controller, it's just the "bus arbitrator"
between 32-bit PCI and 16-bit PC/AT) is the "bus master." 
Having 2 "bus masters" on the same cable is a problem --
especially when they cannot communicate simultaneously.

The legacy master/slave is _only_ provided for legacy system
compatibility with EIDE and other vendor PIO modes.  It is
_not_ designed for DMA.  Just like most drives ship with 16
cylinders and not LBA.  It's a legacy consideration.

So figure your performance is directly cut in half, then
subtract another 20+% for "well behaved" (i.e. same vendor
make/model) overhead.  Not worth it.

Serial ATA uses the _exact_same_ ATA specificatons as
parallel.  But because SATA is _only_ DMA capable, they don't
even offer the master/slave setup.  That was the smartest
thing they did.

> Mainboard is a basic A8V from ASUS:
http://www.asus.com/products4.aspx?l1=3&l2=15&l3=68&model=478&modelmenu=1
> None of its mine, I am just curious if it makes any sense
> for a production box.

Oh hell no, not on a production box.  ;->

Then again, I don't trust the Linux (or not even NT's for
that matter) kernel when it comes to production software
RAID.  Too many variables.

One of the worst ones just came up on the CentOS list again. 
E.g., people think that you can use 3Ware cards and gain
hot-swap for JBOD drives.  Sigh (HINT: it only works when in
hardware arrays).

Hmmm, any reason why a $300 3Ware Escalade 8506-4LP isn't be
considered for a _production_ system?  ;->


-- 
Bryan J. Smith     Professional, Technical Annoyance                      b.j.smith at ieee.org      http://thebs413.blogspot.com
----------------------------------------------------
*** Speed doesn't kill, difference in speed does ***



More information about the Pc_support mailing list