From: John Robinson <john.robinson@anonymous.org.uk>
To: Mark Knecht <markknecht@gmail.com>
Cc: Learner Study <learner.study@gmail.com>,
linux-raid@vger.kernel.org, keld@dkuug.dk
Subject: Re: Linux Raid performance
Date: Sat, 03 Apr 2010 02:00:34 +0100 [thread overview]
Message-ID: <4BB69332.4050303@anonymous.org.uk> (raw)
In-Reply-To: <l2j5bdc1c8b1004021739z969b99v6011fcc6fddd470a@mail.gmail.com>
On 03/04/2010 01:39, Mark Knecht wrote:
> On Fri, Apr 2, 2010 at 10:55 AM, Learner Study <learner.study@gmail.com> wrote:
> <SNIP>
>> 2. Secondly, I would like to understand how raid stack (md driver)
>> scales as we add more cores...if single core gives ~500MB/s, can two
>> core give ~1000MB/s? can four cores give ~2000MB/s? etc....
> <SNIP>
>
> More cores by themselves certainly won't do it for you.
>
> 1) More disks in parallel. (striped data)
>
> 2) More ports to attach those drives.
>
> 3) More bandwidth on those ports. SATA3 is better than SATA2 is better
> than SATA is better than PATA, etc. (Obviously disks must match ports,
> right? SATA1 disks on SATA3 ports isn't the right thing...)
>
> 4) More bus bandwidth getting to those ports. PCI-Express16 is better
> than PCI-Express1 is better than PCI, etc.
>
> 5) Faster RAID architectures for the number of disks chosen.
>
> Once all of that is in place then possibly more cores will help, but I
> suspect even then it probably hard to use 4 billion CPU cycles/second
> doing nothing but disk I/O. SATA controllers are all doing DMA so CPU
> overhead is relatively *very* low.
Right. As has recently been demonstrated on this list, one core on a
slow Xeon can do about 8TB/s of RAID-6 calculations, whereas the
theoretical limit on memory bandwidth for the platform is about 6TB/s,
so one CPU thread is already faster than the whole system's memory
bandwidth. After that, current discs manage about 150MB/s at their peak
so you'd need 40+ discs in one array to reach the memory bandwidth
limit. The upshot appears to me to be that with current architectures
and discs, there's no need for multi-core/multi-threading. Having said
that, individual arrays currently run single-threaded, but multiple
arrays can run on separate CPU cores if necessary, with traditional
process scheduling.
There is experimental support for multi-threading in the kernel right
now, which was awful because the threading model didn't work, and which
has even more recently been replaced with another experimental
multi-threading patch using btrfs thread pooling, which is as yet
unproved. So, multi-core / multi-threading support is on the way, but at
the moment is not required.
I haven't included references because a quick search of the last month's
archives of this list will reveal all of them.
Overall, the bottleneck right now is the discs, as has been the case
since ooh forever.
Cheers,
John.
next prev parent reply other threads:[~2010-04-03 1:00 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-31 19:42 Linux Raid performance Learner Study
2010-03-31 20:15 ` Keld Simonsen
2010-04-02 3:07 ` Learner Study
2010-04-02 9:58 ` Nicolae Mihalache
2010-04-02 17:58 ` Learner Study
2010-04-02 11:05 ` Keld Simonsen
2010-04-02 11:18 ` Keld Simonsen
2010-04-02 17:55 ` Learner Study
2010-04-02 21:14 ` Keld Simonsen
2010-04-02 21:37 ` Learner Study
2010-04-03 11:20 ` Keld Simonsen
2010-04-03 15:56 ` Learner Study
2010-04-04 1:58 ` Keld Simonsen
2010-04-03 0:10 ` Learner Study
2010-04-03 0:39 ` Mark Knecht
2010-04-03 1:00 ` John Robinson [this message]
2010-04-03 1:14 ` Richard Scobie
2010-04-03 1:32 ` Mark Knecht
2010-04-03 1:37 ` Richard Scobie
2010-04-03 3:06 ` Learner Study
2010-04-03 3:00 ` Learner Study
2010-04-03 19:27 ` Richard Scobie
2010-04-03 18:14 ` MRK
2010-04-03 19:56 ` Richard Scobie
2010-04-04 15:00 ` MRK
2010-04-04 18:26 ` Learner Study
2010-04-04 18:46 ` Mark Knecht
2010-04-04 21:28 ` Jools Wills
2010-04-04 22:38 ` Mark Knecht
2010-04-05 10:07 ` Learner Study
2010-04-05 16:35 ` John Robinson
2010-04-04 22:24 ` Guy Watkins
2010-04-05 13:49 ` Drew
2010-04-04 23:24 ` Richard Scobie
2010-04-05 11:20 ` MRK
2010-04-05 19:49 ` Richard Scobie
2010-04-05 21:03 ` Drew
2010-04-05 22:20 ` Richard Scobie
2010-04-05 23:49 ` Roger Heflin
2010-04-14 20:50 ` Bill Davidsen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BB69332.4050303@anonymous.org.uk \
--to=john.robinson@anonymous.org.uk \
--cc=keld@dkuug.dk \
--cc=learner.study@gmail.com \
--cc=linux-raid@vger.kernel.org \
--cc=markknecht@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).