RAID0 setup on FC3 (effect of IDE controllers and how to maximize throughput)






I posted the following question last week but there was no answer. I
therefore assume what I learned might be of use to the others.

You can skip the details and jump to the end for my summary and answers
to questions.

S


My intial post
-----------------------------------------------------------------------------------------------------

A summary of my ide controller configuration is included below.
I would appreciate an answer or a pointer to a document on these
questoins:


1-Is the cable for ide1 in fact half that of ide0 (as shown in category

"cable type" below)
2-Assuming that drive speed is not the bottleneck, would drives on ide1

run half as fast as drives on ide0?
3-For a RAID0 array to provide speed gains, do the two partitions have
to be on different controllers or can they both be on the same ide
controller (i.e. ide0)
4-The "cycle time" for ide0 and ide0 are different below. Is this
because of the cable difference? controller design, or something else?
And is this a feature of this controller or are all controllers the
same?


Thanks.

----------VIA BusMastering IDE Configuration----------------
Driver Version: 3.38
South Bridge: VIA vt8237
Revision: ISA 0x0 IDE 0x6
Highest DMA rate: UDMA133
BM-DMA base: 0xc400
PCI clock: 33.3MHz
Master Read Cycle IRDY: 0ws
Master Write Cycle IRDY: 0ws
BM IDE Status Register Read Retry: yes
Max DRDY Pulse Width: No limit
-----------------------Primary IDE-------Secondary IDE------
Read DMA FIFO flush: yes yes
End Sector FIFO flush: no no
Prefetch Buffer: yes yes
Post Write Buffer: yes yes
Enabled: yes yes
Simplex only: no no
Cable Type: 80w 40w
-------------------drive0----drive1----drive2----drive3-----
Transfer Mode: UDMA UDMA UDMA UDMA
Address Setup: 120ns 120ns 120ns 120ns
Cmd Active: 90ns 90ns 90ns 90ns
Cmd Recovery: 30ns 30ns 30ns 30ns
Data Active: 90ns 90ns 90ns 90ns
Data Recovery: 30ns 30ns 30ns 30ns
Cycle Time: 22ns 22ns 60ns 60ns
Transfer Rate: 88.8MB/s 88.8MB/s 33.3MB/s 33.3MB/s


=======================================================

Now what I did and what I learned:


I was trying to underdstand the effect of IDE controllers on RAID
performance.
First I tried different combinations of my two RAID0 drive on different
IDE controllers. Here is the results:

IDE0 and IDE1 parameters are shown in the above post detailing the
timing for each.

Raid Drives on IDE0 (hda and hdb)
-----------------------
unix> hdparm -Tt /dev/hda
/dev/hda:
Timing cached reads: 936 MB in 2.01 seconds = 466.44 MB/sec
Timing buffered disk reads: 128 MB in 3.03 seconds = 42.28 MB/sec

unix> hdparm -Tt /dev/hdb
/dev/hdb:
Timing cached reads: 888 MB in 2.00 seconds = 443.62 MB/sec
Timing buffered disk reads: 128 MB in 3.03 seconds = 42.21 MB/sec

unix> hdparm -Tt /dev/md0
/dev/md0:
Timing cached reads: 936 MB in 2.00 seconds = 467.84 MB/sec
Timing buffered disk reads: 170 MB in 3.00 seconds = 56.62 MB/sec

Result: Performance over single drive not increased significantly!! My
guess is that the bottleneck is the bandwidth handled by the IDE
controller.

Raid Drives on IDE0 and IDE1 (hdb and hdd)
---------------------------------------------------------
unix> hdparm -Tt /dev/hdb
/dev/hdb:
Timing cached reads: 820 MB in 2.00 seconds = 409.04 MB/sec
Timing buffered disk reads: 128 MB in 3.03 seconds = 42.24 MB/sec

unix> hdparm -Tt /dev/hdd
/dev/hdd:
Timing cached reads: 908 MB in 2.00 seconds = 452.94 MB/sec
Timing buffered disk reads: 74 MB in 3.07 seconds = 24.12 MB/sec

unix> hdparm -Tt /dev/md0
/dev/md0:
Timing cached reads: 896 MB in 2.00 seconds = 447.62 MB/sec
Timing buffered disk reads: 128 MB in 3.02 seconds = 42.40 MB/sec

Result: RAID0 bandwidth is twice the bandwidth of the slower IDE
controller (ID1 at 20MB/sec). Hence total bandwidth is only 40MB/sec


Raid Drives on IDE0 and IDE1 (hdb and hdd) and replacing the 40 pin
cable
------------------------------------------------------------
Thanks to a reply I received to my original post, I started playing
around with the cables for IDE0 and IDE1.
I initially assumed IDE1 is slower because of its design (obviously I
don't know much about this subject!). By replacing the 40pin cable on
my IDE1 with an 80pin cable I got the same speed on IDE1 as that of
IDE0. With this modification, I got the following results:

root@earth(27):hdparm -Tt /dev/hdb
/dev/hdb:
Timing cached reads: 936 MB in 2.01 seconds = 466.21 MB/sec
Timing buffered disk reads: 126 MB in 3.02 seconds = 41.70 MB/sec

root@earth(29):hdparm -Tt /dev/hdd
/dev/hdd:
Timing cached reads: 932 MB in 2.00 seconds = 465.14 MB/sec
Timing buffered disk reads: 126 MB in 3.04 seconds = 41.49 MB/sec
root@earth(30):hdparm -Tt /dev/md0

/dev/md0:
Timing cached reads: 940 MB in 2.00 seconds = 469.84 MB/sec
Timing buffered disk reads: 236 MB in 3.00 seconds = 78.63 MB/sec

Result: I LIKE IT! :)


Summary:
To make sure your RAID0 is working as good as it can:
1-Make sure you have 80 pin cables on both IDE controllers
2-Make sure to place one drive per IDE controller
3-Use hdparm command in linux to optimize the performance for each ATA
drive
4-Even though the manual indicates that setting "unmaskirq" is
dangerous, leave it at 1 if your operating systems sets it to 1 during
bootup.


Answers to my own questions (learned through replies and
experimentation):
1-Is the cable for ide1 in fact half that of ide0 (as shown in category

"cable type" below)
Yes it is. And you better replace the 40pin cable with an 80pin cable
if you plan to place any hard drives on that second IDE controller.

2-Assuming that drive speed is not the bottleneck, would drives on ide1

run half as fast as drives on ide0?
Yes. It does. Replacing the cable to an 80 wire cable allows IDE1 to
run as fast as IDE0.

3-For a RAID0 array to provide speed gains, do the two partitions have
to be on different controllers or can they both be on the same ide
controller (i.e. ide0)
The two partitions must definitely be on different IDE controllers.
Also, he speed of RAID0 is twice that of the slower bandwidth of the
two IDE controller. As such, you must make sure that both IDE
controllers run at maximum speed.

4-The "cycle time" for ide0 and ide0 are different below. Is this
because of the cable difference? controller design, or something else?
And is this a feature of this controller or are all controllers the
same?
Obviously it is because of the cable havingonly 40wires.

.



Relevant Pages

  • Re: [SLE] Does upgrading motherboard/CPU actually work? Also, 64bit vs. 32bit....
    ... If your hard drives are hanging from the regular IDE controller, ... SATA controllers are supported by suse, but the Promise IDE controller was ...
    (SuSE)
  • Re: ST506 and/or ST412 hard disk drives
    ... couldn't make a machine with multiple 34 pin cables. ... spec for floppy drives but became standard usage. ... But as a matter of fact this particular controller *is* close to what ... floppies and the hard disk and the common signals are brought out on ...
    (comp.os.cpm)
  • Re: ATA problems again ... general problem of ICH7 or ATA?
    ... change cables by myself, servers are dedicated from provider, but as I ... Samsung disk drives in. ... (Probably with a same type of cables - all machines are ASUS ... As of my experience the controller forgetting or loosing drives is a "feature" 3ware. ...
    (freebsd-stable)
  • Re: Odd DVD-RW Drive Failure
    ... Maybe the cables weren't fully seated in the MB or drive, ... Oh and the drives that got the 36" seem just fine. ... The controller that the message mentioned is usually the one located on ... The key to your problem is in understanding "The driver detected a ...
    (microsoft.public.windowsxp.general)
  • Question about a SCSI cable
    ... has a cabinet of older drives attached. ... controller that was originally bought with the system a few years ago. ... The external cabinets are home built and mostly with Seagate drives ... cables would do the trick for the older controller and drives. ...
    (SunManagers)