All of lore.kernel.org
 help / color / mirror / Atom feed
From: Srinath Krishna Ananthakrishnan <ska@datera.io>
To: Sitsofe Wheeler <sitsofe@gmail.com>
Cc: "fio@vger.kernel.org" <fio@vger.kernel.org>
Subject: Re: Compression options in fio
Date: Thu, 30 Jun 2016 16:23:10 -0700	[thread overview]
Message-ID: <CAOkRmknM3=3XRDCtBTQeC7HgnMjuzBjzf4F-Th_CUTnRUpgvSg@mail.gmail.com> (raw)
In-Reply-To: <CALjAwxh+rnpX0TsXvCnPA_A_dPGAbS=FBAD-fSB=Gds_szzeQQ@mail.gmail.com>

On Thu, Jun 30, 2016 at 1:43 PM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
> Could you bottom post replies? It makes things a bit easier here...
>

Sorry about that.

>> On Thu, Jun 30, 2016 at 10:58 AM, Srinath Krishna Ananthakrishnan
>> <ska@datera.io> wrote:
>>> I don't want fio to vary the data and need it to be more deterministic.
>
> Don't forget you can use can also use randseed to generate the same
> random data between invocations.
>
>>> After playing with it for quite some time, I have the following
>>> (inconclusive) theory.
>>>
>>> 1. If no verify options are set, fio generates
>>> buffer_compress_percentage worth of compressible data per block size.
>>> Compressible data is always zeroed out.
>>> 2. With verify options, fio generates buffer_compress_percentage worth
>>> of compressible data (zeroes) for some blocks but there are these
>>> bunch of blocks from time to time that contain purely random data.
>
> You can inspect the source code directly (e.g.
> https://github.com/axboe/fio/blob/8c07860de982fabaaf41d44c22aa86aba2539b58/io_u.c#L2031
> ) to find out what's happening.
>
>>> From the manual, verify options add additional meta data to the header
>>> of every block for verification but I'm not sure why some blocks turn
>>> out to be completely random with this setting on. I tried multiple
>>> verify hashes with the same result.
>>>
>>> With either of the cases, I don't seem to get the buffer_pattern
>>> setting working.
>
> I don't quite see the behaviour you describe. I used the following
> with the latest git fio on x86_64:
> [global]
> randrepeat=1
> ioengine=sync
> iodepth=64
> iodepth_batch=16
> direct=1
> numjobs=1
> verify_fatal=1
> verify_dump=1
> filename=./my_file
>
> [small_write]
> rw=write
> blocksize=4k
> size=100M
> verify=crc32c-intel
> buffer_compress_percentage=50
> buffer_pattern=0xdeadbeef
>
> Using hexdump showed an initial header followed by random data up to
> 0x800 and from 0x801 to 0xfff was the pattern deadbeef (in binary). So
> 50% of the block was the header + random and the other 50% was the
> buffer_pattern I specified. Bear in mind that if something were to
> compress these blocks it would likely get better than 50% compression
> because the repeating deadbeef pattern is itself highly
> compressible...
>
> On 30 June 2016 at 19:35, Srinath Krishna Ananthakrishnan <ska@datera.io> wrote:
>> Another idiosyncrasy that I observed was,
>>
>> With rw=write, compression options are not heeded. They seem to work only rw=rw.
>> Thanks,
>> Srinath
>
> See the above job file where I used rw=write. Are you using a git
> version of fio?

I just tried on the tip of the branch fio and it works. The fio
version I was using was 2.1.10 which is quite old. I believe these
issues have been addressed in the more recent versions. Thanks
Sitsofe.

>
> --
> Sitsofe | http://sucs.org/~sits/

      reply	other threads:[~2016-06-30 23:31 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-27 20:41 Compression options in fio Srinath Krishna Ananthakrishnan
2016-06-28  5:16 ` Sitsofe Wheeler
2016-06-30 17:58   ` Srinath Krishna Ananthakrishnan
2016-06-30 18:35     ` Srinath Krishna Ananthakrishnan
2016-06-30 20:43       ` Sitsofe Wheeler
2016-06-30 23:23         ` Srinath Krishna Ananthakrishnan [this message]

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='CAOkRmknM3=3XRDCtBTQeC7HgnMjuzBjzf4F-Th_CUTnRUpgvSg@mail.gmail.com' \
    --to=ska@datera.io \
    --cc=fio@vger.kernel.org \
    --cc=sitsofe@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.