Skip to content

snoop: benchmark in parallel

Ilias Garnier requested to merge igarnier-snoop-cpu-pinning into master

Context

This MR allows to perform benchmarks in parallel. The tool automatically pins the master process and worker processes on distinct cores.

Some notes:

  • this only works on Linux (dynamic checks prevent using this new feature on non-Linux platforms)
  • Depends on !5496 (merged)

TODO:

  • Assess adverse effects

Benchmarking in parallel should be avoided, except for long-running workloads where the added variability is negligible in front of the total execution time. Another reason to merge this MR despite disappointing results is that performing measurements in a dedicated process separated from the main one reduces variability.

Manually testing the MR

./tezos-snoop benchmark Blake2b_example and save to blake2b_full.workload --bench-num 300 --nsamples 50 --ncores 4                                                                                     

Checklist

  • Document the interface of any function added or modified (see the coding guidelines)
  • Document any change to the user interface, including configuration parameters (see node configuration)
  • Provide automatic testing (see the testing guide).
  • For new features and bug fixes, add an item in the appropriate changelog (docs/protocols/alpha.rst for the protocol and the environment, CHANGES.rst at the root of the repository for everything else).
  • Select suitable reviewers using the Reviewers field below.
  • Select as Assignee the next person who should take action on that MR
Edited by Ilias Garnier

Merge request reports