10 stable releases

2.2.5 Mar 14, 2024
2.2.4 Feb 14, 2024
2.2.3 Jun 28, 2022
2.2.2 May 26, 2022
2.0.0 Jun 24, 2021

#439 in Filesystem

Download history 88/week @ 2024-08-29 75/week @ 2024-09-05 99/week @ 2024-09-12 176/week @ 2024-09-19 275/week @ 2024-09-26 202/week @ 2024-10-03 138/week @ 2024-10-10 164/week @ 2024-10-17 153/week @ 2024-10-24 83/week @ 2024-10-31 66/week @ 2024-11-07 135/week @ 2024-11-14 141/week @ 2024-11-21 94/week @ 2024-11-28 138/week @ 2024-12-05 139/week @ 2024-12-12

530 downloads per month

Apache-2.0

450KB
12K SLoC

Rust 10K SLoC // 0.0% comments Python 1.5K SLoC // 0.1% comments Shell 32 SLoC // 0.2% comments

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

Dependencies

~13–42MB
~684K SLoC