Hi Daniel,
What am i doing is to simulate the ANTUTU benchmark on android 5.1.
We learned that ANTUTU benchmark do the below things sequentially in
the same process.
1) first sequentially write to a file with bs=8KB. the file's size is 16M.
2) after write finish, then read the same file from the begin to the
end with bs=4KB.
3) after 2) finish, then sequentially overwrite to the same file with
bs=4KB, total size is 16M too,
and every 4096 requests do a fsync.
all done with in the same process.
I have construct one job file to simulate that process. like:
--cut--
[antutu_io_first_write]
ioengine=sync
size=16m
numjobs=1
bs=8k
ba=4k
rw=write
gtod_reduce=1
disk_util=1
name=antutu_io_first_write
filename=/data/antutu_test
stonewall
[antutu_io_first_read]
ioengine=sync
size=16m
numjobs=1
bs=8k
ba=4k
rw=read
gtod_reduce=1
disk_util=1
name=antutu_io_first_read
filename=/data/antutu_test
stonewall
[antutu_io_second_write]
ioengine=sync
size=16m
numjobs=1
bs=4k
ba=4k
rw=write
gtod_reduce=1
disk_util=1
name=antutu_io_second_write
filename=/data/antutu_test
fsync=4096
stonewall
--cut--
But result is:
--cut--
antutu_io_first_write: (groupid=0, jobs=1): err= 0: pid=1451: Sat Feb
4 20:05:04 2012
write: io=16384KB, bw=54613KB/s, iops=6826, runt= 300msec
cpu : usr=3.33%, sys=93.33%, ctx=13, majf=0, minf=25
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=2048/d=0, short=r=0/w=0/d=0
latency : target=0, window=0, percentile=100.00%, depth=1
antutu_io_first_read: (groupid=1, jobs=1): err= 0: pid=1452: Sat Feb
4 20:05:04 2012
read : io=16384KB, bw=287439KB/s, iops=35929, runt= 57msec
cpu : usr=17.86%, sys=53.57%, ctx=7, majf=0, minf=27
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=2048/w=0/d=0, short=r=0/w=0/d=0
latency : target=0, window=0, percentile=100.00%, depth=1
antutu_io_second_write: (groupid=2, jobs=1): err= 0: pid=1453: Sat Feb
4 20:05:04 2012
write: io=16384KB, bw=45011KB/s, iops=11252, runt= 364msec
cpu : usr=16.48%, sys=74.18%, ctx=34, majf=0, minf=24
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=4096/d=0, short=r=0/w=0/d=0
latency : target=0, window=0, percentile=100.00%, depth=1
--cut--
Obviously it can not satisfy my demand. It forks 3 processes(
pid=1451, pid=1452, pid=1453) to finish these jobs.
I want to do all these actions in just one process.
Any clue?
Thanks in advance!
John Gong
On Thu, Jul 9, 2015 at 3:00 PM, danielabuggie . <[email protected]> wrote:
> Unfortunately, I don't think there is an option then that will
> precisely do what you are asking then. Perhaps if you clarify more
> about what you are looking to test someone can help you approximate it
> better.
>
> Some suggestions though for you to look into:
> * Use a randrw process with percentage_random set to an appropriate
> value to control roughly how many blocks would be read before seeking.
>
> * Also a randrw process with bssplit set to a mix of small and large
> blocks sizes would make "random" IO intermittently more sequential.
>
> Daniel
>
> On Wed, Jul 8, 2015 at 11:08 PM, john gong <[email protected]> wrote:
>> hi Daniel,
>>
>> Thanks for your suggestion.
>>
>> "stonewall" can not solve my problem. "stonewall" just enforce the
>> processes which do the exact jobs run sequentially.
>> But what I want to do is that all things be done in one process, not
>> with one jobfile.
>>
>> B.R.
>>
>> On Thu, Jul 9, 2015 at 1:21 PM, danielabuggie . <[email protected]>
>> wrote:
>>> So you want to run them all with one jobfile, but sequentially and not
>>> simultaneously?
>>>
>>> In that case, stonewall is the option you want to add.
>>>
>>> Daniel
>>>
>>> On Wed, Jul 8, 2015 at 9:02 PM, john gong <[email protected]> wrote:
>>>> hello Kulkarni & Alireza,
>>>>
>>>> Thanks for your attentions.
>>>> tiobench-example.fio will spawn 16 processes, each job consumes 4
>>>> processes.
>>>> But what i want is all things defined in the job description be done
>>>> in one process.
>>>> For example, executes below job description
>>>> --cut--
>>>> [global]
>>>> engine=sync
>>>> filename=/data/test
>>>> size=100m
>>>> [job1]
>>>> rw=write
>>>> stonewall
>>>> [job2]
>>>> rw=read
>>>> stonewall
>>>> [job3]
>>>> rw=randwrite
>>>> stonewall
>>>> [job4]
>>>> rw=randread
>>>> stonewall
>>>> --cut--
>>>>
>>>> This job description can satisfy the demand of sequential execute, but
>>>> they will be done in 4 different processes.
>>>> What i want is all things be done in the same process sequentilly.
>>>>
>>>> B.R.
>>>>
>>>> John.Gong
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Thu, Jul 9, 2015 at 11:19 AM, Kulkarni, Vasu <[email protected]>
>>>> wrote:
>>>>> Here's one example with 4 jobs which you can customize
>>>>> https://github.com/axboe/fio/blob/master/examples/tiobench-example.fio
>>>>>
>>>>>
>>>>> On Wed, Jul 8, 2015 at 6:55 PM, john gong <[email protected]> wrote:
>>>>>> hello All,
>>>>>>
>>>>>> I wonder whether FIO can do below things in the same job?
>>>>>> 1) sequential write
>>>>>> 2) sequential read
>>>>>> 3) randomly write
>>>>>> 4) randomly read
>>>>>>
>>>>>> Namely FIO do not need to spawn other processes to do the things
>>>>>> respectively.
>>>>>> All things will be done in the same process.
>>>>>>
>>>>>> Thanks in advance!
>>>>>>
>>>>>> John.Gong
>>>>>> --
>>>>>> To unsubscribe from this list: send the line "unsubscribe fio" in
>>>>>> the body of a message to [email protected]
>>>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> A ship is safer in a harbor. But that's not what ships are built for.
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe fio" in
>>>> the body of a message to [email protected]
>>>> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html