From: Jens Axboe <jens.axboe@oracle.com>
To: Jakob Oestergaard <jakob@unthought.net>
Cc: Arjan van de Ven <arjan@infradead.org>,
"Phetteplace, Thad (GE Healthcare,
consultant)" <Thad.Phetteplace@ge.com>,
linux-kernel@vger.kernel.org
Subject: Re: Bandwidth Allocations under CFQ I/O Scheduler
Date: Wed, 18 Oct 2006 11:51:25 +0200 [thread overview]
Message-ID: <20061018095125.GE24452@kernel.dk> (raw)
In-Reply-To: <20061018080030.GU23492@unthought.net>
On Wed, Oct 18 2006, Jakob Oestergaard wrote:
> On Tue, Oct 17, 2006 at 03:23:13PM +0200, Jens Axboe wrote:
> > On Tue, Oct 17 2006, Arjan van de Ven wrote:
> ...
> > > Hi,
> > >
> > > it's a nice idea in theory. However... since IO bandwidth for seeks is
> > > about 1% to 3% of that of sequential IO (on disks at least), which
> > > bandwidth do you want to allocate? "worst case" you need to use the
> > > all-seeks bandwidth, but that's so far away from "best case" that it may
> > > well not be relevant in practice. Yet there are real world cases where
> > > for a period of time you approach worst case behavior ;(
> >
> > Bandwidth reservation would have to be confined to special cases, you
> > obviously cannot do it "in general" for the reasons Arjan lists above.
>
> How about allocating I/O operations instead of bandwidth ?
>
> So, any read is really a seek+read, and we count that as one I/O
> operation. Same for writes.
>
> Since the total "capacity" of the system is typically (in real-world
> scenarios) the number of operations (seek+X) rather than the raw
> sequential bandwidth anyway, I suppose that I/O operations would be what
> you wanted to allocate anyway.
>
> Anyway, just a thought...
While that may make some sense internally, the exported interface would
never be workable like that. It needs to be simple, "give me foo kb/sec
with max latency bar for this file", with an access pattern or assumed
sequential io.
Nobody speaks of iops/sec except some silly benchmark programs. I know
that you are describing pseudo-iops, but it still doesn't make it more
clear.
Things aren't as simple
--
Jens Axboe
next prev parent reply other threads:[~2006-10-18 9:50 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-16 20:46 Bandwidth Allocations under CFQ I/O Scheduler Phetteplace, Thad (GE Healthcare, consultant)
2006-10-17 1:24 ` Arjan van de Ven
2006-10-17 13:23 ` Jens Axboe
2006-10-17 14:37 ` Ric Wheeler
2006-10-17 14:47 ` Jens Axboe
2006-10-17 14:46 ` Phetteplace, Thad (GE Healthcare, consultant)
2006-10-18 8:00 ` Jakob Oestergaard
2006-10-18 9:40 ` Arjan van de Ven
2006-10-18 11:30 ` Jakob Oestergaard
2006-10-18 11:49 ` Jens Axboe
2006-10-18 12:23 ` Jakob Oestergaard
2006-10-18 12:42 ` Alan Cox
2006-10-18 12:44 ` Jens Axboe
2006-10-18 12:55 ` Nick Piggin
2006-10-18 13:04 ` Jens Axboe
2006-10-18 13:39 ` Jakob Oestergaard
2006-10-18 13:51 ` Paulo Marques
2006-10-19 12:22 ` Jens Axboe
2006-10-18 13:37 ` Jakob Oestergaard
2006-10-18 12:44 ` Jakob Oestergaard
2006-10-18 12:42 ` Jens Axboe
2006-10-18 13:35 ` Jakob Oestergaard
2006-10-18 9:51 ` Jens Axboe [this message]
2006-10-18 11:00 ` Helge Hafting
2006-10-18 11:14 ` Jens Axboe
2006-10-18 11:23 ` Ric Wheeler
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=20061018095125.GE24452@kernel.dk \
--to=jens.axboe@oracle.com \
--cc=Thad.Phetteplace@ge.com \
--cc=arjan@infradead.org \
--cc=jakob@unthought.net \
--cc=linux-kernel@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