From: "Alan D. Brunelle" <Alan.Brunelle@hp.com>
To: linux-btrace@vger.kernel.org
Subject: Re: -b vs. -n
Date: Mon, 02 Feb 2009 20:53:44 +0000 [thread overview]
Message-ID: <49875D58.8090403@hp.com> (raw)
In-Reply-To: <49821F8D.4050207@hp.com>
Alan D. Brunelle wrote:
> Alan D. Brunelle wrote:
>> Jens Axboe wrote:
>>> On Thu, Jan 29 2009, Alan D. Brunelle wrote:
>>>> Has anybody experimented with increasing the _number_ of buffers rather
>>>> than the _size_ of the buffers when confronted with drops? I'm finding
>>>> on a large(ish) system that it is better to have lots of small buffers
>>>> handled by relay rather than fewer larger buffers. In my particular case:
>>>>
>>>> 16 CPUs
>>>> 96 devices
>>>> running some dd's against all the devices...
>>>>
>>>> -b 1024 or -b 2048 still results in drops
>>>>
>>>> but:
>>>>
>>>> -n 512 -b 16 allows things to run smoother.
>>>>
>>>> I _think_ this may have to do with the way relay reports POLLIN: it does
>>>> it only when a buffer switch happens as opposed to when there is data
>>>> ready. Need to look at this some more, but just wondering if others out
>>>> there have found similar things in their testing...
>>> That's interesting. The reason why I exposed both parameters was mainly
>>> that I didn't have the equipment to do adequate testing on what would be
>>> the best setup for this. So perhaps we can change the README to reflect
>>> that it is usually better to bump the number of buffers instead of the
>>> size, if you run into overflow problems?
>>>
>> It's not clear - still running tests. [I know for SMALLER numbers of
>> disks increasing the buffers has worked just fine.] I'm still fighting
>> (part time) with version 2.0 of blktrace, so _that_ may have something
>> to do with it! :-)
>>
>> Alan
>
> Did some testing over the weekend: purposefully "bad" set up:
>
> o 48 FC disks having Ext2 file systems created on them (I've found mkfs
> really stresses systems :-) )
> o 5 CCISS disks in LVM w/ an XFS file system used to capture the traces.
>
> I then did 30 passes for a select set of permutations of -n & -b
> parameters. Here's the averages:
>
> -b 4 8 16 32 64 128 256 512 1024 2048 4096
> -n |----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
> 4| 77.9 83.2 88.1 86.7
> 8| 77.9 73.7
> 16| 86.1 65.5
> 32| 86.0 64.7
> 64| 85.6
> 128| 85.8
> 256| 85.6
> 512| 86.9
> 1024| 79.8
> 2048| 66.1
> 4096| 70.8
>
> The values in the chart are percent of traces dropped* (you can see that
> this is a bad set up - >60% drops in all case). (-b is across, and -n is
> down).
>
> Looking at increasing -b from the default (512) to 4096 whilst keep -n @
> 4 shows _more_ drops: 77.9 83.2 88.1 86.7
>
> Looking at increasing -n from the default (4) to 2048 whilst keeping -b
> @ 512 shows _fewer_ drops: 77.9, 73.7, 65.5 and then 64.7
>
> (Doing this with a small buffer size - 4KiB - was a bit inconclusive:
> 86.9 -> 79.8 -> 66.1 but then up to 70.8.)
>
> The diagonal numbers represent the results from trying to keep the total
> memory consumption level - 4 buffers @ 512K up to 512 buffers @ 4K. Not
> too conclusive, but it seems that there's a benefit to having smaller
> numbers of larger buffers keeping the same memory footprint.
>
> Anyways, none of this looks too convincing overall - and as noted, it's
> a "bad" case - way too many drops.
>
> -----------------
>
> I'm re-doing this using a more balanced configuration: I'm using the 48
> fibre channel disks to hold the traces, and using 48 CCISS disks to do
> the mkfs operations on. (Preliminary results show we're around the hairy
> edge here - a few % drops on some case (<2.0%).)
>
> -----------------
>
> * I have modified blktrace to output the total number of drops, the
> percentage of drops, and changed the suggestion line to read:
>
> You have 254436128 ( 81.3%) dropped events
> Consider using a larger buffer size (-b) and/or more buffers (-n)
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrace" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
Well, the "balanced configuration" didn't help much: going in either
direction (more buffers or larger buffers) both helped. (This is with 48
FC disks set up in an LV & capturing traces generated whilst doing mkfs
on 48 CCISS disks.)
-b 4 8 16 32 64 128 256 512 1024 2048 4096
-n |----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
4| 4.4 0.0 0.0 0.0
8| 1.5 0.0
16| 0.1 0.0
32| 0.8 0.0
64| 1.1
128| 0.8
256| 2.6
512| 2.3
1024| 0.5
2048| 0.1
4096| 0.0
I _think_ having the error message reflect the possibility of upping
either buffer size OR number of buffers makes sense. I'll also
back-port the "You have 254436128 ( 81.3%) dropped events" formatted
message code too.
Alan
prev parent reply other threads:[~2009-02-02 20:53 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-29 21:28 -b vs. -n Alan D. Brunelle
2009-01-30 7:42 ` Jens Axboe
2009-01-30 12:59 ` Alan D. Brunelle
2009-02-02 14:09 ` Alan D. Brunelle
2009-02-02 20:53 ` Alan D. Brunelle [this message]
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=49875D58.8090403@hp.com \
--to=alan.brunelle@hp.com \
--cc=linux-btrace@vger.kernel.org \
/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).