You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
testing: improved stream synthesis and cores use in router benchmark (scionproto#4457)
* testing: improved stream synthesis in router benchmark
Changes:
* Update the flowID of packets (and a couple of checksums) on the fly (just before
sending) as opposed to pre-constructing a different packet for each stream.
* As a result, the test cases are simplified, they no-longer need to provide one
packet per flowID.
* In passing, deleted the dumping of /proc/cpuinfo in the log. That has served its purpose.
* In the test harness, left in the form of comments, a suggestion of core partitioning. Not
sure how to apply that in general. This is what provides the best results on my machine.
* testing: simplify the checksum updates out of the blaster.
Also enable core-partitioning to see how it behaves on the CI system.
* testing: Add check for proper saturation in the router benchmark.
In passing: fixed a couple of function names (camel-> snake)
* testing: fix expectation for droppage in the router benchmark
Was expressed in pkts instead of %.
* testing: cosmetic change to the output of expected drop ratio.
* testing: linter friendship
* testing: include a cpu selection in the router benchmark
Also: fixed the broken prom query string.
* testing: please the linter.
* testing: log lscpus on the CI system.
* testing: fix bad string formating.
* testing: Improve core selection in the router benchmark.
Added L2 cache criteria. The test harness will prefer configuration where either cores share no L2 cache or all cores share the same one.
* testing: make the router benchmark test harness compatible with more variants
of lscpu (hopefully).
* testing: log the CPU serial number in the router benchmark.
This is done as an attempt at detecting live migration.
* build: added dmidecode as a required package.
* build: Complete the list of files that affect the list of packages to install.
Three files were missing, most notably the pkgs.txt files which are typically the ones
modified when adding a dependency. As a result new packages weren't getting installed.
* build: Delete use of dmidecode.
This proved useless as a means of spotting migrations. The information doesn't
even change from instance to instance.
* build: fix trailing blank line.
* router: reduce the benchmarks expectations for saturation.
After fixing an arithmetic error, it seems we are not able to reliably cause the
router to drop more than 1% of the packets (and then sometimes no even that).
Until we figure out how to reach higher levels, making sure that other PRs
aren't blocked.
* testing: fixed bugs in router_benchmark core selection code.
* testing: update the expectations of the router benchmark.
After switching to non-overbooked aws instances, performance has become much better
and repeatable.
0 commit comments