rd-agent 2.2.4

Management agent for resctl-demo

# Resource-control demo agent

`rd-agent` orchestrates resource control demo and benchmark scenarios
end-to-end. It runs benchmarks to establish the baseline, manages `rd-hashd`
instances as the primary workloads, simulates resource conflicts with other
workloads, and monitors the system and workloads to generate detailed
reports.

Comprehensive resource control requires a number of components closely
working together. `rd-agent` will check all the needed features and try to
configure the system as necessary, and report all the missing pieces. The
following basic system configuration is expected.

* The root filesystem must be btrfs and on a physical device (not md or dm).

* Swap must be on the same device as root filesystem larger than half the
  memory. Swapfile on the root filesystem is preferred.

* The scratch directory must be on the root filesystem.

* `systemd` is the system agent and using cgroup2.

Some of the system configuration failures can be ignored with `--force`.
However, resource isolation may not work as expected.

Configurations, commanding and reporting happen through json files under
`/var/lib/resctl-demo` by default. All files used by workloads are under the
`scratch` sub-directory. Take a look at `index.json` and `cmd.json` if you
want to explore the control files.

`rd-agent` is usually used as a part of `resctl-demo` or `resctl-bench`. For
more information on the containing projects, visit:

  https://github.com/facebookexperimental/resctl-demo