Re: [RFC] fio: Token-based flow control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux