fio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Surbhi Palande <csurbhi@gmail.com>
To: fio@vger.kernel.org
Subject: Requesting help with random I/O distribution
Date: Thu, 8 Jun 2023 18:11:54 -0700	[thread overview]
Message-ID: <CAMBkX3dN8d5kSNUDpPBBmx34+Ov7JzgK=dmgwAfeAaecLX+-7A@mail.gmail.com> (raw)

Hi All,

I am trying to performance test my device mapper for zoned devices; I
am trying to repliate the 80 - 20 principle for I/O. I understand that
this can be done in the following three ways using fio.

a) zoned - simplest of the three :
zoned:80/20:20/80
However, this restricts the first 20% space to get 80% of the I/O and
vice versa. The good thing though is that zoned distribution can be
used to achieve a russian doll effect.

b) zipf:1.2

I used fio-genzipf to visualize the random I/O pattern:
fio-genzipf -t zipf -i 1.2 -b 4096 -g 100GiB
Generating Zipf distribution with 1.200000 input and 100 GiB size and
4096 block_size.

   Rows           Hits %         Sum %           # Hits          Size
-----------------------------------------------------------------------
Top   5.00% 93.31% 93.31% 24459924 93.31G
|->  10.00%  1.34% 94.65%  352314  1.34G
|->  15.00%  0.77% 95.42%  201010 785.20M
|->  20.00%  0.51% 95.92%  132667 518.23M
|->  25.00%  0.47% 96.39%  122386 478.07M
|->  30.00%  0.34% 96.73%   89402 349.23M
|->  35.00%  0.23% 96.97%   61193 239.04M
|->  40.00%  0.23% 97.20%   61193 239.04M
|->  45.00%  0.23% 97.43%   61193 239.04M
|->  50.00%  0.23% 97.67%   61193 239.04M
|->  55.00%  0.23% 97.90%   61193 239.04M
|->  60.00%  0.23% 98.13%   61193 239.04M
|->  65.00%  0.23% 98.37%   61193 239.04M
|->  70.00%  0.23% 98.60%   61193 239.04M
|->  75.00%  0.23% 98.83%   61193 239.04M
|->  80.00%  0.23% 99.07%   61193 239.04M
|->  85.00%  0.23% 99.30%   61193 239.04M
|->  90.00%  0.23% 99.53%   61193 239.04M
|->  95.00%  0.23% 99.77%   61193 239.04M
|-> 100.00%  0.23% 100.00%   61188 239.02M
-----------------------------------------------------------------------
Total 26214400

I need help with this interpretation. Does this mean that 5% of the
LBAs get 93.31% hits, the next 5% gets 1.34% etc. It seems that way to
me.
However, this does not have the Russian doll effect  - ie the 5% of
the rest of 95% does not get the rest of ~93% I/O.

Is the 5% range - scattered over the disk or is this similar to zoned
distribution, in that a contiguous
space gets the 93% I/O. In that case, this is similar to zoned
distribution, right?

c)  pareto -
fio-genzipf -t pareto -i 0.04 -b 4096 -g 100GiB
Generating Pareto distribution with 0.040000 input and 100 GiB size
and 4096 block_size.

   Rows           Hits %         Sum %           # Hits          Size
-----------------------------------------------------------------------
Top   5.00% 93.04% 93.04% 24388831 93.04G
|->  10.00%  0.99% 94.02%  259143 1012.28M
|->  15.00%  0.60% 94.63%  158285 618.30M
|->  20.00%  0.59% 95.22%  154826 604.79M
|->  25.00%  0.35% 95.57%   92138 359.91M
|->  30.00%  0.30% 95.87%   77413 302.39M
|->  35.00%  0.30% 96.16%   77413 302.39M
|->  40.00%  0.30% 96.46%   77413 302.39M
|->  45.00%  0.30% 96.75%   77413 302.39M
|->  50.00%  0.30% 97.05%   77413 302.39M
|->  55.00%  0.30% 97.34%   77413 302.39M
|->  60.00%  0.30% 97.64%   77413 302.39M
|->  65.00%  0.30% 97.93%   77413 302.39M
|->  70.00%  0.30% 98.23%   77413 302.39M
|->  75.00%  0.30% 98.52%   77413 302.39M
|->  80.00%  0.30% 98.82%   77413 302.39M
|->  85.00%  0.30% 99.11%   77413 302.39M
|->  90.00%  0.30% 99.41%   77413 302.39M
|->  95.00%  0.30% 99.70%   77413 302.39M
|-> 100.00%  0.30% 100.00%   77395 302.32M
-----------------------------------------------------------------------
Total 26214400

This to me looks pretty much similar to the zipf distribution above.

Is this understanding correct ? Or am I missing something here?
Thanks a lot for your help!

             reply	other threads:[~2023-06-09  1:12 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-09  1:11 Surbhi Palande [this message]
2023-06-16 20:28 ` Requesting help with random I/O distribution Vincent Fu

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='CAMBkX3dN8d5kSNUDpPBBmx34+Ov7JzgK=dmgwAfeAaecLX+-7A@mail.gmail.com' \
    --to=csurbhi@gmail.com \
    --cc=fio@vger.kernel.org \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).