All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dennis Zhou <dennis@kernel.org>
To: Jens Axboe <axboe@kernel.dk>
Cc: Tejun Heo <tj@kernel.org>, Andy Newell <newella@fb.com>,
	fio@vger.kernel.org, kernel-team@fb.com,
	Dennis Zhou <dennis@kernel.org>
Subject: [PATCH v2 0/4] add option to interleave blktraces
Date: Thu, 20 Sep 2018 14:08:06 -0400	[thread overview]
Message-ID: <20180920180810.70608-1-dennis@kernel.org> (raw)

Hi everyone,

Updates with v2:
 - Added documentation for all patches in fio.1 and HOWTO
 - Added to thread_options_pack and cconv.c
 - Bumped the FIO_SERVER_VER number accordingly

From v1:
---
Understanding how a workload performs on different devices has been
nice and easy given the infrastructure around blktrace, blkparse, and
fio. Given a blktrace, fio can rerun that workload on a different drive.

Exploring colocation is a little tricker, but doable via adding multiple
jobs in fio. An issue here is that the scheduler can influence the
performance of each run as each job is async.

This patchset adds the ability to pass multiple blktrace binary dumps to
"--read_iolog" as colon separated paths and then performs simple
timestamp merging between the traces. Two additional parameters are
added, "--merge_blktrace_scalars" and "--merge_blktrace_iters", to allow
for scaling a particular trace and adjusting the number of iterations
respectively.

In an example, given two 60s blktraces, A and B. Imagine we want to see
how trace A would perform if we slowed it down by 50%. We can experiment
here with --merge_blktrace_scalars="200:100" and
--merge_blktrace_iters="1:2". This says to run the first blktrace over
200% of the time and the second at 100% running the first for a single
iteration and the second for 2 iterations. This puts the overall runtime
at 120s for each trace.

This patchset includes the following 4 patches:
  0001-options-rename-name-string-operations-for-more-gener.patch
  0002-blktrace-add-support-to-interleave-blktrace-files.patch
  0003-blktrace-add-option-to-scale-a-trace.patch
  0004-blktrace-add-option-to-iterate-over-a-trace-multiple.patch

0001 renames some string parsing functions to be more generic.
0002 adds basic merging support. 0003 adds merge_blktrace_scalars.
0004 adds merge_blktrace_iters.

diffstats below:

Dennis Zhou (4):
  options: rename name string operations for more general use
  blktrace: add support to interleave blktrace files
  blktrace: add option to scale a trace
  blktrace: add option to iterate over a trace multiple times

 HOWTO            |  71 ++++++++++++++++
 blktrace.c       | 210 +++++++++++++++++++++++++++++++++++++++++++++++
 blktrace.h       |  17 ++++
 cconv.c          |  15 ++++
 fio.1            |  66 +++++++++++++++
 init.c           |  21 +++++
 options.c        |  47 +++++++++--
 options.h        |   2 +
 server.h         |   2 +-
 thread_options.h |   6 ++
 10 files changed, 447 insertions(+), 10 deletions(-)

Thanks,
Dennis


             reply	other threads:[~2018-09-20 23:53 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-20 18:08 Dennis Zhou [this message]
2018-09-20 18:08 ` [PATCH 1/4] options: rename name string operations for more general use Dennis Zhou
2018-09-20 18:08 ` [PATCH 2/4] blktrace: add support to interleave blktrace files Dennis Zhou
2018-09-20 18:08 ` [PATCH 3/4] blktrace: add option to scale a trace Dennis Zhou
2018-09-20 18:08 ` [PATCH 4/4] blktrace: add option to iterate over a trace multiple times Dennis Zhou
2018-09-20 19:08 ` [PATCH v2 0/4] add option to interleave blktraces Jens Axboe

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=20180920180810.70608-1-dennis@kernel.org \
    --to=dennis@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=fio@vger.kernel.org \
    --cc=kernel-team@fb.com \
    --cc=newella@fb.com \
    --cc=tj@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 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.