Flexible I/O Tester development
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Dan Ehrenberg <dehrenberg@google.com>
Cc: fio@vger.kernel.org, nauman@google.com, egouriou@google.com,
	tirea@google.com
Subject: Re: [RFC] fio: Token-based flow control
Date: Mon, 20 Feb 2012 10:15:32 +0100	[thread overview]
Message-ID: <4F420F34.9070902@kernel.dk> (raw)
In-Reply-To: <1329442053-28519-1-git-send-email-dehrenberg@google.com>

On 02/17/2012 02:27 AM, Dan Ehrenberg wrote:
> This patch allows two fio jobs to be kept to a certain
> proportion of each other using token-based flow control.
> There are three new parameters: flow, flow_watermark, and
> flow_sleep, documented in the fio options. An example of an fio
> job using these parameters is below:
> 
> [global]
> norandommap
> thread
> time_based
> runtime=30
> direct=1
> ioengine=libaio
> iodepth=256
> size=100g
> bs=8k
> filename=/tmp/testfile
> flow_watermark=100
> flow_sleep=1000
> 
> [job2]
> numjobs=1
> rw=write
> flow=-8
> 
> [job1]
> numjobs=1
> rw=randread
> flow=1
> 
> The motivating application of this patch was to allow random reads
> and sequential writes at a particular given proportion.
> 
> This initial version is only correct when run with 'thread', as shared
> state is represented with a global variable. It also only allows two
> jobs to be synchronized properly. A future version might do more, but
> no more functionality was needed for my application.
> 
> Tested: Ran a few fio jobs with this flow control, observing
> the proportion of IOPS to match what was intended by the job file.
> Varied the flow_watermark and flow_sleep parameters and observed
> the effect on throughput.

I like this, it's definitely a useful feature. Any chance I could talk
you into finishing the patch? You could have a flow_id= option, and then
move the flow storage to being smalloc() backed.

-- 
Jens Axboe


  reply	other threads:[~2012-02-20  9:17 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-17  1:27 [RFC] fio: Token-based flow control Dan Ehrenberg
2012-02-20  9:15 ` Jens Axboe [this message]
2012-02-20 10:09   ` Jens Axboe
2012-02-22  2:32     ` Daniel Ehrenberg

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=4F420F34.9070902@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=dehrenberg@google.com \
    --cc=egouriou@google.com \
    --cc=fio@vger.kernel.org \
    --cc=nauman@google.com \
    --cc=tirea@google.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