Raid 0 Performance that old chestnut

M

Mal Ice

Can any MS guru enlighten me as to why I am getting the following disk
throughputs on a system running an ATA133 controller (Innovision EIO Raid card
NOT operating in Raid mode) on a PCI bus (33 Mhz) on which I have connected:

Primary Master- Samsung SP1213N - 120Gb 8Mb cache ATA133
Secondary Master - IBM Deskstar 40Gb 2Mb cache ATA100
Secondary Slave - Maxtor 12 Gb (used for backing up critical partition/disk
images).
Machine is a Dell Dimension using SE440BX motherboard with Powerleap upgrade to
1.4Ghz Celeron with 384Mb PC100 RAM.

The OS had been on the IBM but on buying a disk upgrade I imaged the disk to the
Samsung and then wiped the IBM. All partitioned with NTFS default cluster size.

So, Samsung then had Win2k SP4 installed with a number of partitions and 80gb
unallocated space (Basic disk). IBM was a clean 40Gb drive. System booted
fine.

I upgrade both Samsung and IBM to Dynamic disks, rebooted twice (no problems at
all) and started to create 4 striped volumes default cluster on NTFS (1 x page
file, 1 x temp and 2 x data) taking up the max 40Gb on the IBM drive. A simple
volume was then created with whatever space I had left on the Samsung and
mounted under an existing directory.

I could NOT tell any difference in speed at all , so I ran a couple of cli-bench
test (after re-creating a simple volume on the IBM for test purposes).

Drive N - Simple Volume on SAMSUNG towards the beginning of the disk.
Read max 51200 kB/sec
Read average 34293 kB/sec
Read min 26806 kB/sec
Write max 34133 kB/sec
Write average 32799 kB/sec
Write min 32000 kB/sec
CPU usage 2 percent


Drive O - Simple Volume on IBM (I created a test volume) near beginning of disk
Read max 26947 kB/sec
Read average 26764 kB/sec
Read min 25600 kB/sec
Write max 30117 kB/sec
Write average 26638 kB/sec
Write min 24380 kB/sec
CPU usage 2 percent

Drive S - RAID 0 Striped Volume (2Gb total) near beginning of both disks.
Read max 56888 kB/sec
Read average 41932 kB/sec
Read min 31801 kB/sec
Write max 32000 kB/sec
Write average 27932 kB/sec
Write min 16463 kB/sec
CPU usage 4 percent


Drive Q - RAID Striped volume (30Gb total) towards the back of the disks.
Read max 42666 kB/sec
Read average 27482 kB/sec
Read min 9827 kB/sec
Write max 31801 kB/sec
Write average 28893 kB/sec
Write min 23272 kB/sec
CPU usage 4 percent


There's one weird stuff happening here! A minimum write speed on a striped
drive which is less then the min speed on the slowest drive! Surely I should
have seen at least twice the throughput on the RAID-0 disk compared to the IBM.

Max read looks OK but I was expecting more of an improvement of just 10% over
the max read on my Samsung, but then I suppose this limit is set by the slower
drive holding up the Samsung.

Can anyone hypothesis what would happen to the figures if I got another 120Gb
Samsung drive to be the Secondary master to replace the IBM Deskstar?

Mal


Remove x- for correct email addy
 
B

Bjorn Landemoo

Mal

The problem here is that the OS is installed on your master, that also is
part of the stripe set. While reading or writing to the stripe set, this
access has to stop as soon as the OS needs to read or write from it's
partition, for instance the page file.

Usually, software RAID on IDE isn't a very good idea. You would need three
IDE channels, one for the OS and two for the stripe set.

As an alternative, use the built in RAID functionality of your controller,
as this would also stripe the OS partition.

Best regards

Bjorn
 
M

Mal Ice

Mal

The problem here is that the OS is installed on your master, that also is
part of the stripe set. While reading or writing to the stripe set, this
access has to stop as soon as the OS needs to read or write from it's
partition, for instance the page file.

Usually, software RAID on IDE isn't a very good idea. You would need three
IDE channels, one for the OS and two for the stripe set.

As an alternative, use the built in RAID functionality of your controller,
as this would also stripe the OS partition.

Best regards

Bjorn
Not quite. But thanks for the reply.

The OS was already installed on its own partition BEFORE upgrading to dynamic
disk. This partition (or now volume that it was upgraded) is not striped and
for the OS to boot (unless as you say you have hardware RAID 0). WIN2K
implements RAID-0 at VOLUME level, not disk level. On a 2 disk system (both
dynamic) disk 1 can have the OS partition (upgraded from basic) which is non
striped. Any remaining free space (not used by pre-exisitng partitions in
upgrading to dynamic disk) on either drive can be used as simple volume,
striped volume or spanned volume. These are INDEPENDENT of the OS partition (now
renamed a Volume) and are set up separately.

Disk 1:
First "simple volume" is non-striped not spanned and boots WIN2k fine. (WIN2k
was already on a Basic disk b4 upgrading)
Second and subsequent volumes are a mixture of simple, spanned and striped (with
Dik 2).

WIN 2k allows 2 disks to be set up and striped..... at VOLUME level, NOT disk
level. If it were at disk level I'd agree you'd need three disks. But this is
not the case. WIN2K striping is at volume level. Honestly!

The perf figures bore it out. The striped volume was faster than the simple
volume on the fastest disk.
Simple Striped
Read max 51200 56888 kB/sec
Read average 34293 41932 kB/sec
Read min 26806 31801 kB/sec
Write max 34133 32000 kB/sec
Write average 32799 27932 kB/sec
Write min 32000 16463 kB/sec

The only downer was the write throughput was slower than the single volume,
other wise the read figures Max, Av and Min were 11%, 22% and 19% HIGHER than
the single disk alone. This shows STRIPING is operative on 2 disks but I was
trying to fathom out why the combined write figures were -6% -15% and - 49% !

I have read many threads on striping and # disks. I respectively disagree with
the view that the WIN2K implementation of striping requires 3 disks. The
assumption is that striping occurs at disk level. If it did you would need
third disk to boot off. But that is not the case. Striping is created across
user configurable VOLUMES within a dynamic disk which can hold multiple types of
volumes, including the simple one which WIN2k was upgraded from on a Basic
disk.. You can achieve software striping on volumes on two disks but my
benchmark suggests the performance is patchy when having drives of different
capabilities. I was hoping MS gurus may be able to shed light on why this may
be the case.

Mal


Remove x- for correct email addy
 
M

Mal Ice

..... just to represent the disk/volume graphically for 2 disk implementation of
striping....

DISK 1 DYNAMIC DISKS DISK 2
================ ================
|XXXXXXXXXXXXXXX| |MMMMMMMMMMMMMMM|
|X SIMPLE X| |M SIMPLE M|
|X VOLUME 1 X| |M VOLUME 5 M|[][]
|X WIN2K OS X| |M MOUNTED M| []
|X BOOTABLE X| |M UNDER M| []
|X X| |M VOL 4 M| []
|XXXXXXXXXXXXXXX| |MMMMMMMMMMMMMMM| []
|YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY| []
|Y | | Y| []
|Y | | Y| []
|Y STRIPED VOLUME 2 Y| []
|Y | | Y| []
|Y | | Y| []
|YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY| []
|ZZZZZZZZZZZZZZZZZWWWWWWWWWWWWWWWWW| []
|Z |ZW| W| []
|Z |ZW| W| []
|Z SPANNED VOLUME 3 W| []
|Z |ZW| W| []
|Z |ZW| W| []
|ZZZZZZZZZZZZZZZZZWWW W| []
|MMMMMMMMMMMMMMM| |W W| []
|M SIMPLE M| |W W| []
|M VOLUME 4 M| |W W| []
|M M| |W W| []
|M M| |W W| []
|M M| |W W| []
|MMMMMMMMMMMMMMM| |WWWWWWWWWWWWWWW| []
================ ================ []
[] []
[][][][][][][][][][][][][][][][]

Voila, striping on two disks.


Remove x- for correct email addy
 
B

Bjorn Landemoo

Mal

What I am trying to say is that each disk does only have one head assembly,
so if the OS partition is accessed, the head assembly is busy with this,
and cannot - at the same time - access your stripe set, reducing
performance for your stripe set.

With the OS on a separate disk on a third IDE channel such an OS partition
access would not interrupt your stripe set access.

Also, be aware that a master and a slave cannot be accessed simultaneously
on one IDE channel, so each disk must have it's own channel for maximal
performance.

Best regards

Bjorn
 
M

Mal Ice

OK, I can understand the point about the OS, but wouldn't have thought it would
have made that much difference for a bench marking prog where no other processes
are in place (other than memory only?). What your saying is that any OS disk
access will affect disk performance, striped or not. However, the benchmark on
the IBM was not much different when it had the OS on it b4 I upgraded.

What you are saying, I think, and with ref to the title of the thread (!) is
that stripe performance on a 2 disk system is limited due to OS access. That is
not the same as saying you need three disks (to be pedantic) to stripe win2k! It
may be PREFERABLE but not absolute. Striping CAN be done with two disks but
there is an apparent performance limitation due to factors like relative disk
speeds and OS access.

Mal





Mal

What I am trying to say is that each disk does only have one head assembly,
so if the OS partition is accessed, the head assembly is busy with this,
and cannot - at the same time - access your stripe set, reducing
performance for your stripe set.

With the OS on a separate disk on a third IDE channel such an OS partition
access would not interrupt your stripe set access.

Also, be aware that a master and a slave cannot be accessed simultaneously
on one IDE channel, so each disk must have it's own channel for maximal
performance.

Best regards

Bjorn



Remove x- for correct email addy
 
M

Mal Ice

....and I forgot to add that even in a three disk system on a standard PC with 2
IDE channels is therefore equally limited on striping. No matter how you look
at it two disk have to be on the same channel. One of the striped disks will
either have to sit with the OS disk (synchronous problems with OS access on Boot
disk) or sat on the other channel with the other striped disk, again a
synchronous problem in that you cannot access two disks simultaneously on the
same channel. (My disks were on separate channels BTW!)

So is it the same limitation on 3 disks system in a 2 channel PC as the
limitation of win2k striped volumes on two disks?

Mal


OK, I can understand the point about the OS, but wouldn't have thought it would
have made that much difference for a bench marking prog where no other processes
are in place (other than memory only?). What your saying is that any OS disk
access will affect disk performance, striped or not. However, the benchmark on
the IBM was not much different when it had the OS on it b4 I upgraded.

What you are saying, I think, and with ref to the title of the thread (!) is
that stripe performance on a 2 disk system is limited due to OS access. That is
not the same as saying you need three disks (to be pedantic) to stripe win2k! It
may be PREFERABLE but not absolute. Striping CAN be done with two disks but
there is an apparent performance limitation due to factors like relative disk
speeds and OS access.

Mal



Remove x- for correct email addy
 
B

Bjorn Landemoo

Mal

Yes, using three disks with two IDE channels will get similar problems.

Many years ago (must have been 1996 or so), when I started experimenting
with striping, I went to SCSI disks instead, to overcome this limitation.
This gave me disk performance that was almost twice as fast as a single
disk. On more advanced SCSI disks, there was also a possibility to connect
the disks with a cable, in order to synchronize the rotation of the disks,
to get the same sectors of the disks under the head assembly at the same
time. This gave reduced search times. If disk synchronization wasn't done,
you risk waiting for the second drive to turn up to one rotation before it
finds the correct sector.

In your situation I would use the built in RAID controller, using two
identical disks, to get the best performance.

Best regards

Bjorn
 
M

Mal Ice

Would setting Windows swap file to a third drive on a third ide channel reduce
the impact of OS access, or is that just over simplifying what "OS" access is?

With the ATA133 controller I have 2 channels on the card and two on the
motherboard, but 1 x motherboard is taken with ATAPI models :( . So I could
move my third (small and relatively slow) drive off the controller onto the
mother board which is only ATA33 anyway.

Mal

Mal

Yes, using three disks with two IDE channels will get similar problems.

Many years ago (must have been 1996 or so), when I started experimenting
with striping, I went to SCSI disks instead, to overcome this limitation.
This gave me disk performance that was almost twice as fast as a single
disk. On more advanced SCSI disks, there was also a possibility to connect
the disks with a cable, in order to synchronize the rotation of the disks,
to get the same sectors of the disks under the head assembly at the same
time. This gave reduced search times. If disk synchronization wasn't done,
you risk waiting for the second drive to turn up to one rotation before it
finds the correct sector.

In your situation I would use the built in RAID controller, using two
identical disks, to get the best performance.

Best regards

Bjorn



Remove x- for correct email addy
 
B

Bjorn Landemoo

Mal

Ah, so you actually have four channels. Then I would put the OS on a
separate disk, on your third channel. This would free both disks for the
striped volume, and optimize performance for it. Do you have free space
enough on your third disk for a second instance of Windows? In that case,
install and compare.

Your OS might run slower, though, but if you use your system mainly for
disk intensive work, your total system performance might be higher.

"OS access" is difficult to define. Some of it will be to files that are
already in your system cache, not needing any disk access at all. Others
will result in disk access, slowing your system down. Normally, keeping the
page file on your least used disk will improve performance, but you have to
compare this with how it works with the page file on your striped volume.

Best regards

Bjorn
 
M

Mal Ice

On another slightly different tack, but nonetheless related......

The PCI ATA133 controller has two channels and can support RAID 0+1 using four
disks. How will the striped disks' performance be affected by having other
(mirrored) drives on the same channel? Won't 0+1 degrade the striped disk
throughput?

Mal


Mal

Ah, so you actually have four channels. Then I would put the OS on a
separate disk, on your third channel. This would free both disks for the
striped volume, and optimize performance for it. Do you have free space
enough on your third disk for a second instance of Windows? In that case,
install and compare.

Your OS might run slower, though, but if you use your system mainly for
disk intensive work, your total system performance might be higher.

"OS access" is difficult to define. Some of it will be to files that are
already in your system cache, not needing any disk access at all. Others
will result in disk access, slowing your system down. Normally, keeping the
page file on your least used disk will improve performance, but you have to
compare this with how it works with the page file on your striped volume.

Best regards

Bjorn



Remove x- for correct email addy
 
B

Bjorn Landemoo

Mal

Sorry I couldn't come back to you sooner, I have been out of town for a few
days.

Performance with four disks on two channels, using RAID 0+1, will not bee
good. The reason is that each cannel can only "talk" to one disk at a time.
Better RAID IDE cards never use more than one disk per channel.

Best regards

Bjorn
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top