cbt icon indicating copy to clipboard operation
cbt copied to clipboard

Extend librbdfio.py with a new workloads block. Add minor fixes.

Open perezjosibm opened this issue 1 year ago • 6 comments

This is my first PR, please be gentle in the review. We add the following new features into the CBT for the benchmark librbdfio:

  • Extend the test plan .yml with a new block section 'workloads' to allow a list of performance tests to be indicated, each with its own range of iodepth and numjobs to iterate. An example of this is provided in example/rbd_fio_test.yml

  • Extend librbdfio.py with support for such 'workloads' block.

New workloads block

The value of this new workloads block is to allow a finer description of a test job, for example, indicating a range for the iodepth and numjobs FIO parameters, as well as whether to monitor the execution (eg. with perf, top, or collectl). This allow the collection of measurements for computing a response curve. Here is a snippet that describes:

  • a precondition phase consisting on a random write workload, that is not being monitored, then
  • a random read workload over the ranges indicated for the FIO parameters numjobs and iodepth
  • a random write workload.
 workloads:
    precond1:
      jobname: 'precond1rw'
      mode: 'randwrite'
      numjobs: [ 1 ]
      iodepth: [ 8 ]
      monitor: False
    test1:
      jobname: 'rr'
      mode: 'randread'
      numjobs: [ 1, 4, 8 ]
      iodepth: [ 1, 4, 16]
    test2:
      jobname: 'rw'
      mode: 'randwrite'
      numjobs: [ 4 ]
      iodepth: [ 16 ]

The following snippet shows the execution of the precondition phase: Screenshot 2024-05-07 at 16 07 38

The following snippet shows the execution of the tests1 and 2: Screenshot 2024-05-07 at 16 08 14

The following snippet shows the resulting files from the execution of the test: Screenshot 2024-05-13 at 11 56 20

perezjosibm avatar May 02 '24 13:05 perezjosibm

@markhpc : here is my PR for the CBT extensions, would you be able to review please? thanks!

perezjosibm avatar May 15 '24 09:05 perezjosibm

@perezjosibm I have started taking a look at this. Please allow me some time to understand the changes. I plan to complete the review by the end of this week or in the worst case early next week due to the long weekend here.

sseshasa avatar May 22 '24 14:05 sseshasa

I have added my first set of review comments. Will continue the review.

Hmm...looks like my initial comments were lost. I will add them again. Sorry about that.

sseshasa avatar May 30 '24 08:05 sseshasa

Tested the remote path by running CBT from my laptop, connecting to the remote nodes: Screenshot 2024-06-05 at 12 51 09

perezjosibm avatar Jun 05 '24 15:06 perezjosibm

Apologies, I just fixed some subtle bugs I introduced when doing the changes that didn't show up in the preliminary tests, I need to push the fixes again, sorry for the disturbance!

perezjosibm avatar Jun 05 '24 19:06 perezjosibm

Hi @sseshasa changes are ready for review please, many thanks!

perezjosibm avatar Jun 06 '24 09:06 perezjosibm

Hi @Matan-B wonder if you could please review/approve this PR?, Thanks

perezjosibm avatar Jul 22 '24 16:07 perezjosibm