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

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

 



Thanks for the improvement there, Jens. With the bug fix patch I just
mailed, it works for me.

Dan

On Mon, Feb 20, 2012 at 2:09 AM, Jens Axboe <axboe@xxxxxxxxx> wrote:
> On 02/20/2012 10:15 AM, Jens Axboe wrote:
>> 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.
>
> Since I'm in such a good mood today, I did it myself. See:
>
> http://git.kernel.dk/?p=fio.git;a=commit;h=9e684a4976b7934f5ce011ea281dfef3352e5738
>
> It's your patch, just with a bit of glue to support arbitrary flows. If
> you can confirm it still works for you, I'd appreciateit :-)
>
> --
> 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
--
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