Re: SATA Performance with Intel ICH6

From: Ed Sweetman
Date: Fri Nov 24 2006 - 09:08:16 EST


Martin A. Fink wrote:
Dear all,

I found out, that writing to a SATA harddisk costs around 20% of the
computers cpu time. I write blocks of 1MB size to a file. Write performance
is around 51MB/s what I think is really good. My computer has an Intel ICH6
chipset and a 3.2GHz Pentium 4 processor.
If I understand the design of this chipset correctly, then I would have
expected, that the CPU needs to do only few work, instead I found out, that
writing to disk seems to be really hard work for the CPU.

Can I do anything to optimize writing from memory to disk?

My final aim is to get around 140MB/s of data from 3 different Gigabit
Ethernet cards and store it on 3 harddisk drives that perform 50MB/s.
>From the SATA bus side there should be no problem. Each of the 4 SATAs on
this ICH6 chipset are capable of 150MB/s.

So what makes my CPU that slow? Is it a hardware problem or a problem of
SATA driver of my operating system?

time dd if=/dev/zero of=test.zero bs=1M count=1000
results in

real 0m52.561s
user 0m0.003s
sys 0m7.407s

and strace dd... gives among other information
6.84s 1004calls syscall: write

So I spend 45s of 52s within the kernel. Why so long?
forgetting the fact that you're only writing 0's and that makes me wonder if the filesystems are cheating because the data it's writing is all the same, you aren't syncing that data. You're not benchmarking the actual write speed, you have buffer being used still with uncommitted data.

try using iozone or something a little more stressful on the system.


If you rerun the "benchmark" and your scores are much better (like with your example the second run gets 260MB/sec for me) then it's not a good benchmark. It should be consistantly the same no matter how many times you run it.


By the way: I'm working with SuSE Linux 9.2 on a Dell Desktop PC, 1GB RAM

Thank you for answers,

Martin
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/