Releases: facebookexperimental/resctl-demo
Releases · facebookexperimental/resctl-demo
v2.2.5
v2.1.3
v2.2.4
What's Changed
- Update version to 2.2.4. This isn't a release yet. by @htejun in #280
- Handle missing solutions on high level formatting by @kov in #281
- bench: study: Gracefully handle 0 or 1 latency data point situations by @htejun in #282
- bench: fix build breakage caused by a typo by @htejun in #283
- bench: Adding version information to result header by @saravan2 in #285
- Add a hwdb format option by @kov in #279
- Hwdb adjustments by @kov in #286
- hwdb: add option to generate for specific fwrev by @kov in #287
- cargo update by @htejun in #288
- Check if
record
is set before parsing the field by @TiChuot97 in #289 - Fixed crashes when result file contains insufficient data point by @TiChuot97 in #290
- [IO info] Add firmware by @saravan2 in #291
- New workflow to deploy the lambda function by @kov in #261
- Update to latest AWS sdk and fix deserialize issue by @santoshmahto7 in #292
- Enable resctl-bench log dumping to file. by @santoshmahto7 in #293
- Dependency updates and build warning fixes by @htejun in #295
- cargo fmt by @htejun in #296
- resctl-bench: update S3 bucket in the lamba by @davide125 in #297
- Wait for memory balloon allocation by @lnyng in #299
- Integrate github app workflow with lambda. by @santoshmahto7 in #302
- Move development version(main branch) from 2.2.4 to 2.2.5 by @santoshmahto7 in #303
New Contributors
- @TiChuot97 made their first contribution in #289
- @santoshmahto7 made their first contribution in #292
- @lnyng made their first contribution in #299
Full Changelog: v2.2.3...v2.2.4
Bug fix for single data point handling in iocost_tune benchmark
iocost_tune aborts with the following when a data series has one data point:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: invalid input order (DataPoint { x: 122.03, y: 0.94 }, DataPoint { x: 122.03, y: 0.94 })', /home/demo/.cargo/registry/src/github.com-1ecc6299db9ec823/resctl-bench-2.2.2/src/bench/iocost_tune.rs:1633:18
Fix it by fitting a flat line (or dot) on the single data point.
Trim devices before iocost param benchmark and other fixes
- Trim devices before the baseline iocost param benchmark to avoid bi-modal behaviors on some SSDs. This will lead to more consistently optimistic baseline which is what we want for the follow up iocost-tune benchmark.
- Fix a couple iocost-tune bugs around empty data series handling and pdf generation.
Use none iosched instead of mq-deadline
mq-deadline doesn't have any tangible benefits of none especially on ssds but it does get in the way on high iops devices. Use the none scheduler instead.
iocost-tune benchmark improvements
- The aMOF criterion was isol-01 being above 90%. This turned out to be too strict for many devices leading to overly pessimistic solutions or no solutions on lower end devices. Another problem is that it made the benchmark too sensitive to disturbances which may not be coming from the IO device. Relax the criterion to isol-05, which still provides a pretty strong guarantee while making the benchmark more robust.
- aMOF is one of the most important metrics that iocost-tune uses in determining the parameter solutions. However, because of the limited line fitting that it could do, it wasn't well utilized - e.g. some, usually high performing, devices show aMOF data points which peak in the middle, which fits the isolated-bandwidth solution perfectly. However, due to the limitations in line fitting, we couldn't detect this mid peak and instead relied on lat-imp which is a lot less reliable. Line fitting is improved to address this shortcoming.
resctl-bench merge fixes and improvements
- Fix bench merge mode rejecting sources spuriously on ignored sysreqs.
- Improve visibility on merge fails.
- Merge now only cares about the major and minor semantic versions and will
try merging results from e.g. 2.1.0, 2.1.1 and 2.1.2 together by default. - CHANGELOG added.
Fix version tags and dependencies
Versions weren't updated when cutting v2.1. Fix them up.
resctl-bench refinements
resctl-bench
- Shadow inode protection testing is now skipped on known good kernels.
- mem-profile now scales the target RPS for fake-cpu-load hashd benchmarks so that higher mem-profile can be used to make storage benchmarks tougher.
- iocost-tune solutions were too pessimistic. Updated solution rules.