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
next prev parent 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