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: