All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <jens.axboe@oracle.com>
To: Aaron Carroll <aaronc@cse.unsw.edu.au>
Cc: Paolo Valente <paolo.valente@unimore.it>,
	Pavel Machek <pavel@ucw.cz>,
	linux-kernel@vger.kernel.org
Subject: Re: [RESEND][RFC] BFQ I/O Scheduler
Date: Thu, 17 Apr 2008 12:21:10 +0200	[thread overview]
Message-ID: <20080417102109.GZ12774@kernel.dk> (raw)
In-Reply-To: <48072421.60307@cse.unsw.edu.au>

On Thu, Apr 17 2008, Aaron Carroll wrote:
> Jens Axboe wrote:
> >>Maybe there is also another middle-ground solution. I'll try to sketch 
> >>it out:
> >>. use sectors instead of time
> >>. impose a penalty to each thread in proportion to the distance between 
> >>its disk requests
> >>. reduce the maximum budget of each thread as a function of this seek 
> >>penalty so as to prevent the thread from stealing more than a given time 
> >>slice (the simple mechanism to limit per-thread budget is already 
> >>implemented in bfq).
> >>
> >>By doing so, both fairness and time isolation should be guaranteed.
> >>Finally, this policy should be safe in that, given the maximum time used 
> >>by a seeky thread to consume its maximum budget on a reference disk, the 
> >>time used on any faster disk should be shorter.
> >>
> >>Does it seem reasonable?
> >
> >Not for CFQ, that will stay time based. The problem with #2 above is
> >that it then quickly turns to various heuristics, which is just
> >impossible to tune for general behaviour. Or it just falls apart for
> >other real life situations.
> 
> Like SSD or hardware RAID.  Time-slices have the nice property of fairness
> irrespective of the underlying hardware characteristics.

Exactly. We can cater to that somewhat by adding some simple hardware
profiles, so that the IO schedulers if seeks etc are costly or not. But
it's a good example none the less.

-- 
Jens Axboe


  reply	other threads:[~2008-04-17 10:21 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-01 15:29 [RESEND][RFC] BFQ I/O Scheduler Fabio Checconi
2008-04-15  8:22 ` Jens Axboe
2008-04-15  9:11   ` Fabio Checconi
2008-04-15 12:42     ` Jens Axboe
2008-04-15 18:08       ` Fabio Checconi
2008-04-16  6:48   ` Paolo Valente
2008-04-18  1:26   ` Aaron Carroll
2008-04-16 18:44 ` Pavel Machek
2008-04-17  6:14   ` Paolo Valente
2008-04-17  7:10     ` Jens Axboe
2008-04-17  8:26       ` Paolo Valente
2008-04-17  8:30         ` Jens Axboe
2008-04-17  9:24           ` Paolo Valente
2008-04-17  9:27             ` Jens Axboe
2008-04-17 10:19               ` Aaron Carroll
2008-04-17 10:21                 ` Jens Axboe [this message]
2008-04-17 11:30               ` Fabio Checconi
2008-04-17 15:19           ` Avi Kivity
2008-04-17 15:47             ` Paolo Valente
2008-04-17 15:51               ` Avi Kivity
2008-04-17 18:12                 ` Paolo Valente
2008-04-17 23:44             ` Aaron Carroll
2008-04-17 10:24         ` Aaron Carroll
2008-04-17 11:14           ` Fabio Checconi
2008-04-17 12:14             ` Aaron Carroll
2008-04-17 13:54               ` Jens Axboe
2008-04-17 15:18               ` Paolo Valente
2008-04-17  8:48       ` Pavel Machek
2008-04-17  8:57         ` Jens Axboe
2008-04-17  9:14   ` Fabio Checconi

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=20080417102109.GZ12774@kernel.dk \
    --to=jens.axboe@oracle.com \
    --cc=aaronc@cse.unsw.edu.au \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paolo.valente@unimore.it \
    --cc=pavel@ucw.cz \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.